lunes, 3 de diciembre de 2018

Permisos de archivos en Linux (sistema octal)


La combinación de valores de cada grupo de los usuarios forma un número octal, el bit x es 20 es decir 1, el bit w es 21es decir 2, el bit r es 22 es decir 4, tenemos entonces:

r = 4
w = 2
x = 1

La combinación de bits encendidos o apagados en cada grupo da ocho posibles combinaciones de valores, es decir la suma de los bits encendidos:




Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un número de tres cifras que conforman los permisos del archivo o del directorio. Esto es más fácil visualizarlo con algunos ejemplos:

Estableciendo los permisos con el comando chmod


Habiendo entendido lo anterior, es ahora fácil cambiar los permisos de cualquier archivo o directorio, usando el comando chmod (change mode), cuya sintaxis es la siguiente:











chmod [opciones] permisos archivo[s], algunos ejemplos:




Los ejemplos anteriores establecen los permisos correspondientes que el usuario propietario desea establecer, el tercer ejemplo (chmod 700 julio*) cambiará los permisos a todos los archivos que empiezen con julio (julio01, julio02, julio_respaldo, etc.) debido al caracter '*' que es parte de las expresiones regulares que el shell acepta, e indica lo que sea. El último ejemplo por lo tanto cambiará los permisos a los archivos dentro del directorio actual.
Una opción común cuando se desea cambiar todo un árbol de directorios, es decir, varios directorios anidados y sus archivos correspondientes, es usar la opción -R, de recursividad: 


Esto cambiará los permisos a 755 (rwxr-xr-x) del directorio respaldos y de todos los subdirectorios y archivos que estén contenidos dentro de este.

Estableciendo permisos en modo


Otra manera popular de establecer los permisos de un archivo o directorio es a través de identificadores del bit (r,w, o x) de los permisos, como ya se vió anteriormente, pero ahora identificando además lo siguiente:

Ø  al usuario con la letra u
Ø  al grupo con la letra g
Ø  a otros usuarios con la letra o
Ø  y cuando nos referimos a todos (usuario, grupo, otros) con la letra a (all, todos en inglés)
Ø  el signo + para establecer el permiso
Ø  el signo - para eliminar o quitar el permiso

La sintaxis es muy simple chmod augo [+|-]rwx[...] archivo[s], asi por ejemplo, si queremos que otros tengan permiso de escritura sería chmod o+w archivo, todos los usuarios con permisos de ejecución chmod a+x archivo.

En este modo de establecer permisos, solo hay que tomar en cuenta que partiendo de los permisos ya establecidos se agregan o se quitan a los ya existentes. Veámoslo con ejemplos su manera de trabajar:

No hay comentarios:

Publicar un comentario