sudo, указать пароль (без конфигов)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

snikolaev
Сообщения: 195
ОС: Все подряд

sudo, указать пароль

Сообщение snikolaev »

Суть проблемы:
Есть скрипт, который проверят, работает ли тор-сервер, проверяет чтением его пида. Читает он из пид-файла, который создается при запуске и права на чтение имеет только рут. Флагов типа -p --password у судо в мане не нашел.
Запускать скрипт от рута совсем не хочется, из оставшихся вариантов - убрать у своего пользователя запрос пароля на судо в конфиге, второй это изобразить что-то вроде sudo make /some/actions < (echo password).
Первый вариант совсем не подходит, пароль надо держать для всех, мало ли кто куда нажмет. А вот во втором случае я не очень силен в синтаксисе.
Подскажите плиз, как мне авторизовать скрипт в неинтерактивном режиме? Авторизовать его надо для одной команды - cat /pid-file
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: sudo, указать пароль

Сообщение watashiwa_daredeska »

Всё-таки разрешить в конфиге беспарольный запуск только того, что надо, только тем, кому надо — гораздо правильнее. Заметьте, не всего подряд, а только того, что надо.

snikolaev писал(а):
28.04.2010 11:21
sudo make /some/actions < (echo password)
Но если очень хочется анальных извращений, то echo password | sudo -S make /some/actions или sudo -S make /som/actions <password-file.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: sudo, указать пароль

Сообщение /dev/random »

У sudo есть возможность убрать пароль только для фиксированного набора команд, а для остальных спрашивать.

А вот хранить пароль в скрипте - это самая идиотская с точки зрения безопасности идея, которая только могла прийти в голову.

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, указать пароль

Сообщение watashiwa_daredeska »

/dev/random писал(а):
28.04.2010 11:43
Это не поможет, 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, указать пароль

Сообщение snikolaev »

watashiwa_darede... спасибо, работает.
watashiwa_darede... писал(а):
28.04.2010 11:36
Но если очень хочется анальных извращений
По другому никак. Комп постоянно работает, что-то делает, а вечером мои приходят со школ/работ и начинаются одноклассники/контакты и т.п. Поэтому даже моего юзера нельзя без пароля оставлять.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5427
ОС: Gentoo

Re: sudo, указать пароль

Сообщение /dev/random »

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.
Или я английский после бессонной ночи перестал понимать? :)

Да, я ошибся.

snikolaev писал(а):
28.04.2010 11:48
По другому никак. Комп постоянно работает, что-то делает, а вечером мои приходят со школ/работ и начинаются одноклассники/контакты и т.п. Поэтому даже моего юзера нельзя без пароля оставлять.

Как я уже сказал, пароль можно убрать для фиксированного набора команд, оставив для остальных.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: sudo, указать пароль

Сообщение watashiwa_daredeska »

snikolaev писал(а):
28.04.2010 11:48
Поэтому даже моего юзера нельзя без пароля оставлять.
Не надо юзера, надо разрешить заранее заданным пользователям запускать только заранее заданные команды с заранее определенными аргументами без пароля. Для запуска других команд или при запуске другими пользователями пароль спрашиваться будет.

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, указать пароль

Сообщение drBatty »

snikolaev писал(а):
28.04.2010 11:21
Есть скрипт, который проверят, работает ли тор-сервер, проверяет чтением его пида. Читает он из пид-файла, который создается при запуске и права на чтение имеет только рут.

а почему нельзя сменить это право? или посмотреть нужный pid командой ps uax
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: