1

Я настраиваю 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. Это правильно? Должен ли я также изменить права доступа к файлу?

1 ответ1

2

Из справочной страницы sudo:

sudo позволяет разрешенному пользователю выполнять команду от имени суперпользователя или другого пользователя, как указано в политике безопасности.

Это не влияет на обычные (файловая система) разрешения. Таким образом, если исполняемый файл имеет разрешения 755 (-rwxr-xr-x), то каждый пользователь в системе может его выполнить. Но - в зависимости от исполняемого файла - для некоторых операций вы получаете ошибку отказа в разрешении:

$ ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 67912 May 11  2013 /sbin/ifconfig
$ whoami
user
$ /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:29886 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17383 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3706932 (3.5 MiB)  TX bytes:34965406 (33.3 MiB)
$ /sbin/ifconfig eth0 down
SIOCSIFFLAGS: Operation not permitted
$ sudo /sbin/ifconfig eth0 down
[sudo] password for user:
 - no error -
$ 

Обратите внимание, что изменение разрешений /sbin/ifconfig на 700 (-rwx-----) не позволит обычным пользователям выполнить его, но могут быть другие способы получения информации. Например IP-адрес через ip address или файловую систему /proc .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .