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

Нужно ли указывать 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

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

решение1

Это (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

Связанный контент