Chmod por letras y números

8

Recientemente, un colega me pidió que lo usara chmodcon 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?

Gautama
fuente

Respuestas:

13

La chmodnotació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 referencesconsiste en una combinación de las letras ugoa, que especifica qué de usuario de acceso a la fileserá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 referencesse omite el componente, el valor predeterminado es para todos los usuarios, pero solo umaskse modifican los permisos permitidos por el .

Esto + operatorhace 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 setuidy los setgidbits establecidos para directorios, a menos que se especifique explícitamente.

La modeconsiste 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), setuido setgid(según las referencias especificadas) ( s) y el indicador de eliminación restringida o bit fijo ( t). Alternativamente, modepuede consistir en una de las letras ugo, en cuyo caso modecorresponde 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 filees0764/-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:

  • Octal: chmod 2764 file
  • Simbólico chmod g+s file
Thomas Nyman
fuente
1

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.

kurtm
fuente