sábado, 19 de marzo de 2011

Uso de chmod para administrar permisos




Para entender mejor como administrar los permisos con el comando chmod, es necesario que entendamos cuales son los permisos que permite Linux.
Linux permite tres tipos de permisos:
-Lectura (r)
-Escritura (w)
-Ejecución (x)

Y el orden en el que muestra los valores y en el que debemos de introducirlos es el siguiente:

Usuario|Grupo|Otros

Linux aplica un valor de Bits a cada permiso:

-Lectura (r) ---------> 4
-Escritura (w) -----> 2
-Ejecución (x) -----> 1


Con lo cual el permiso de lectura+escritura sería igual que el valor 5 (4+1=5)
Ese (5) según donde esté colocado, dará esos permisos al usuario, al grupo o a otros.

Ejemplo:
Usuario|Grupo|Otros
    7            7         5
Con el ejemplo anterior, el usuario tiene permisos de lectura, escritura y ejecución, el grupo tiene también esos permisos, pero los que no sean usuario o del grupo, solo podrán leer y ejecutarlo, pero no escribir o modificarlo.

Sabiendo esto, es muy sencillo dar o quitar permisos a un archivo o directorio en linux usando el comando chmod.

Imaginemos que estamos en la terminal y nos situamos en la carpeta que queramos, luego, para ver los permisos del archivo prueba hacemos esto:

scorpyo@pc-era:~$ ls -al prueba
-rw-r--r-- 1 scorpyo scorpyo 0 2011-03-19 19:24 prueba

Con eso obtendremos los datos del archivo prueba en el siguiente formato:
Tipo|Usuario|Grupo|Otros
   -        rw-        r--       r--
            6          4          4
El comienzo indica el tipo de archivo y los permisos que tiene:

-        ---> indica que no es un directorio de lo contrario sería una "d" en lugar de un "-"
rw-    --> indica que el usuario tiene permisos de lectura y escritura = 6
r--      --> Indica que el grupo solo tiene permisos de lectura = 4
r--      --> Indica que quien no se ni el propietario ni pertenezca al grupo solo tiene permisos de lectura = 4

Con lo cual, el permiso de ese archivo se puede traducir en 644

Ahora, si queremos, que el archivo solo se pueda ver por el usuario, y ademas que lo pueda ejecutar sería algo como 700 y lo haríamos así:

scorpyo@pc-era:~$ chmod 700 prueba
scorpyo@pc-era:~$ ls -al prueba
-rwx------ 1 scorpyo scorpyo 0 2011-03-19 19:24 prueba

Como vemos, ahora el archivo solo se puede ver por el dueño y solo lo puede modificar este, además, se le ha añadido una “x” que significa que es ejecutable por el usuario.

Si queremos modificar los permisos de un archivo que no es nuestro, tendríamos que hacerlo con sudo, para autenticarnos como root.

Esto, creo que es lo más básico al respecto de los permisos.
Para más información, usar el manual de chmod.

Códico: man chmod

Saludos

No hay comentarios:

Publicar un comentario

Deja aquí tu mensaje...