GNU/Linux >> Tutoriales Linux >  >> Linux

UNIX/Linux:Guía para principiantes sobre permisos de archivos y directorios (umask, chmod, lectura, escritura, ejecución)

El permiso de archivo y directorio de Unix tiene la forma de una estructura de 3×3. es decir, tres permisos (lectura, escritura y ejecución) disponibles para tres tipos de usuarios (propietario, grupos y otros).

En la salida del comando ls -l, los 9 caracteres de la posición 2 a la 10 representan los permisos para los 3 tipos de usuarios.

-rw-r--r--  1 sathiya sathiya  272 Mar 17 08:22 test.txt

En el ejemplo anterior:

  • El usuario (sathiya) tiene permiso de lectura y escritura
  • El grupo tiene permiso de lectura
  • Otros tienen permiso de lectura

Tres permisos de archivo:

  • leer :permitido leer el contenido del archivo.
  • escribir :permitido escribir en el archivo.
  • ejecutar :permitido ejecutar el archivo como un programa/script.

Tres permisos de directorio:

  • leer :permitido leer el contenido del directorio (ver archivos y subdirectorios en ese directorio).
  • escribir :permitido escribir en el directorio. (crear archivos y subdirectorios en ese directorio)
  • ejecutar :permitido entrar en ese directorio.

Valores numéricos para los permisos de lectura, escritura y ejecución:

  • leer 4
  • escribe 2
  • ejecutar 1

Para tener una combinación de permisos, agregue los números requeridos. Por ejemplo, para permiso de lectura y escritura, es 4+2 =6.

Cambiar permisos de archivos y directorios mediante el comando Chmod

Puede usar la representación octal o la representación simbólica para cambiar el permiso de un archivo o directorio.

Representación octal para permisos:

  • El primer número es para el usuario
  • El segundo número es para el grupo
  • El tercer número es para los demás

Por ejemplo, asigne lectura, escritura (4+2 =6) al usuario y lectura (4) al grupo y otros.

$ chmod 644 filename

Por ejemplo, dé lectura, ejecución (4 + 1 =5) al usuario y lectura (4) al grupo, y nada (0) a los demás.

$ chmod 540 filename

Por ejemplo, asigne lectura, escritura ( 4 + 2 =6 ) al usuario y nada ( 0 ) al grupo, y lectura ( 4 ) a los demás.

$ chmod 604 filename

Umask 022 es responsable del permiso predeterminado de un archivo

El valor predeterminado de umask es 0022, que decide el permiso predeterminado para un nuevo archivo o directorio. El permiso predeterminado para un directorio es 0777, para los archivos, los permisos son 0666, del cual se deduce el valor predeterminado de umask 0022 para obtener los archivos recién creados o el permiso de directorio.

El permiso predeterminado final para un archivo se calcula como se muestra a continuación:

  • Permiso de archivo predeterminado:666
  • Máscara predeterminada:022
  • Permiso de archivo predeterminado final:644

El permiso predeterminado final para un directorio se calcula como se muestra a continuación:

  • Permiso de directorio predeterminado:777
  • Máscara predeterminada:022
  • Permiso de directorio predeterminado final:755

Puede cambiar el valor de umask al valor apropiado de lo que necesita según el cálculo anterior. Por ejemplo, si no desea que nadie más que el usuario (propietario) haga nada en el archivo o directorio, puede asignar umask como 0077.

$ umask 0077

Después de esto, si crea un archivo o directorio, tendrá permisos solo para el usuario como se muestra a continuación:

$ > testfile
$ ls -l testfile
-rw------- 1 sathiya sathiya 0 Mar 17 08:23 testfile

Linux
  1. Linux:¿comprensión de los permisos y tipos de archivos de Unix?

  2. ¿Leer y escribir en el mismo archivo en Linux sin sobrescribirlo?

  3. ¿Cómo habilito la indexación de archivos y directorios de Apache en Linux o UNIX?

  4. UNIX/Linux:Cómo usar Sticky Bit en directorios y archivos

  5. Preguntas de la entrevista de Linux:permisos básicos de archivos y directorios

9 ejemplos rápidos de comandos chmod en Linux

Comando Chmod en Linux (Permisos de archivo)

Ejemplos de comandos chmod de Linux

Administre directorios y permisos de archivos con chmod Recursive

Bit de ejecución vs lectura. ¿Cómo funcionan los permisos de directorio en Linux?

Comprensión de los permisos y tipos de archivos de UNIX