Я настраиваю sudo на сервере и у меня следующий вопрос. Я только хочу, чтобы группа пользователей запускала /sbin/ifconfig
. Я настроил sudo:
User_Alias NETWORK = user1
Cmnd_Alias NETWORKING = /sbin/ifconfig
Host_Alias MYHOSTS = localhost
правило:
NETWORK MYHOSTS = (root) NETWORKING
Это хорошо работает для пользователя user1 : sudo ifconfig
спрашивает пароль. Но я вижу, что любой пользователь компьютера может запустить ifconfig и потому, что разрешения для этого файла /sbin
755. Это правильно? Должен ли я также изменить права доступа к файлу?
ifconfig
, но не может вносить изменения, такие какifconfig eth0 down
требующие root / sudo.sudo command
. В противном случае выполняются только разрешения файловой системы (или другие механизмы безопасности).sudo /sbin/ifconfig (...)
запускается от имени/sbin/ifconfig
пользователяroot
, который может делать с этой командой больше, чем обычный пользователь, не из-за разрешений, установленных для/sbin/ifconfig
или из-за строк вsudo
конфигурации, а из-за разрешений, установленных для других файлов, которые используется/sbin/ifconfig
.Ответы:
Из справочной страницы sudo:
Это не влияет на обычные (файловая система) разрешения. Таким образом, если исполняемый файл имеет разрешения 755 (
-rwxr-xr-x
), то каждый пользователь в системе может его выполнить. Но - в зависимости от исполняемого файла - для некоторых операций вы получаете ошибку отказа в разрешении:Обратите внимание, что изменение разрешений
/sbin/ifconfig
на 700 (-rwx-----
) не позволит обычным пользователям выполнять его, но могут быть и другие способы получения информации. Например IP-адрес черезip address
или/proc
файловую систему.источник