Клейкий біт корисний для каталогів, які користуються світовим режимом, таких як /tmp
. У цих каталогах кожен може створити файл, тому каталог повинен бути доступним для запису у всьому світі. Але це означає, що кожен може також видалити файл, навіть якщо він не належить до них, оскільки видалення файлу контролюється дозволом на запис у каталог. Якщо в каталозі є клейкий біт, лише власник файлу має дозвіл на видалення його.
У каталозі з дозволами rwx------
або rwxr-xr-x
, лише власник каталогу може створити або видалити файл. Якщо є файли, що належать іншому користувачеві (переміщені туди під корінь або створені, коли в каталозі було більше відкритих дозволів), все-таки власник каталогу має дозволи видалити їх, а не власник файлу.
У каталозі з дозволами 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, тому не може створювати файли, що належать іншим користувачам).