Помимо стандартных разрешений на чтение, запись и выполнение, Linux предлагает специальные разрешения для расширенного контроля доступа. Последнее из этих специальных разрешений, которое мы рассмотрим, — это липкий бит (sticky bit).
Что такое липкий бит?
Липкий бит — это настройка разрешения, которую можно применить к каталогу. Когда для каталога установлено разрешение с липким битом, файлы внутри этого каталога могут быть удалены или переименованы только владельцем файла, владельцем каталога или пользователем root. Это особенно полезно для общих каталогов, где несколько пользователей должны создавать и управлять своими файлами, не мешая другим. Эта концепция является ключевой частью управления липким битом разрешений файлов Unix.
Практический пример: каталог /tmp
Распространенный сценарий использования липкого бита в Linux — это каталог /tmp, который является общедоступным местом для временных файлов. Рассмотрим его разрешения:
$ ls -ld /tmp
drwxrwxrwt 17 root root 4096 Dec 15 11:45 /tmp
Обратите внимание на букву t в конце строки разрешений (rwxrwxrwt). Эта буква t указывает на то, что липкий бит установлен. Благодаря этому, хотя любой пользователь может создавать файлы в /tmp, он не может удалять или перемещать файлы, созданные другими пользователями. Это не позволяет одному пользователю нарушать работу другого в этом общем пространстве.
Как установить липкий бит
Вы можете установить липкий бит с помощью команды chmod двумя способами: символическим или восьмеричным (цифровым) режимом.
Чтобы добавить липкий бит с помощью символического режима:
chmod +t my_shared_dir
Чтобы установить разрешения с помощью восьмеричного режима, вы добавляете 1 в начало стандартного трехзначного кода разрешений. Числовое представление липкого бита — 1.
# Это устанавливает разрешения в rwxr-xr-x с липким битом
chmod 1755 my_shared_dir
Понимание липкого бита необходимо для управления многопользовательскими средами и эффективной защиты общих каталогов.