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, Разрешение, Условия безопасности