Для чего подходит chmod 6050

8

Недавно я наткнулся на команду:

chmod -R 6050 /usr/lib/hadoop-yarn/bin/container-executor

Я не знаю, что это значит? Я знаю права доступа к файлам, такие как 777 и т. Д. В режиме rwx для группы владельцев других. Но это приводит к

---Sr-s---. 1 root hadoop 36024 Oct 17 20:40 container-executor

Может кто-нибудь объяснить, пожалуйста, немного?

jaksky
источник
Эти разрешения странные. 6550 имеет больше смысла - вряд ли когда-либо имеет смысл удалять разрешения у владельца, но предоставлять их другим пользователям. Здесь владелец - root, что фактически означает, что права пользователя не используются, это выглядит странно.
Жиль "ТАК - перестань быть злым"

Ответы:

8

050Должно быть ясно, что наборы читать и выполнять биты для группы первых 6устанавливает набор-ID пользователя и набор-группы биты идентификации (см man 2 chmod). Фактически это означает, что выполнение container-extractorможет выполняться только членами rootили членами группы, hadoopи что исполняемый файл выполняется с эффективным uidсуществом rootи эффективным gidсуществом hadoop.

Энтон
источник
Следует отметить, что rootразрешение на выполнение получает не из-за разрешений владельца файла, а потому, что он является суперпользователем, и по крайней мере один из компонентов разрешений (здесь группа) имеет разрешение на выполнение. 6110 разрешений на мой взгляд имели бы больше смысла. Обычной практикой является отказ в доступе на чтение к командам setuid / setgid (хотя преимущества безопасности очень малы)
Стефан Шазелас
@StephaneChazelas Спасибо за комментарии. Почему вы удалили свой ответ? Я заметил, что это было там, когда я спас мой.
Anthon