miércoles, 13 de enero de 2010

Que son los permisos y como cambiarlos desde consola. Ubuntu

¿Qué son los permisos?
Los permisos o atributos de una carpeta o un fichero son unos números o letras que indican si el archivo o la carpeta pueden ser usados por todo el mundo o sólo por algunos.
Fichero=Archivo
La explicación es válida para todo tipo de carpetas o ficheros (png, txt, jpg, avi, rmvb, wav, mp3…).
Para ver los permisos de un fichero, abrimos una terminal, Aplicaciones -> Accesorios -> Terminal, vamos a la carpeta donde está el fichero (con el comando cd y la ruta) y escribimos:
ls -l
O si queremos directamente ver el fichero o carpeta:
ls -l | grep Prueba
Donde dice Prueba, poned la carpeta o fichero (lista.txt…)
Y al principio de cada fila, en la primera columna, veremos algo así:
-rwxrwxrwx el guión inicial indica que es un archivo.
drwx—— la d inicial indica que es un directorio o carpeta (directory).

Cada carpeta o fichero tiene 3 grupos de permisos con 3 permisos cada uno.
* El primer grupo indica los permisos del usuario dueño del fichero.
* El segundo grupo indica los permisos del grupo de usuarios del fichero.
* El tercer grupo indica los permisos para el resto de usuarios.
Los 3 tipos de permisos que hay son:
* Lectura (r): Se representa con la letra r, que viene del inglés Read. Indica si puedes abrir el fichero y ver su contenido.
* Escritura (w): Se representa con la letra w, que viene del inglés Write. Indica si puedes modificar el contenidoo del fichero.
* Ejecución (x): Se representa con la letra x, que viene del inglés eXecution. Indica si podemos ejecutar el archivo (script, instalador…).
El resumen a la hora de la verdad es que nosotros vemos que los ficheros tienen los permisos del tipo:
rwxrwxrwx -> 777 (se lee siete, siete, siete)
rw-r-xr-x -> 655 (se lee seis, cinco, cinco)
r——– -> 400 (se lee cuatro, cero, cero)
El equivalente númerico viene del binario.
el 7 equivale en binario a 111 y el 0 a 000.
111 -> RWX -> 7
110 -> RW- -> 6
101 -> R-X -> 5
100 -> R– -> 4
011 -> -WX -> 3
010 -> -W- -> 2
001 -> –X -> 1
000 -> — -> 0
El binario va por potencias de dos, entonces 111 en binario = 2²+2¹+2⁰ = 4+2+1=7. 101 = 2²+0+2⁰ = 5
Otra forma de verlo es que el 1 equivale a que se pone algo y el cero a que no se pone nada, entonces sabiendo que el orden de los permisos es rwx, podemos deducir que un 7, que equivale a 111 querrá decir que escribimos rwx y un 5, que equivale a 101, quiere decir que pongamos permisos donde hay un 1 siguiendo el orden, es decir r-x.
Ahora si aplicamos esto una vez por cada grupo (usuario, grupo, otros) nos salen los permisos de la forma rwxrwxrwx.

-------------------------------------------------------------------------------------

Ahora vamos a ver como se cambian:

Nos vamos a Aplicaciones -> Accesorios -> Terminal
Por ejemplo yo le quiero dar permisos de lectura, escritura y ejecución para los 3 grupos a una carpeta llamada Prueba que está en el Escritorio, así que navego hasta el escritorio:
cd Escritorio
Y tengo dos opciones,la numérica y la alfabética:
1.- chmod 777 Prueba
2.- chmod rwx Prueba
Si la carpeta pertenece a root, tendremos que hacerlo asi:
1.- sudo chmod 777 Prueba
2.- sudo chmod rwx Prueba
Y meter nuestra password.
Si queremos que se haga de manera recursiva, es decir, que los ficheros y carpetas contenidos en Prueba, también reciban estos cambios, hacemos esto:
1.- chmod -R 777 Prueba
2.- chmod -R rwx Prueba
Cualquiera de las dos y teniendo en cuenta lo de sudo.
Un par de ejemplos más:
Queremos que el usuario tenga RWX, el grupo RW y los demás R, en la carpeta Prueba:
1.- chmod 764 Prueba
2.- chmod u=rwx,g=rw,o=r Prueba
u equivale a usuario (user) g a grupo (group) y o a otros (others). También sirve lo de -R y sudo.
Queremos que el usuario tenga RW, el grupo R y los demás R, en la carpeta Prueba:
1.- chmod 644 Prueba
2.- chmod u=rw go=rw Prueba
Igualmente sirve lo de -R y sudo.
Para quitar permisos, realmente es cambiarlos por otros, asi que es lo mismo que aquí se explica.
En fin, espero que haya quedado más o menos claro.

No hay comentarios:

Publicar un comentario