Skip to content

Sticky bit

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

Назначение sticky bit:

Sticky bit используется для ограничения прав на удаление и переименование файлов в общем каталоге. Когда установлен sticky bit, пользователи могут удалять или переименовывать только те файлы, которые им принадлежат, даже если они имеют доступ на запись в этот каталог. Это полезно, например, для директорий вроде /tmp, где многие пользователи могут создавать файлы, но никто не может удалять файлы других пользователей.

Пример без sticky bit:

Предположим, что в общем каталоге несколько пользователей могут создавать и удалять файлы. Без sticky bit любой пользователь, имеющий права на запись в каталог, может удалить или переименовать файл, даже если он не является его владельцем.

Пример с sticky bit:

Когда sticky bit установлен, пользователи могут удалять или переименовывать только свои файлы, даже если они имеют права на запись в каталог. Это делает файлы в каталоге более защищёнными.

Как работает sticky bit:

  • Если sticky bit установлен на каталоге, пользователи могут удалять и переименовывать только свои файлы.
  • Если sticky bit не установлен, любой пользователь с правами на запись в каталог может удалять или изменять файлы других пользователей.

Установка sticky bit:

Чтобы установить sticky bit на каталог, используется команда chmod с опцией +t.

chmod +t /path/to/directory

Снятие sticky bit:

Для снятия sticky bit используется команда chmod с опцией -t.

chmod -t /path/to/directory

Проверка наличия sticky bit:

Можно использовать команду ls -ld для проверки прав доступа к каталогу. Sticky bit отображается как буква "t" в последних правах для других пользователей (последний блок прав).

Пример:

ls -ld /tmp

Вывод может быть примерно таким:

drwxrwxrwt 10 root root 4096 Sep  7 12:00 /tmp

Последняя буква t указывает, что sticky bit установлен.

Sticky bit в современных системах:

Сегодня sticky bit чаще всего используется для каталогов, таких как /tmp, где множество пользователей создают временные файлы, но не должны удалять файлы друг друга.