Можно ли использовать sudo или какой-либо другой механизм, чтобы разрешить пользователю иметь доступ только к выполнению команд под другой конкретной учетной записью пользователя? (т. е. не root?)
Мне нужно предоставить некоторый уровень административного доступа через веб-инструмент, работающий под учетной записью www-data без оболочки. Но иногда им может быть полезно запускать программы как 'www-data' для выполнения административной работы на веб-сервере. Я не уверен, как разрешить это, ограничив при этом их доступ к root или другим службам.
решение1
Да - это возможно сделать с помощью sudo
. Из sudoers
страницы руководства:
A Runas_Spec sets the default for the commands that follow it. What this
means is that for the entry:
dgb boulder = (operator) /bin/ls, /bin/kill, /usr/bin/lprm
The user dgb may run /bin/ls, /bin/kill, and /usr/bin/lprm—but only as
operator.