CHMOD, comando para jugar con los permisos

lunes, 7 de septiembre de 2009 en 18:30

CHMOD (”Change mode”) es un comando UNIX que permite cambiar los permisos de acceso de un archivo. Cada archivo tiene nueve clases de acceso, que pueden ser permitidas o denegadas. Se pueden aplicar diferentes permisos al dueño del fichero, al grupo al que el fichero pertenece y al resto de usuarios. Cada una de estas tres clases de usuarios (dueño, grupo, resto de usuarios) puede tener permisos de lectura, escritura y ejecución“.

Lo primero que hay que tener en cuenta es que los permisos que tiene un archivo son para; dueño, grupo yresto. Si tenemos en cuenta esto cuando escribimos; “chmod dgr“, la “d” pertenecería a los permisos del “dueño“, la “g” a los del “grupo” y la “r” a los de el “resto” de usuarios. Ejemplo:

# chmod 765

Con esto le estamos dando un permiso de “7” al dueño, un permiso de “6” al grupo y uno de “5” al resto.

Existen 3 tipos de permisos; “r“, “w” y “x“.

r” o “Read (lectura): El archivo/carpeta solo puede ser leído, pero no modificado.
w” o “Write(escritura): El archivo/carpeta puede ser modificado.
x” o “eXecute(ejecución): El archivo/carpeta puede ser ejecutado.

  • Como saber el tipos de permiso:

Para ver los tipos de permisos desde consola necesitamos poner ls -l (ls = listado -l = utilizar un formato de listado largo, o mostrar atributos) dentro de la carpeta en la que queremos ver los atributos. Usare como ejemplo la carpeta Amarok que se encuentra dentro de mi papelera (.Trash):

# ls -l
-rw-r--r-- description-pak
drwxr-xr-x doc-pak
-rwxr-xr-x libtool
-rw------- libtool.save

La información es mucho más detallada, pero he puesto esto como esquema de lo que os encontrareis cuando ejecutéis “ls -l”.

  • Fijando permisos, con números:

En este punto es donde conoceremos los diferentes permisos que le podemos dar a cada archivo/carpeta con el comando CHMOD. Los permisos serán los siguientes:

4 = lectura
2 = escritura
1 = ejecución

6 (4+2) = lectura y escritura
5 (4+1) = lectura y ejecución
3 (2+1) = escritura y ejecución
7 (4+2+1) = lectura, escritura y ejecución

Por lo cual si a un archivo le damos un permiso de 765, estamos diciendo que:

El dueño tiene permiso de lectura, escritura y ejecución; el grupo tiene permiso de lectura y escritura; y el resto tiene permiso de lectura y ejecución.

  • Fijando permisos, con letras:

En esta ocasión veremos los diferentes permisos, pero esta vez con letras:

0 = — = sin acceso
1 = –x = ejecución
2 = -w- = escritura
3 = -wx = escritura y ejecución
4 = r– = lectura
5 = r-x = lectura y ejecución
6 = rw- = lectura y escritura
7 = rwx = lectura, escritura y ejecución

Así pues un archivo con permisos; rwx r-x r– nos estaría diciendo que:

El dueño tiene permiso de lectura, escritura y ejecución; el grupo tiene permiso de lectura y ejecución; y el resto tiene permiso de lectura.

Para dar permiso a un archivo pondremos delante del tipo de permiso que le queremos dar “+” o “-” para activar (+) o desactivar (-) el/los atributo/os. Por lo cual si usamos; “chmod -w archivo.sh” le estaremos diciendo al sistema lo siguiente:

Desactivar el atributo “escritura” y “ejecución” (en este caso) del fichero “archivo.sh

Esto seria lo básico a tener en cuenta cuando usemos el comando CHMOD desde consola. Espero que esto haya despejado alguna duda existente, por mi parte lo ha hecho.

Fuente

ACTUALIDAD GNU/Linux | Powered by Actualidad Linux | Entries (RSS) | Comments (RSS) | Designed by Pablo | XML Coded By Pablo