Sudo и разрешения для файлов


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 и потому, что разрешения для этого файла /sbin755. Это правильно? Должен ли я также изменить права доступа к файлу?


Обычно каждый пользователь может работать ifconfig, но не может вносить изменения, такие как ifconfig eth0 downтребующие root / sudo.
mpy

Тогда команда sudo не полностью блокируется, а выполняются только определенные действия. Хотя это не пользователь в правах доступа к файлу sudo, он продолжит иметь обычный файл, это правильно?
aelbaz

Поправьте, если я вас правильно понял. В моих собственных словах: sudo проверяет разрешения, только если команда выполняется через sudo command. В противном случае выполняются только разрешения файловой системы (или другие механизмы безопасности).
mpy

1
@aelbaz: Что вы подразумеваете под «разрешениями останутся постоянные файлы»? В результате команда sudo /sbin/ifconfig (...)запускается от имени /sbin/ifconfigпользователя root, который может делать с этой командой больше, чем обычный пользователь, не из-за разрешений, установленных для /sbin/ifconfigили из-за строк в sudoконфигурации, а из-за разрешений, установленных для других файлов, которые используется /sbin/ifconfig.
reinierpost

Ответы:


2

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

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

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

$ ls -l / sbin / ifconfig
-rwxr-xr-x 1 корневой корень 67912 11 мая 2013 г. / sbin / ifconfig
$ whoami
пользователь
$ / sbin / ifconfig
eth0 Link encap: Ethernet HWaddr 00: 00: 00: 00: 00: 00  
          адрес в сети Интернет: 192.168.1.1 Bcast: 192.168.1.255 Маска: 255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1
          Пакеты RX: 29886 ошибок: 0 отброшено: 0 переполнений: 0 кадр: 0
          Пакеты TX: 17383 ошибок: 0 отброшено: 0 переполнений: 0 несущая: 0
          столкновения: 0 txqueuelen: 1000 
          RX байтов: 3706932 (3,5 МиБ) TX байтов: 34965406 (33,3 МиБ)
$ / sbin / ifconfig eth0 down
SIOCSIFFLAGS: операция не разрешена
$ sudo / sbin / ifconfig eth0 down
[sudo] пароль для пользователя:
 - без ошибок -
$ 

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.