Thank you for reading this post, don't forget to subscribe!
Установка Sticky Bit
Выставляем sticky bit на файл:
- — T — означает, что разрешения на выполнение отключены.
- — t — означает, что права на выполнение включены.
Или можно еще использовать следующую команду:
Sticky bit, в основном используется в общих каталогах, таких как /var или /tmp, поскольку пользователи могут создавать файлы, читать и выполнять их, принадлежащие другим пользователям, но не могут удалять файлы, принадлежащие другим пользователям. Например, если пользователь (предположим bob) создает файл с именем /tmp/bob, то другой пользователь (допустим tom) не может удалить этот файл, даже если в каталоге /tmp есть разрешение 777. Если sticky bit не установлен, то tom юзер может удалить /tmp/bob, так как файл /tmp/bob наследует разрешения родительского каталога.
Использование SUID ( Set User ID) прав в Unix/Linux
setuid (сокращения от англ. set user ID upon execution — «установка ID пользователя во время выполнения) являются флагами прав доступа в Unix, которые разрешают пользователям запускать исполняемые файлы с правами владельца исполняемого файла. Иногда файлы требуют разрешения на выполнение для пользователей, которые не являются членами группы владельца, в этом случае вам потребуется предоставить специальные разрешения на выполнение. Когда SUID установлен, пользователь может запускать любую программу, такую как владелец программы.
Установка SUID бит на файл.
Если SUID бит установлен на файл и пользователь выполнил его. Процесс будет иметь те же права что и владелец файла.
Например: команда passwd имеет SUID bit. Когда обычный пользователь захочет изменит свой пароль в файле /etc/passwd или /etc/shadow, то у него ничего не получиться, т.к нужны права суперпользователя (процесс командны PASSWD всегда работает с правами суперюзера).
Предположим, что я получил исполняемый файл «filename», и мне нужно установить SUID на этот файл, перейдите в командную строку и выполните команду:
Найти все SUID файлы для «root» пользователя:
Найти все SUID и SGID файлы:
Использование SGID ( Set Group ID ) прав в Unix/Linux
setgid (сокращения от англ. set group ID upon execution — «установка ID группы во время выполнения») являются флагами прав доступа в Unix, которые разрешают пользователям запускать исполняемые файлы с правами группы исполняемого файла.
Так же, как SUID , установив SGID бит для файла он устанавливает ваш идентификатор группы для группы файла в то время как файл выполняется. Это действительно полезно в случае когда у вас есть реальные установки в многопользовательском режиме где у пользователей есть доступ к файлом. В одной домашней категории я действительно не нашел использования для SGID. Но основная концепция является такой же, как и у SUID, файлы у которых SGID бит устанавливается, то они принадлежат к этой группе , а не к этому пользователю.
схема:
Если SGID бит установлен на любой каталог, все подкаталоги и файлы, созданные внутри получат те же пермишены что и группы в качестве основного каталога.
Устанавливаем SGID на директорию:
Найти все файлы с использованием SGID бита, для root пользователя:
Зачем нужны SUID и SGID?
Есть достаточно много программ и файлов, которые должны принадлежать пользователю root, и в то же время – простые пользователи должны иметь возможность выполнять его. Для примера – утилита passwd, которая находится в каталоге /usr/bin/passwd и которая имеет дело с файлом /etc/passwd, редактировать который может только пользователь root.
итоги:
Команда chmod также может использоваться для установки или отмены следующих значений в качестве префикса для обычных трех числовых привилегий:
- 0 — setuid, setgid, sticky bits не установлены.
- 1 — Установить sticky bit.
- 2 -Установить setgid bit.
- 3 -Установить setgid и sticky bits.
- 4 -Установить setuid bit.
- 5 -Установить setuid и sticky bits.
- 6 — Установить setuid и setgid bit-ы.
- 7 — setuid, setgid, sticky bits активированы.