TIL про очень интересные фичи прав в #unix системах.
1. Есть sticky бит, который используется для ускорения запуска программ и защиты директорий. Если установлен на исполняемый файл, то после завершения работы программа не выгружается из памяти, чтобы быстрее запуститься в следующий раз. Если установлен на директорию, то пользователь может управлять только своими файлами в этой директории(например /tmp). Устанавливается с помощью chmod 1XXX <path>
2. SUID, GUID это "эффективный пользователь", то есть от чьего имени будет исполняться программа. Запустить может любой Вася(если прав хватает), но работать будет от имени/группы владельца файла. Может установить только root. Устанавливается с помощью chmod 2XXX для группы и chmod 4XXX для пользователя.
"Программа с установленным битом setuid является потенциально опасной, и неиспользуемые программы с установленным битом SUID лучше убрать из установленной операционной системы. Злоумышленник, проникнув в систему, старается получить максимально возможные права доступа, и, например, сумев из-за ошибки владельца системы установить бит SUID на интерпретатор команд bash, он получит права суперпользвоателя даже залогинившись гостевой учётной записью."