Recientemente, un colega me pidió que lo usara chmod
con letras en lugar de números. Además de la ventaja de legibilidad obvia, ¿hay alguna razón particular para usar letras sobre números?
La chmod
notación simbólica es más fina en comparación con la notación octal, lo que permite la modificación de bits de modo específicos mientras se dejan intactos otros bits de modo.
La notación simbólica consta de tres componentes:
chmod [references][operator][modes] file
La references
consiste en una combinación de las letras ugoa
, que especifica qué de usuario de acceso a la file
serán modificados: el usuario que lo posee ( u
), otros usuarios en el grupo del archivo ( g
), otros usuarios no en el grupo del archivo ( o
), o todos los usuarios ( a
) Si references
se omite el componente, el valor predeterminado es para todos los usuarios, pero solo umask
se modifican los permisos permitidos por el .
Esto +
operator
hace que los bits de modo de archivo especificados se agreguen a los bits de modo de archivo existentes de cada archivo; -
hace que se eliminen; y =
hace que se agreguen y se eliminen bits no especificados, excepto setuid
y los setgid
bits establecidos para directorios, a menos que se especifique explícitamente.
La mode
consiste en una combinación de las letras rwxXst
, que corresponden a la lectura ( r
), write ( w
), ejecutar (o la búsqueda de directorios) ( x
), ejecución / búsqueda sólo si el archivo es un directorio o ya tiene permiso de ejecución para algún usuario ( X
), setuid
o setgid
(según las referencias especificadas) ( s
) y el indicador de eliminación restringida o bit fijo ( t
). Alternativamente, mode
puede consistir en una de las letras ugo
, en cuyo caso mode
corresponde a los permisos actualmente otorgados al propietario ( u
), miembro del grupo del archivo ( g
) o permisos de usuarios en ninguna de las categorías anteriores ( o
).
Ejemplos
Asumiendo que el permiso establecido para file
es0764/-rwxrw-r--
Elimine el permiso de otros usuarios que no están en el grupo de archivos:
Octal: chmod 760 file
Tenga en cuenta que los permisos existentes que se dejan sin cambios deben repetirse al usar la notación octal.
Simbólico: chmod o-rwx file
Con notación simbólica, los permisos de archivo existentes no importan.
Conjunto setuid
:
Octal: chmod 4764 file
Simbólico: chmod u+s file
Conjunto setgid
:
chmod 2764 file
chmod g+s file
El uso de las letras le permite activar y desactivar bits individuales sin cambiar los otros bits.
Digamos que tengo el siguiente directorio: drwxrwsr-x 6 f261-01a g261-01a 4096 12 de septiembre 17:51 / home / teams / 261 / f261-01a
Si quiero desactivar el permiso de lectura para otro y quiero usar números, podría hacerlo rápidamente chmod 751
. Excepto que acabo de desactivar el bit setgid en el directorio. Ups
Sin embargo, si lo uso chmod o-r
, solo apago el bit de lectura que quería y el bit setgid en el directorio permanece establecido.
También es útil si desea activar setuid, setgid o sticky bits en un archivo o directorio. Especialmente si lo haces tan raramente tienes problemas para recordar qué bit es cuál en el 4to octeto.
Entonces, depende de lo que estés haciendo. Todavía prefiero usar números cuando solo estoy configurando permisos y no me importa qué hay para empezar. Pero si está alternando bits individuales, la notación de letras es mucho más fácil.