Introducción a los permisos de los archivos

Cada archivo o directorio tiene tres niveles de propiedad:

A cada nivel de propiedad se le pueden asignar los siguientes permisos:

Tenga en cuenta que el permiso de ejecución para un archivo le permite ejecutar ese archivo. El permiso de ejecución para un directorio le permite acceder al contenido del directorio, pero no ejecutarlo.

Cuando se crea un nuevo archivo o directorio, se le asigna automáticamente el conjunto de permisos por defecto. El permiso por defecto para un archivo o directorio se basa en dos factores:

Permisos de base

Cada vez que se crea un nuevo archivo o directorio, se le asigna automáticamente un permiso base.

Los permisos base de un archivo o directorio pueden expresarse en valores symbolic o octal.

PermissionSymbolic valueOctal value
No hay permiso0
Ejecutar–x1
Escriba-w-2
Escribir y ejecutar-wx3
Leerr–4
Leer y ejecutarr-x5
Leer y escribirrw-6
Leer, escribir, ejecutarrwx7

El permiso base para un directorio es 777 (drwxrwxrwx), que concede a todo el mundo los permisos de lectura, escritura y ejecución. Esto significa que el propietario del directorio, el grupo y otros pueden listar el contenido del directorio, crear, borrar y editar elementos dentro del directorio, y descender en él.

Tenga en cuenta que los archivos individuales dentro de un directorio pueden tener su propio permiso que podría impedirle editarlos, a pesar de tener acceso ilimitado al directorio.

El permiso base para un archivo es 666 (-rw-rw-rw-), que concede a todo el mundo los permisos de lectura y escritura. Esto significa que el propietario del archivo, el grupo y otros pueden leer y editar el archivo.

Ejemplo 1

Si un archivo tiene los siguientes permisos:

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file

Ejemplo 2

Si un directorio tiene los siguientes permisos:

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory

Nota

El permiso base que se asigna automáticamente a un archivo o directorio es not el permiso por defecto con el que termina el archivo o directorio. Cuando se crea un archivo o directorio, el permiso base es alterado por el umask. La combinación del permiso base y el umask crea el permiso por defecto para los archivos y directorios.

Máscara del modo de creación de archivos del usuario

La umask es una variable que elimina automáticamente los permisos del valor de permiso base cada vez que se crea un archivo o directorio para aumentar la seguridad general de un sistema linux.

El umask puede expresarse en symbolic o octal.

PermissionSymbolic valueOctal value
Leer, escribir y ejecutarrwx0
Leer y escribirrw-1
Leer y ejecutarr-x2
Leerr–3
Escribir y ejecutar-wx4
Escriba-w-5
Ejecutar–x6
No hay permisos7

El valor por defecto de umask para un usuario estándar es 0002. El valor por defecto de umask para un usuario root es 0022.

El primer dígito de umask representa los permisos especiales (sticky bit, ). Los tres últimos dígitos de umask representan los permisos que se quitan al usuario propietario (u), al propietario del grupo (g), y a otros (o) respectivamente.

Ejemplo

El siguiente ejemplo ilustra cómo el umask con un valor octal de 0137 se aplica al archivo con el permiso base de 777, para crear el archivo con el permiso por defecto de 640.

Figura – Aplicación de la umask al crear un archivo

Permisos por defecto

El permiso por defecto para un nuevo archivo o directorio se determina aplicando el umask al permiso base.

Ejemplo 1

Cuando un standard user crea un nuevo directory, el umask se establece en 002 (rwxrwxr-x), y el permiso base para un directorio se establece en 777 (rwxrwxrwx). Esto hace que el permiso por defecto sea 775 (drwxrwxr-x).

 Symbolic valueOctal value
Base permissionrwxrwxrwx777
Umaskrwxrwxr-x002
Default permissionrwxrwxr-x775

Esto significa que el propietario del directorio y el grupo pueden listar el contenido del directorio, crear, borrar y editar elementos dentro del directorio, y descender en él. Los demás usuarios sólo pueden listar el contenido del directorio y descender a él.

Ejemplo 2

Cuando un standard user crea un nuevo file, el umask se establece en 002 (rwxrwxr-x), y el permiso base para un archivo se establece en 666 (rw-rw-rw-). Esto hace que el permiso por defecto sea 664 (-rw-rw-r--).

 Symbolic valueOctal value
Base permissionrw-rw-rw-666
Umaskrwxrwxr-x002
Default permissionrw-rw-r–664

Esto significa que el propietario del archivo y el grupo pueden leer y editar el archivo, mientras que los demás usuarios sólo pueden leerlo.

Ejemplo 3

Cuando un root user crea un nuevo directory, el umask se establece en 022 (rwxr-xr-x), y el permiso base para un directorio se establece en 777 (rwxrwxrwx). Esto hace que el permiso por defecto sea 755 (rwxr-xr-x).

 Symbolic valueOctal value
Base permissionrwxrwxrwx777
Umaskrwxr-xr-x022
Default permissionrwxr-xr-x755

Esto significa que el propietario del directorio puede listar el contenido del mismo, crear, borrar y editar elementos dentro del directorio, y descender en él. El grupo y los demás sólo pueden listar el contenido del directorio y descender a él.

Ejemplo 4

Cuando un root user crea un nuevo file, el umask se establece en 022 (rwxr-xr-x), y el permiso base para un archivo se establece en 666 (rw-rw-rw-). Esto hace que el permiso por defecto sea 644 (-rw-r—​r--).

 Symbolic valueOctal value
Base permissionrw-rw-rw-666
Umaskrwxr-xr-x022
Default permissionrw-r-r–644

Esto significa que el propietario del archivo puede leer y editar el archivo, mientras que el grupo y otros sólo pueden leer el archivo.