Para que serve o chmod 6050

8

Recentemente me deparei com o comando:

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

Eu não sei o que isso significa? Eu sei permissões de arquivo como 777 etc. em um modo rwx para outros proprietários de grupos. Mas isso resulta em

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

Alguém pode explicar um pouco?

jaksky
fonte
Essas permissões são estranhas. 6550 faria mais sentido - quase nunca faz sentido remover permissões do proprietário, mas concedê-las a outros usuários. Aqui o proprietário é root, o que efetivamente significa que as permissões do usuário não são usadas, apenas parece estranho.
Gilles 'SO- stop be evil'

Respostas:

8

O 050deve ser clara, que os conjuntos de ler e executar bits para o grupo dos primeiros 6sets os set-user-ID e set-group-ID pedaços (ver man 2 chmod). Efetivamente, isso significa que a execução container-extractorsó pode ser feita por rootou membros do grupo hadoope que o executável é executado com um uidser rootefetivo e um gidser efetivo hadoop.

Anthon
fonte
Deve-se observar que rootobtém permissão de execução não por causa das permissões do proprietário do arquivo, mas porque é superusuário e pelo menos um dos componentes de permissão (aqui o grupo) possui permissão de execução. 6110 permissões em minha mente teriam feito mais sentido. É prática comum para negar o acesso de leitura para setuid / setgid comandos (embora o benefício de segurança é muito pouco)
Stéphane Chazelas
@StephaneChazelas Obrigado por comentários. Por que você excluiu sua resposta? Notei que estava lá quando salvei o meu.
Anthon