Permisos de acceso

Una de las caracteristicas de Linux es la posibilidad de que cada archivo ó directorio tenga permisos individuales de acceso y utilización. Esta caracteristica es dada por el sistema de archivos. Todos los archivos y directorios del sistema poseen permisos de acceso, que son tres: Lectura (r), Escritura (w) y Ejecución (x). Estos permisos pueden ser aplicados al propietario del archivo, al grupo de usuarios al que pertenece el propietario y a todos los demás usuarios del sistema.

Con el comando ls -l podemos ver dichos permisos de un archivo. Y con el comando ls -ld podemos ver los permisos de un directorio:

En la captura anterior observamos los permisos del archivo (lista.txt) que son los primeros 10 caracteres de la línea, siendo el primer caracter el que especifica si se trata de un archivo o un directorio, si vemos como primer caracter un guión (-) indica que se trata de un archivo. Los 9 caracteres restantes son los permisos, se dividen en tres grupos de tres caracteres cada uno, el primer grupo especifica los permisos del propietario del archivo, el segundo grupo de tres caracteres especifica los permisos del grupo de usuarios al que pertenece el propietario del archivo y el tercer grupo especifica los permisos para el resto de los usuarios del sistema ó mejor conocido como “otros”.

En este caso los permisos son: – r w -r- -r – –

La nomenclatura de los permisos es la siguiente:

 

r   Significa permiso de lectura habilitado.

w   Significa permiso de escritura habilitado.

x   Significa permiso de ejecución habilitado.

–   Significa que NO está habilitado el permiso.

 

En el caso anterior del archivo lista.txt se tiene:

Para el propietario: r w –  Habilitado el permiso de lectura y escritura y deshabilitado el permiso de ejecución.

Para el grupo: r – – Habilitado el permiso de lectura, Deshabilitados los permisos de escritura y ejecución.

Para los otros usuarios: r – – Habilitado el permiso de lectura, Deshabilitados los permisos de escritura y ejecución.

Si vemos los permisos en conjunto: – r w – r – – r – –

Podemos ver que hay otra forma de interpretarlos númericamente con el sistema o base númerico octal:

 

r w – r – – r – –

1 1 0 1 0 0 1 0 0

Siendo 1 para habilitado y 0 para deshabilitado.

Por lo que los permisos del archivo lista.txt son 644.

Como ya mencionamos los permisos a un directorio se ven con el comando ls -ld:

Los permisos del directorio (Documentos) son drwxr-xr-x, como podemos apreciar el primer caracter es una “d” pues se trata de un directorio, los permisos del propietario son rwx, los del grupo son r-x y los de los otros usuarios son r-x por lo tanto, los permisos de forma númerica en octal serían 755.

 

 

Cambiando los permisos de un directorio o archivo.

 

El comando que nos sirve para cambiar permisos a los archivos o directorios es el chmod, que viene de change mode, cambiar modo. La estructura del comando es la siguiente:

 

chmod [quien][+/-][permiso] [archivo]

El parametro [quien] se forma de una letra que puede variar de tres diferentes, para indicar los permisos de quien se va a afectar, dichas letras que puede tomar el parametro son las siguientes:

u  Usuario dueño del archivo

g  Grupo

o  Otros

+/- Quitar o poner, el parametro + nos servirá para poner permisos, mientras que el parametro – nos servira para quitarlos.

[permiso] Aquí simplemente se colocan los permisos de los que antes hablamos, rwx, lectura, escritura, ejecución.

[archivo] finalmente se pone el archivo o directorio al cual se le aplicarán los cambios.

A manera de ejemplo vamos a cambiar los permisos del archivo lista.txt

Si queremos asignarle el permiso de ejecución al usuario propietario haríamos:

Al mismo archivo le queremos asignar los permisos de escritura y ejecución al grupo:

 

 

Y a los otros queremos de la misma forma asignarle los permisos de escritura y ejecución:

 

Todo lo podríamos haber puesto de un solo golpe, separando con comas a los usuarios que queriamos afectar, para ejemplicar esto vamos a afectar al propietario, grupo y otros, quitandole permisos, al propietario el de ejecución, al grupo escritura y ejecución y a los otros escritura y ejecución, la sintaxis debe de llevar el parametro (-) que indica que queremos quitar permisos.

 

Si quisieramos afectar a todos los tipos de usuarios, agregando o quitandole un permiso, podemos usar el parametro “a” de all (todos), por ejemplo que quisieramos que todos (propietario, grupos y otros) tuvieran el permiso de ejecución:

 

Forma númerica.

También podemos hacer el cambio de permisos de forma numerica, afectando a los tres grupos o dejandolos como estan actualmente, para esto tenemos que tener en cuenta el valor numerico de cada permiso.

r = 4, w = 2 y x = 1

De tal modo que si estan habilitados todos los permisos para un grupo sería: 7, permisos de solo lectura 4, permisos de lectura y escritura 6, permisos de lectura y ejecución 5, etc. Y tomar ese valor para formar los permisos de cada grupo de forma individual.

 

Por ejemplo si queremos habilitar todos los permisos para todos los grupos (777) al archivo lista.txt:

 

 

 

Si queremos que ahora ese mismo archivo presente los permisos 644, rw- r– r– (lectura y escritura para el propietario, lectura para el grupo y los otros) haríamos:

 

 

Espero que les sirva este post, comenten porfa =D saluLINUX

Powered By DT Author Box

Written by chris

Permisos en Linux (chmod)

One thought on “Permisos en Linux (chmod)

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: