[Linux] umask

Cuando un nuevo archivo es creado en un sistema Linux, recibe los permisos por defecto del sistema. Este permiso por defecto es defindo por el comando mask, y se modifica mediante umask, Al igual que sucedía con chmod, los permisos para directorios y archivos en Linux están en la forma de una estructura 3×3, llamados bits. Tres tipos de permisos (lectura, escritura y ejecución) para tres tipos de usuarios (dueño, grupos y otros).

En la salida del comando ls -l los nueve caracteres de letras r, w o x (no presente en este ejemplo) representan los permisos para los tres tipos de usuarios. Los guiones separan los permisos por usuarios.

-rw-r–r– 1 usuario usuario 272 Mar 17 08:22 prueba.txt

En el ejemplo anterior:

  • El usuario tiene permisos de lectura y escritura (rw).
  • El grupo tiene permiso de lectura (r).
  • Otros tiene permiso de lectura (r).

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

0 = Ningún permiso (Lectura = 0 + Escritura = 0 + Ejecución= 0)
1 = Permiso de Ejecución (Lectura = 0 + Escritura = 0 +Ejecución = 1)
2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 +Ejecución = 0)
3 = Permiso de Escritura y Ejecución (Lectura = 0, Escritura =2, Ejecución = 1)
4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 +Ejecución = 0)
5 = Permiso de Lectura y Ejecución (Lectura = 4 + Escritura = 0 + Ejecución = 1)
6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura =2 + Ejecución = 0)
7 = Permiso de Lectura, Escritura y Ejecución (Lectura = 4 +Escritura = 2 + Ejecución = 1)

Haciendo un repaso de chmod, si queremos modificar estos permisos, estos valores numéricos se usan para los permisos para los tres grupos. El primer valor es para el usuario, el segundo para el grupo y el tercero para otros, siguiendo con la relación numérica arriba expuesta.

umask 022 es otorga los permisos por defecto a un archivo.

El valor por defecto de umask es 0022, lo cual decide los permisos por defecto para un nuevo archivo o directorio.
El permiso por defecto para un directorio es 0777, para los archivos los permisos son 0666 desde el cual el valor por defecto 0022 es deducido para obtener los permisos de un directorio o archivo recién creado.

Los permisos por defecto para un archivo es 0666, pero el valor por defecto final se muestra a continuación:

  • Permiso por defecto para archivo: 666.
  • Umask por defecto: 022.
  • Permiso final por defecto: 644.

Los permisos por defecto para un directorio son 0777 , pero el valor por defecto final es calculado como se muestra a continuación:

  • Permiso por defecto para directorio: 777.
  • Umask por defecto: 022.
  • Permiso final por defecto: 755.

Puedes cambiar el valor de umask por un valor apropiado segun tus necesidades basándote en el calculo mencionado arriba. Por ejemplo, si no deseas que nadie mas que el usuario (owner) realice algo en el directorio, entonces debes cambiar el umask a 0077.

$ umask 0077

Después de esto si creas un directorio o archivo, solo tendrás permisos el usuario:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s