Что такое Сетуид?

Setuid, который обозначает установленный идентификатор пользователя при выполнении, является особым типом прав доступа к файлам в Unix и Unix-подобных операционных системах, таких как Linux и BSD. Это инструмент безопасности, который позволяет пользователям запускать определенные программы с повышенными привилегиями.

Когда установлено разрешение setuid исполняемого файла, пользователи могут выполнять эту программу с уровнем доступа, который соответствует пользователю, которому принадлежит файл. Например, когда пользователь хочет изменить свой пароль, он запускает команду passwd. Программа passwd принадлежит корневой учетной записи и помечена как setuid, поэтому пользователю временно предоставляется root-доступ для этой очень ограниченной цели.

При просмотре прав доступа к файлу с помощью команды ls -l разрешение setuid отображается как « s » в битовой позиции «пользователь выполняет». Например:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 root 54192 20 ноября, 17:03 / usr / bin / passwd 

Установка разрешения setuid для файла

Чтобы установить разрешение setuid для исполняемого файла, используйте идентификатор разрешения u + s с командой chmod :

 chmod u + s myfile 

Неисполняемые файлы могут быть помечены как setuid, но это не имеет никакого эффекта; маркировка их setuid не делает их автоматически исполняемыми. В этом случае бит разрешения отображается в верхнем регистре « S ». Например:

 ls -l myfile 
 -rw-r - r-- 1 пользователь 0 мар. 6 10:45 myfile 
 chmod u + s myfile 
 ls -l myfile 
 -rwSr - r-- 1 пользователь 0 мар. 6 10:45 myfile 

Однако, если вы затем установите файл как исполняемый пользователем с разрешением u + x, разрешение setuid вступит в силу. Затем он будет представлен в листинге строчными буквами " s ":

 chmod u + x myfile 
 ls -l myfile 
 -rwsr - r-- 1 пользователь 0 мар. 6 10:45 myfile 

Setgid

Setgid является эквивалентом setuid, который дает разрешение группе, которая владеет файлом, называется setgid . Он работает во многом таким же образом, и индикатор « s » или « S » отображается в положении выполнения группы вывода ls -l . Например:

 chmod g + s myfile2 
 ls -l myfile2 
 -rw-r-sr-- 1 пользователь 0 мар. 6 10:46 myfile2 

Компьютерные сокращения, Исполняемый файл, Linux, Разрешение, Условия безопасности