¿Para qué sirve el chmod 6050?

8

Recientemente me encontré con el comando:

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

No se que significa eso? Conozco permisos de archivos como 777, etc. en un modo rwx para otros propietarios. Pero esto da como resultado

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

¿Alguien puede explicar un poco?

jaksky
fuente
Estos permisos son raros. 6550 tendría más sentido: casi nunca tiene sentido eliminar los permisos del propietario, sino otorgarlos a otros usuarios. Aquí el propietario es root, lo que significa que los permisos de usuario no se usan, simplemente se ve extraño.
Gilles 'SO- deja de ser malvado'

Respuestas:

8

El 050debe ser claro, que los conjuntos de leer y ejecutar los bits para el grupo de los primeros 6conjuntos de los bits set-user-ID y set-group-ID (ven man 2 chmod). Efectivamente, esto significa que la ejecución container-extractorsolo puede ser realizada por rooto miembros del grupo hadoopy que el ejecutable se ejecuta con un uidser rootefectivo y un gidser efectivo hadoop.

Anthon
fuente
Cabe señalar que rootobtiene permiso de ejecución no por los permisos del propietario del archivo, sino porque es un superusuario y al menos uno de los componentes del permiso (aquí grupo) tiene permiso de ejecución. 6110 permisos a mi mente habrían tenido más sentido. Es una práctica común negar el acceso de lectura a los comandos setuid / setgid (aunque el beneficio de seguridad es muy pequeño)
Stéphane Chazelas
@StephaneChazelas Gracias por los comentarios. ¿Por qué borraste tu respuesta? Noté que estaba allí cuando salvé la mía.
Anthon