Я пишу сценарий оболочки, который должен запускаться пользователями только в списке пользователей sudo, как это сделать?
то, что я думаю, находится в сценарии оболочки, попробуйте создать фиктивный файл в системном каталоге, таком как / var / run /, и удалите его, поэтому пользователи, не входящие в список sudo, получат ошибку разрешения, но я считаю, что должна быть более подходящий способ сделать это, предпочтительно определить, находится ли пользователь в списке sudo в сценарии оболочки. Спасибо за помощь
Это сделать намного проще, просто поместите ниже в начале вашего скрипта
if [ `id -u` -ne 0]
then
echo "Must be root"
exit 1
fi
в начале сценария.
Поместите сценарий в каталог, доступный для чтения только root. Таким образом, пользователи не смогут вызвать его случайно или намеренно или даже прочитать его в поисках дыр.
когда вы запускаете скрипт с sudo
, sudo
можете проверить группу для вас:
%yourgroup ALL=/your/command
когда ты вставляешь это /etc/sudoers
, sudo
проверит, входит ли пользователь в группу yourgroup, когда пользователь выполняет sudo /your/command
. таким образом вам не нужно вручную добавлять нового пользователя в скрипт.