У меня есть сервер 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 напрямую или его конфигурацию / настройку, создайте подкаталог и примените к нему соответствующие разрешения, используя комбинацию групп и разрешений групп. Если данные не являются конфиденциальными, и вы не боитесь риска, вы можете открыть разрешения, чтобы разрешить кому-либо удалять файлы.