ГлавнаяОперационные системыLinuxКак использовать Sticky Bit для управления файлами в общих каталогах в Linux

Как использовать Sticky Bit для управления файлами в общих каталогах в Linux

С момента своего создания Linux был адаптирован для поддержки многопользовательской среды. При наличии большого количества пользователей и групп в работающей системе довольно часто встречаются каталоги, совместно используемые пользователями одной и той же группы, и проблемы возникают из-за совместного использования файлов в этих каталогах. В этой статье мы обсудим, как можно использовать липкие биты для точной настройки прав доступа к файлам в общих каталогах.

Для иллюстрации у нас есть система с тремя пользователями — john1, john2 и john3, все они являются членами общей группы «johns»

Предположим, «john1» создает новый каталог под названием «shared-dir», который будет доступен всем пользователям группы «johns».

Команда ls в общем каталоге

С помощью команды lsмы можем просмотреть разрешения «shared-dir», которые можно интерпретировать в следующей таблице:

разрешение папки Linux

Только «john1» может читать содержимое каталога, а также записывать в него. Поскольку мы работаем с общим каталогом, мы хотим, чтобы все пользователи группы могли писать в «shared-dir».

Для этого мы изменим разрешения с помощью команды 14. Мы добавим разрешения на запись всем пользователям группы «johns», как показано ниже.

предоставить группе разрешение на запись в папку

Мы можем просмотреть обновленные разрешения для «shared-dir», как показано ниже. Часть, подчеркнутая желтым, показывает, что группе «johns» предоставлены разрешения на запись.

папка с разрешением на групповую запись

Добавление файлов в общий каталог

Теперь «john1» добавляет два файла (j1_file1.txt и j1_file2.txt) в «shared-dir»

добавление файлов в общий каталог

Для удобства понимания первые два символа имени файла являются синонимами имени пользователя.

добавление второго файла в общий каталог

Аналогично «john2» также может «записывать» в каталог «shared-dir»

второй пользователь добавляет файл в каталог
третий пользователь добавляет файл в каталог<

Теперь в «shared-dir» четыре файла.

файлы в общем каталоге

Есть ли проблема с текущей настройкой?

Файл «j1_file1.txt» был создан

Добавление файлов в общий каталог

ладельцем файла. Теперь «john2» войдет в систему и попытается удалить этот файл, и он сможет это сделать.

«john1» был владельцем файла, но «john2» смог его удалить, поскольку разрешение «запись» было предоставлено всем членам группы «johns».

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

Представляем Sticky Bit

Бит фиксации — это специальное разрешение, которое можно установить для каталога, в котором установлены разрешения «на запись» для группы, имеющей к нему доступ. Этот бит гарантирует, что все члены группы могут писать в каталог, но удалить файл может только тот, кто создал файл, то есть владелец файла.

Команда

chmodс флагом +tмож

Есть ли проблема с текущей настройкой?

я для каталога.

установить липкий бит для каталога

Обновленное разрешение можно увидеть ниже.

разрешение папки с установленным липким битом

Теперь, если «john2» попытается удалить файл «j1_file2.txt», созданный «john1», эта операция не разрешена.

удалить файл не разрешено

Если вы удалите разрешение «выполнение» для «других», как показано ниже:

удалить разрешение на исполняемый файл для других

Существование липкого бита в каталоге обозначается заглавной буквой «T» в части «другие» строки разрешения. Поведение липкого бита в каталоге остается прежним.

разрешение файла папки без разрешения исполняемого файла

Вариант команды «chmod»

Числовую форму команды chmodтакже можно использовать для установки бита закрепления для каталога.

chmod nxyz <file_name>

где,

  • n = 1, что означает липкий бит. Другие значения «n» относятся к другим специальн

    Представляем Sticky Bit

    ешение, предоставленное владельцу файла.
  • y: разрешение, предоставленное группе с доступом к файлу
  • z: разрешение, предоставленное другим

Чтобы установить липкий бит для «shared-dir», используйте следующую команду:

chmod 1755 shared-dir

что дает тот же результат, что и использование +tдля существующих разрешений по умолчанию.

Использование липкого бита применимо только для каталогов, для файлов его использовать не имеет смысла.

Вариант команды «chmod»

ПОХОЖИЕ СТАТЬИ

Популярные записи