Суть проблемы:
Есть скрипт, который проверят, работает ли тор-сервер, проверяет чтением его пида. Читает он из пид-файла, который создается при запуске и права на чтение имеет только рут. Флагов типа -p --password у судо в мане не нашел.
Запускать скрипт от рута совсем не хочется, из оставшихся вариантов - убрать у своего пользователя запрос пароля на судо в конфиге, второй это изобразить что-то вроде sudo make /some/actions < (echo password).
Первый вариант совсем не подходит, пароль надо держать для всех, мало ли кто куда нажмет. А вот во втором случае я не очень силен в синтаксисе.
Подскажите плиз, как мне авторизовать скрипт в неинтерактивном режиме? Авторизовать его надо для одной команды - cat /pid-file
sudo, указать пароль (без конфигов)
Модераторы: /dev/random, Модераторы разделов
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: sudo, указать пароль
Всё-таки разрешить в конфиге беспарольный запуск только того, что надо, только тем, кому надо — гораздо правильнее. Заметьте, не всего подряд, а только того, что надо.
Но если очень хочется анальных извращений, то echo password | sudo -S make /some/actions или sudo -S make /som/actions <password-file.
Мои розовые очки
Спасибо сказали:
-
/dev/random
- Администратор
- Сообщения: 5427
- ОС: Gentoo
Re: sudo, указать пароль
У sudo есть возможность убрать пароль только для фиксированного набора команд, а для остальных спрашивать.
А вот хранить пароль в скрипте - это самая идиотская с точки зрения безопасности идея, которая только могла прийти в голову.
Это не поможет, sudo читает пароль только с терминала. Тут нужен expect.
А вот хранить пароль в скрипте - это самая идиотская с точки зрения безопасности идея, которая только могла прийти в голову.
watashiwa_daredeska писал(а): ↑28.04.2010 11:36Но если очень хочется анальных извращений, то echo password | sudo -S make /some/actions или sudo -S make /som/actions <password-file.
Это не поможет, sudo читает пароль только с терминала. Тут нужен expect.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: sudo, указать пароль
Или я английский после бессонной ночи перестал понимать? :)(man sudo) писал(а):-S The -S (stdin) option causes sudo to read the password
from the standard input instead of the terminal device.
The password must be followed by a newline character.
Мои розовые очки
-
snikolaev
- Сообщения: 195
- ОС: Все подряд
Re: sudo, указать пароль
watashiwa_darede... спасибо, работает.
По другому никак. Комп постоянно работает, что-то делает, а вечером мои приходят со школ/работ и начинаются одноклассники/контакты и т.п. Поэтому даже моего юзера нельзя без пароля оставлять.
-
/dev/random
- Администратор
- Сообщения: 5427
- ОС: Gentoo
Re: sudo, указать пароль
watashiwa_daredeska писал(а): ↑28.04.2010 11:46Или я английский после бессонной ночи перестал понимать?(man sudo) писал(а):-S The -S (stdin) option causes sudo to read the password
from the standard input instead of the terminal device.
The password must be followed by a newline character.
Да, я ошибся.
Как я уже сказал, пароль можно убрать для фиксированного набора команд, оставив для остальных.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: sudo, указать пароль
Не надо юзера, надо разрешить заранее заданным пользователям запускать только заранее заданные команды с заранее определенными аргументами без пароля. Для запуска других команд или при запуске другими пользователями пароль спрашиваться будет.
Shell
root@localhost# cat /etc/sudoers
Cmnd_Alias LS = /bin/ls /root, /bin/ls /tmp
...
user ALL = (root) NOPASSWD: LS
...
user@localhost$ sudo ls /root
tmp
user@localhost$ sudo ls /tmp
tmp.asYSBL7B2R tmp.v7KqPT84UD
...
user@localhost$ sudo ls -l /root
[sudo] password for user:
another@localhost@ sudo ls /root
[sudo] password for another:Мои розовые очки
Спасибо сказали:
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: sudo, указать пароль
а почему нельзя сменить это право? или посмотреть нужный pid командой ps uax