Дело о специальном разрешении на Linux

302
robert

Я новичок в системе Linux, и когда я выучил команды, я научился изучать права доступа и владельцев. Я понял все команды, но не понял специального разрешения. Я имею в виду chmod u+s, chmod g+sи chmod u+t. Может кто-нибудь объяснить это для меня?

-1
Пожалуйста, будьте более сложными. Какие команды вы узнали? Что вы поняли и что не поняли? Вы говорите о sbit или о каких «специальных разрешениях» вы говорите? Seth 5 лет назад 2
chmod u + s chmod g + s chmod u + t robert 5 лет назад 0

2 ответа на вопрос

2
Seth

S-бит или sticky-бит позволяет влиять на выполнение исполняемых файлов или на то, как обрабатываются каталоги. Для того, как это работает, setuid также очень важен.

Обычное использование:

Чаще всего этот бит закреплен в каталогах, находящихся в файловых системах для Unix-подобных операционных систем. Когда установлен липкий бит каталога, файловая система обрабатывает файлы в таких каталогах особым образом, так что только владелец файла, владелец каталога или корень может переименовать или удалить файл.

Так же как:

setuid и setgid (сокращение от «установить идентификатор пользователя при выполнении» и «установить идентификатор группы при выполнении» соответственно) - это флаги прав доступа Unix, которые позволяют пользователям запускать исполняемый файл с разрешениями владельца или группы исполняемого файла соответственно и изменять поведение в каталогах.

Таким образом, вы можете использовать его для «защиты» каталога или позволить пользователю запускать программу, которая требует повышенных привилегий, без явного предоставления их пользователю. Например, у вас может быть скрипт, которым владеет root, с установленным битом закрепления, и если вы выполните его, он будет выполнен так, как если бы вы были пользователем root.

Если вы посмотрите на страницу руководства, вы увидите, что s обозначает бит setuid / gid, а t обозначает бит удаления.

установить идентификатор пользователя или группы при выполнении (ях), флаг ограниченного удаления или фиксированный бит (t)

Смотрите также:

1
Andreas Hartmann

chmod u + s chmod g + s chmod u + t

Оператор + добавляет режим в класс. Например:

chmod u+s 

Добавляет s-режим (setuid) к классу u (владельцу файла).

Статья в Википедии объясняет это довольно хорошо: https://en.wikipedia.org/wiki/Chmod

Также см:

info chmod man chmod