Cuando instalo un programa, me recomienda que lo haga chmod 4555
. Bien, sé acerca de los valores si solo uso tres números. Por ejemplo
chmod 555 test-file
daré
-r-xr-xr-x
4 para escritura, 2 para lectura y 1 para ejecución. Pero cuando hago esto:
chmod 4555 test-file
me da
-r-sr-xr-x
Entonces, x
cambió a s
. ¿Lo que significa eso?
command-line
chmod
Mas Bagol
fuente
fuente
Respuestas:
En realidad, hay 4 conjuntos de atributos con los que puede trabajar a través de
chmod
.Special
,User/Owner
,Group
, YOthers
en ese orden, cuando se trabaja con los chmods de cuatro números, con ese primer número siendo bits especiales que se pueden configurar.chmod 4555
equivale a lo siguiente:Set UID
bit: ejecuta el archivo como propietario independientemente del usuario que lo esté ejecutandoRead, Execute
Read, Execute
Read, Execute
La
s
cadena en su 'legible por humanos' para permisos indica que elSetUID
bit (explicado a continuación) está configurado.Efectivamente, podemos dividir el
chmod
argumento de los permisos de cuatro números en descriptores específicos de la siguiente manera, y hacer los cálculos para determinar qué sería a4
en la primera sección, a5
en la siguiente sección, y así sucesivamente.Tenga en cuenta que
####
esSpecial
User/Owner
Group
yOthers
en ese orden.Para
Special
atributos (el primer número en unchmod
argumento de cuatro números ):Set UID
- Ejecutar el archivo como propietario independientemente del usuario que lo ejecute (se muestra comos
en la cadena de permisos legibles por humanos para laUser
sección) = +4 (--s
debajoUser/Owner
)Set GID
- Ejecuta el archivo como grupo independientemente del usuario / grupo que lo ejecuta (se muestra comos
en la cadena de permisos legibles por humanos para laGroup
sección) = +2 (--s
debajoGroup
)Sticky Bit
- SÓLO EFECTIVO EN DIRECTORIOS: si está configurado, solo el usuario propietario del directorioroot
puede eliminar el directorio, y solo el propietario del archivo oroot
puede eliminar archivos dentro de él. (se muestra comot
en la cadena de permisos legibles por humanos para laOthers
sección) = +1 (--t
debajoOthers
)Para
User/Owner
,Group
yOthers
atributos (los últimos tres números de una serie de cuatrochmod
argumento):Read
= +4 (r--
)Write
= +2 (-w-
)Execute
(para archivos) o 'Enter Into / List Items' (para directorios) = +1 (--x
)fuente
Se llama el
SETUID
bit. si está configurado porchmod 4555 test-file
(en su caso),test-file
cualquier usuario puede ejecutarlo como si el usuario fuera el propietario del archivo.Cuando
SETUID
se establece el bit, la ID de usuario efectiva (EUID
) del usuario que no tiene permiso para ejecutar el archivo de otra manera (por permisos normales, por ejemplo0744
), toma el EUID del propietario del archivo y puede ejecutar el archivo.fuente