В /bin
большинство двоичных файлов не имеют фиксированного бита, за исключением: fusermout
, mount
, umount
, ping
, ping6
и su
.
Почему эти не должны быть удалены или переименованы? Это потому, что они используются в определенных критических сценариях, и если да, значит ли это, что все остальные двоичные файлы не являются жизненно важными, и система может работать без них?
Это не липкий бит, это - бит setuid. Липкий бит обычно относится к каталогам, Вы видите это в /tmp
например:
$ stat -c '%A %n' /tmp /bin/ping /usr/bin/crontab
drwxrwxrwt /tmp
-rwsr-xr-x /bin/ping
-rwxr-sr-x /usr/bin/crontab
t
указывает на липкий бит, s
в непривилегированных режимах указывают на setuid и s
в группе режимы указывают на setgid.
setuid укусил, заставляет команду быть выполненной как пользователь, который владеет файлом, обычно root
. Это сделано потому что:
ping
и ping6
должен базироваться доступ для использования неструктурированных сокетов. См. это сообщение Суперпользователя и это сообщение Unix & Linux. Как ответ SU отмечает, некоторые дистрибутивы теперь используют возможности вместо setuid — моя Дуга, на которой система Linux не имеет setuid ping
.su
потребности базируются доступ для переключения на произвольного пользователяmount
(и umount
, и т.д.), нужен setuid для монтирования вещей, которые указаны как являющийся монтируемым кем-либо (через users
опция в /etc/fstab
) (см. этот ответ Unix & Linux),crontab
setgid, так как crontab файлы хранятся в месте, только перезаписываемом корнем и crontab
группа:
$ stat -c '%A' /var/spool/cron/crontabs
drwx-wx--T
(примечание: crontab каталог является также липким.)
Также см.: