Permisos en Linux

Leave a Comment

En Linux cada fichero y directorio tiene asociados permisos de lectura, escritura y ejecución.

Los permisos en ficheros se pueden representar mediante letras o en octal (valor entre paréntesis):
  • r - Permiso de lectura. ( 4 )
  • w - Permiso de escritura. ( 2 )
  • x - Permiso de ejecución. ( 1 )
La representación en octal es la suma de los permisos de cada campo, es decir, si posee permiso de lectura y escritura tendrá el valor 4+2+0=6.

Los permisos en directorios son un poco diferentes:
  • r - Permite al usuario mostrar los archivos contenidos dentro del directorio.
  • w - Permite al usuario crear, eliminar y renombrar archivos así como modificar las propiedades del directorio.
  • x - Permite al usuario acceder al directorio y a los archivos que contiene.
En los permisos podemos distinguir tres campos:
  • Propietario: rwx
  • Grupo: rwx
  • Otros: rwx
Importante: Si carece de alguno aparecerá el carácter “-” indicando que no tiene dicho permiso.

Ejemplo
Suponemos los siguientes permisos de un archivo: rwx r-- r-x. En octal: 745
El propietario podrá leer, escribir y ejecutar dicho archivo, el grupo sólo leerlo y otros podrán leerlo y ejecutarlo. La representación en octal sería:
  • Propietario: 4+2+1=7
  • Grupo: 4+0+0=4
  • Otros: 4+0+1=5
Caso práctico


Para experimentar un poco podemos abrir un terminal y utilizar la orden “ls” que lista los archivos y directorios del directorio actual. Además añadiremos la opción “-l” para obtener información adicional. En mi caso:

$ ls -l

drwxrwxrwx.  1 pirobtumen pirobtumen          6 nov 17 22:03 Documentos

Para analizar los permisos nos fijamos en la cadena “drwxrwxrwx”. Según lo que hemos aprendido podemos descomponerlo en diferentes partes: d / rwx / rwx / rwx.
La ‘d’ inicial nos indica que es un directorio. Los permisos serían:
  • Propietario: rwx -> 4 + 2 +1 = 7
  • Grupos: rwx -> 4 + 2 +1 = 7
  • Otros: rwx -> 4 + 2 +1 = 7
Ahora vamos a crear un archivo nuevo con la orden “touch”:
$ touch prueba.txt

Analizamos sus permisos:
$ ls -l prueba.txt

-rw-rw-r--. 1 pirobtumen pirobtumen 0 ene 30 12:36 prueba.txt

E incluso podemos modificarlos con la orden “chmod”:
$ chmod 705 prueba.txt
*Nota: el valor 705 son los permisos en octal.

Comprobamos sus nuevos permisos:
$ ls -l prueba.txt
-rwx---r-x. 1 pirobtumen pirobtumen 0 ene 30 12:36 prueba.txt

También podemos usar la orden “chmod” de la forma:
$ chmod <id_campo><operador><tipo_permiso> <archivo>
  • id_campo puede ser propietario (u), grupo (g) u otros (o).
  • operador puede ser (+) para añadir o (-) para eliminar permisos.
  • tipo_permiso será lectura (r), escritura (w) o ejecución (x).
Para más información podéis buscar en internet o en el manual “$man chmod”, así como “touch” o “ls”.

Licencia:
Licencia Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.

0 comentarios:

Publicar un comentario