Заклепка полезна для каталогов, которые доступны для записи всем, например /tmp
. В этих каталогах любой может создать файл, поэтому каталог должен быть доступен для записи всем пользователям. Но это означает, что любой может удалить файл, даже если он ему не принадлежит, так как удаление файла контролируется разрешением на запись в каталог. Когда каталог имеет залипший бит, только владелец файла имеет право удалить его.
В каталоге с разрешениями rwx------
или rwxr-xr-x
, только владелец каталога может создать или удалить файл. Если есть какие-либо файлы, принадлежащие другому пользователю (перемещенные туда пользователем root или созданные, когда у каталога было больше открытых разрешений), владелец каталога по-прежнему имеет права на их удаление, а не владелец файла.
В каталоге с разрешениями rwxrwx---
все члены группы могут создавать и удалять файлы. Любой участник группы может удалить любой файл, даже если он принадлежит другому пользователю. Если разрешения rwxrwx--T
вместо этого (капитал T
похож t
, но t
означает, чтоx
бит установлен и T
означает, что x
бит очищен), тогда любой член группы может создать файл, и члены группы могут удалять файлы, но только свои собственные файлы. ,
Вы можете использовать следующую команду, чтобы увидеть, какие каталоги имеют залипание в вашей системе:
find / /run /run/lock /run/shm -xdev -path /usr -prune -o -perm -o+t -ls 2>/dev/null
Вы найдете несколько таких каталогов, /tmp
которые открыты для всех, и некоторые директории, подобные тем, /var/spool/cron/crontabs
которые зарезервированы для системной программы, которая запускается как ее собственная группа ( setgid ), где бит закрепления гарантирует, что программа может удалять файлы только от имени пользователя. Пользователь, которому они принадлежат (что гарантирует, что программа может создавать файлы только от имени пользователя, которому они принадлежат, заключается в том, что программа работает от имени этого пользователя, а не от имени пользователя root, поэтому не может создавать файлы, принадлежащие другим пользователям).