Каталоги / tmp
и / usr / tmp
(позже / var / tmp
) раньше были свалка для всех и каждого. Единственным механизмом защиты файлов в этих каталогах является липкий бит, который ограничивает удаление или переименование файлов в этих каталогах их владельцам. Как отметил в комментарии Марсельм, в принципе ничто не мешает кому-либо создавать файлы с именами, которые используются службами (например, nginx.pid
или sshd.pid
). (Однако на практике сценарии запуска могут сначала удалить такие поддельные файлы.)
/ run
был создан для непостоянных данных времени выполнения долгоживущих служб, таких как блокировки, сокеты, файлы pid и т.п. Поскольку он не доступен для записи, он защищает данные времени выполнения службы от беспорядка в / tmp
и заданий, которые там очищают. Действительно: два дистрибутива, которые я запускаю (без каламбура), имеют разрешения 755 на / run
, а / tmp
и / var / tmp
(и / dev / shm
, если на то пошло) имеют разрешения 1777.