Я пытаюсь избавиться от запроса пароля в Ubuntu Linux во время команды "su". По сути, мне нужно сделать что-то вроде:

su otheruser

чтобы несколько моих приложений работали в пакетном режиме. Однако, поскольку он запускается в пакетном режиме, я хотел бы отключить запрос пароля.

То, что я пытался сделать, это:

sudo visudo
otheruser ALL=(ALL) NOPASSWD: /bin/su 

но это все еще спрашивает у меня пароль.

Например, чтобы отключить sudo от запроса пароля, я сделал:

sudo visudo
otheruser ALL=NOPASSWD: ALL

и работает нормально. Тем не менее, когда я пытаюсь это с su, это не работает.

Кто-нибудь сталкивался с этой проблемой? Любое руководство будет высоко ценится.

2 ответа2

2

su не имеет никакого отношения к sudo или файлу sudoers . Он всегда запрашивает пароль целевого пользователя. (Даже если это так, вы вводите неправильное имя пользователя в «sudoers».)

Для пакетного использования вы можете использовать sudo -u otheruser вместе с опцией NOPASSWD в sudoers. Например:

$ sudo visudo

JohnJ    ALL=(otheruser) NOPASSWD: /usr/bin/myprogram

$ sudo -u otheruser myprogram
0

Вот два решения, во-первых, вам нужно знать, что такое "установить пользовательский бит" http://en.wikipedia.org/wiki/Setuid . Для этого прочитайте, например, http://meinit.nl/set-user-id-bit-demostration

Но будьте осторожны, потому что существует большая дыра в безопасности, если вы не настроите все правильно, так как это мощный инструмент и "с большой силой приходит большая ответственность";) Обратите внимание, что это руководство предназначено для традиционных систем, если у вас есть ACL (Access). Контрольные списки), вам необходимо дать соответствующее разрешение suid.

Решение 1. С точки зрения безопасности лучший вариант: если вы хотите использовать su для одного или двух конкретных пользователей, имейте один или два файла, подходящих для этих пользователей. Если у вас есть больше пользователей, в зависимости от того, что вы делаете, создайте группу пользователей и используйте группу.

Решение 2: Иногда самое простое: иметь suid для root. ЭТО ОСОБЕННО ОПАСНО, избегайте этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .