Назад | Перейти на главную страницу

Бит залипания сбрасывается после каждой перезагрузки

У меня есть сервер CentOS, который выполняет несколько выделенных задач, когда разные процессы / пользователи должны иметь полный доступ к файлам друг друга. Поскольку эти файлы являются временными по своей природе, они хранятся в /tmp каталог.

В /tmp в каталоге по умолчанию установлен бит закрепления. Итак, в моем сценарии я отключаю липкий бит, иначе процесс / пользователь B не может удалить файл, созданный процессом / пользователем A - и он должен иметь возможность это сделать, потому что A просто предоставляет B и только после завершения B файл можно удалить.

chmod -t /tmp

Все идет нормально! Однако каждый раз, когда я перезагружаю компьютер, он снова автоматически устанавливает липкий бит, и я хочу удалить его еще раз.

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

Но как я могу удалить липкую часть, чтобы она оставалась стойкой? Если это невозможно сделать с chmod тогда как?

Используйте другой каталог, а не /tmp.

Липкий бит всегда будет добавлен к /tmp при загрузке с помощью systemd, которая воссоздает каталог при каждой загрузке.

Неразумно удалять липкую насадку, потому что это мешает использовать что-либо еще. /tmp. И многие другие вещи используют /tmp, даже если их использование может быть неочевидным, и даже если у вас может быть очень мало работы на сервере. Если удалить липкую ленту, она рано или поздно снова укусит вас.

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

В RHEL и CentOS /etc/cron.daily/tmpwatch запускается ежедневно для очистки и исправления / tmp. Если вы действительно хотите переопределить разрешения по умолчанию для / tmp, вы можете сделать это, изменив содержимое этого файла.

Скорее измените / tmp напрямую или его конфигурацию / настройку, создайте подкаталог и примените к нему соответствующие разрешения, используя комбинацию групп и разрешений групп. Если данные не являются конфиденциальными, и вы не боитесь риска, вы можете открыть разрешения, чтобы разрешить кому-либо удалять файлы.