¿Para qué es el primer dígito octal chmod en un valor de cuatro dígitos?
40
A veces veo chmodcomandos que usan cuatro dígitos octales en lugar de tres: ¿para qué es el primer dígito opcional? Por ejemplo, chmod 777es equivalente a chmod a+rwx; ¿Para qué es el mismo comando chmod 2777?
Esta es una buena pregunta, así que traté de generalizar un poco
Michael Mrozek
3
El 'cuarto dígito octal chmod' es un poco confuso, el dígito en cuestión es en realidad el primero cuando se lee de izquierda a derecha.
jsbillings
Respuestas:
44
Tenga en cuenta que chmod 777 filenamees el equivalente de chmod 0777 filenameen este ejemplo.
El primer dígito octal establece los bits setuid, setgid y sticky (consulte este artículo para obtener más detalles sobre setuid / setgid). octal 2 significa establecer ID de grupo en el archivo. Entonces, el equivalente sería hacer un chmod a+rwx filename, entonces chmod g+s filename. La chmodpágina de información explica esto con más detalle.
Casi todas las implementaciones de chmod (1) pueden usar comas en argumentos de modo simbólico. Por lo tanto, su equivalente de 2777 se puede hacer en un solo comando: chmod a+rwx,g+s filename. O, (asegurándose de borrar los bits setuid y pegajosos como el modo numérico haría) de manera más estricta: chmod a=rwx,g+s filename.
Respuestas:
Tenga en cuenta que
chmod 777 filename
es el equivalente dechmod 0777 filename
en este ejemplo.El primer dígito octal establece los bits setuid, setgid y sticky (consulte este artículo para obtener más detalles sobre setuid / setgid). octal 2 significa establecer ID de grupo en el archivo. Entonces, el equivalente sería hacer un
chmod a+rwx filename
, entonceschmod g+s filename
. Lachmod
página de información explica esto con más detalle.fuente
chmod a+rwx,g+s filename
. O, (asegurándose de borrar los bits setuid y pegajosos como el modo numérico haría) de manera más estricta:chmod a=rwx,g+s filename
.