suid бит и sgid

suid бит и sgid бит определяют правило доступа, если они установлены непривелегированный пользователь может запускать скрипты от имени root.

 

suid бит и suid — наследование процессом прав доступа на файл

SUID — set user ID

SGID — set group ID

 

Устанавливаются биты соответственно следующим образом:

Для пользователя

chmod u+s test.sh

или

chmod 4755 test.sh

 

Процесс при запуске будет наследовать права владельца файла. Если test.sh принадлежит root, при этом есть права на исполнение пользователем test (755), скрипт будет выполняться от имени root, а не от имени test.

При этом для запуска не требуется sudo.

 

Для группы

chmod g+s test.sh

или

chmod 2755 test.sh

 

Аналогичным образом будут наследоваться права группы пользователя, заданной для файла (755).

 

Запускать скрипты без sudo в некоторых случаях может быть удобно, для этого устанавливаются suid/sgid.

 

Если установить suid/sgid для каталога — создаваемые в нем скрипты будут выполняться с учетом специальных битов и описанной выше логики.