Назад | Перейти на главную страницу

Нужно ли мне указывать группу user: group в sudoers, чтобы выдавать себя за других пользователей

Я пытался ограничить команду, которую конкретный пользователь может выполнить в файле sudoers, скажем, у меня есть что-то вроде этого:

dummy myserver=(ALL:ALL) /usr/sbin/reboot,/usr/sbin/shutdown

Моему фиктивному пользователю разрешено только перезагружать или выключать систему. Я намеренно разрешаю фиктивному пользователю выдавать себя за других пользователей, но каждый раз, когда я пытаюсь использовать параметр -u команды sudo, например sudo -u anotheruser whoami

Я получаю следующую ошибку:

Sorry, user dummy is not allowed to execute '/usr/bin/whoami' as anotheruser on myserver.

Я понимаю, что могу специально вызвать пользователя и группу, которых хочу выдать за себя, в sudoers, но мне любопытно, почему ALL: ALL не работает

Буду очень признателен за ваши ответы.

В (ALL:ALL) действительно работает, твой dummy пользователю просто не разрешено выполнять whoami. Вы должны добавить /usr/bin/whoami в список разрешенных команд. Ваше текущее правило гласит, что dummy может выполнить /usr/sbin/reboot или /usr/sbin/poweroff так как любой пользователь и любой группа. Вам разрешено звонить sudo -u anotheruser /usr/sbin/reboot, если не перезагрузить систему, это не имеет ничего общего с судо.

Более того, наверное, нет /usr/sbin/reboot и /usr/sbin/poweroff исполняемые файлы в вашей системе. Это важные команды, поэтому они должны быть в /sbin.

Резюмируя: ваш /etc/sudoers файл должен содержать такую ​​строку:

dummy myserver=(ALL:ALL) /sbin/reboot, /sbin/poweroff, /usr/bin/whoami