Я хотел бы создать нового пользователя на некоторых моих хостах Debian / Ubuntu, который может обновлять сервер с помощью команд apt-get update
и apt-get dist-upgrade
, но я не хочу предоставлять им полный доступ sudo, чтобы иметь возможность делать что-либо еще. Это возможно? Возможно, есть способ создать сценарий, который они не могут редактировать, но могут выполнить, который будет выполнен от имени пользователя root?
permissions
sudo
privileges
Programster
источник
источник
man sudoers
иsudo cat /etc/sudoers
.Ответы:
Sudo
и/etc/sudoers
файл предназначен не только для предоставления пользователям полного корневого доступа.Вы можете редактировать файл sudoers с существующим пользователем sudo с помощью команды
sudo visudo
Вы можете сгруппировать команды, которым вы хотите предоставить доступ, как показано ниже:
Затем вы можете дать определенные пользовательские привилегии этим командам, например так:
Это можно увидеть на изображении ниже :
Теперь, если вы попытаетесь
sudo apt-get update
илиsudo apt-get dist-upgrade
эти команды будут выполняться без запроса пароля . Если вы хотите запросить пароль, удалитеNOPASSWD
бит, в котором вы предоставляете пользователю доступ к группам команд.Если вы попытаетесь запустить что-либо еще от имени
sudo
пользователя, вам будет предложено ввести пароль и произойдет сбой.Ссылки
источник
apt-get
, или даже простоapt-get upgrade
, дает им полный доступ к корневой ! Многие сценарии обновления позволяют интерактивному пользователю запускать оболочку, например, когда файл конфигурации изменился. Чтобы быть в безопасности, ограничитьсяapt-get
определенными командами и заставить его быть неинтерактивным. См. Безопасно ли для моего пользователя ssh получать sudo без пароля дляapt-get update
иapt-get upgrade
?%sudo ...