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
, где множество пользователей создают временные файлы, но не должны удалять файлы друг друга.