Мне нужно запретить пользователю sudo запускать / перезапускать или останавливать несколько служб.
Я редактировал / etc / sudoers:
Cmnd_Alias LIMITED_CMDS=/bin/su,/bin/systemctl stop nginx,/bin/systemctl start nginx,/bin/systemctl restart nginx
mytestuser ALL=!LIMITED_CMDS
Но он умеет: ln -s /bin/su /tmp/su2
и чем использовать sudo su2
стать рутом и все выполнить.
А также пользователь sudo может выполнить sudo service stop nginx
или /etc/init.d/nginx stop
. Я, конечно, могу перечислить их и в Cmnd_Alias, но что, если мне нужно ограничить управление несколькими службами? Слишком большая конструкция и в любом случае simlink из / bin / su поможет. Может быть, я что-то упустил, но есть ли в Linux хороший инструмент / конфигурация для ограничения прав пользователя на управление некоторыми службами? Я погуглил и нашел только варианты с файлом sudoers, но это не то, что мне нужно
Самый простой способ - не добавлять права sudo пользователю :) но в моем случае пользователь должен быть в группе sudo.
Работает в обратном направлении: добавить пользователю необходимые права и не более того. То, что вы пытаетесь сделать, не сработает именно из-за упомянутых вами случаев. Если пользователь имеет право делать «все, кроме», легко использовать часть «но», о которой вы не подумали.
Любой пользователь, обладающий абсолютным контролем над системой (т. Е. Все sudo
group) по определению является доверенным пользователем. Если вы не доверяете пользователю, удалите его из sudo
группы и предоставьте им только те права, которые им абсолютно необходимы.