Назад | Перейти на главную страницу

Linux: как запретить пользователю перезапускать службы?

Мне нужно запретить пользователю 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 группы и предоставьте им только те права, которые им абсолютно необходимы.