lunes, 5 de abril de 2010

Guia de Manejo de Permisos en Linux Para Principiantes

Los permisos para directorios y archivos en Linux están en la forma de una estructura 3 x 3. por ejemplo, tres tipos de permisos (lectura, escritura y ejecución) disponibles para tres tipos de usuarios (dueño, grupos y otros).

En la salida del comando ls -l los nueve caracteres desde la segunda posición hasta la décima representan los permisos para los tres tipos de usuarios.

-rw-r--r--  1 usuario usuario  272 Mar 17 08:22 test.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).

Los tres tipos de permisos de archivos:

  • read (lectura): permite leer el contenido del archivo.
  • write (escritura): permite escribir o modificar el archivo.
  • execute (ejecución): permite ejecutar archivos de programas.

Los tres tipos de permisos de directorios:

  • read (lectura): permite leer el contenido del directorio (ver archivos y sub-directorios).
  • write (escritura): permite escribir en el directorio (crear archivos y sub-directorios).
  • execute (ejecucion): permite entrar en el directorio.

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

  • read 4
  • write 2
  • execute 1

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

Cambiar Permisos de Archivos y Directorios Usando el Comando chmod

Puedes usar la representación octal o simbólica para cambiar los permisos de un directorio.

Representación octal de los permisos:

  • El primer numero es para usuario.
  • El segundo numero es para grupo.
  • El tercer numero es para otros.

Por ejemplo, dar permiso de lectura y escritura (4 + 2 = 6) para usuario y lectura (4) para el grupo y otros, seria así:

$ chmod 644 archivo


Por ejemplo, dar permiso de lectura y ejecución (4 + 1 = 5) para usuario y lectura (4) para el grupo y nada (0) para otros, seria así:

$ chmod 540 archivo


Por ejemplo, dar permiso de lectura y escritura (4 + 2 = 6) para usuario y nada (0) para el grupo y lectura (4) para otros, seria así:

$ chmod 604 archivo


Umask 022 es el Responsable de los Permisos por Defecto en 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.

El valor por defecto final para un archivo es calculado como se muestra a continuación:

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

El valor por defecto final para un directorio 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:

$ > archivo
$ ls -l archivo
-rw------- 1 usuario usuario 0 Mar 17 08:23 archivo

No hay comentarios: