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:
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:
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.