Lo primero que hay que decir es que para conseguir toda la información sobre los comandos involucrados en el tema de permisos podeis consultar los comandos man chmod, man chown y man chgrp.
Información de un archivo/directorio
Cuando obtienemos información sobre un archivo/directorio con el comando ls, existen diferentes campos que te dicen que clase de permisos el archivo/directorio tiene.Ejemplo:
[user@localhost]# ls -l
-rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 test
En la primera columna se pueden ver una serie de letras y guiones -rwxr-x---, estas letras nos dicen quien en el sistema, y que clases de permisos tiene el archivo test.
Estas letras están agrupadas en tres grupos con tres posiciones cada uno, más una primera posición que nos dice de que clase de archivo se trata (los mas normales (d) directorios, o (-) archivos de datos). En nuestro ejemplo la primera posición es (-) con lo cual el archivo test, es un archivo de datos (binario/ejecutable en este ejemplo).El primer grupo de tres (rwx en nuestro caso) nos dice que clase de permisos tiene el dueño del fichero (u)(user/owner)
El segundo grupo de tres (r-x en nuestro caso) nos dice que clase de permisos tiene el grupo del fichero (g)(group).
Y el último grupo de tres (--- en nuestro caso) nos dice que clase de permisos tienen todos los demás usuarios del sistema sobre este
fichero (o)(others).
r :significa permiso para leerLa segunda columna pepito, nos dice quien es el dueño del fichero,(pepito en este caso).
w :significa permiso para escribir
x :significa permiso para ejecutar
La tercera columna depart1, nos dice cual es el grupo del fichero (depart1 en este caso).
La cuarta columna 4348, nos dice el tamaño del fichero.
La quinta columna Nov 24 16:19, nos dice cual es la fecha y hora de la última modificación.
La sexta columna test, nos dice cual es el nombre del fichero/directorio.
Asi pues, el fichero test de nuestro ejemplo tiene los siguientes permisos:
- pepito puede leer, escribir/modificar, y ejecutar el fichero test.
- Los usuarios pertenecientes al grupo depart1 puede leer, y ejecutar pero no escribir/modificar.
- Los demás usuarios no pueden hacer nada, ni leerlo, ni escribir/modificar, ni ejecutarlo.
Como cambiar los permisos/dueño/grupo de un archivo/directorio?
Para cambiar el dueño del fichero se utiliza el comando : chown usuario fichero Para cambiar el grupo del fichero se utiliza el comando: chgrp grupo fichero
Para cambiar los permisos se utiliza el comando: chmod permisos fichero
Los permisos se pueden especificar de diferentes maneras, una serie de ejemplos, es lo mejor para comprenderlo:
chmod ugo+rwx test (da permisos rwx a todos, user,group,others)
chmod ugo-x test (quita permiso x (ejecucion) a todos, user,group,others)
chmod o-rwx test (quita permisos rwx a others)
chmod u=rwx,g=rx test (da permisos rwx a user, rx a group y ninguno a others)
Asi podriamos continuar con todas las posibles combinaciones de letras, es cuestión de usar la imaginación ;-)
Existe otro metodo que utiliza numeros, en vez de letras para asignar permisos, la siguiente tabla nos puede ayudar un poco a comprender esta manera:
r w x VALOR DECIMAL
0 0 0 0 (000 binario es 0 en decimal)
0 0 1 1 .........
0 1 0 2 .........
0 1 1 3 .........
1 0 0 4 (100 binario es 4 en decimal)
1 0 1 5 .........
1 1 0 6 .........
1 1 1 7 (111 binario es 7 en decimal)
1 significa activado y 0 desactivado, o sea 101, activa r y x, y
desactiva w. Sabiendo esto solo tenemos que usar el valor decimal para
dar solo permisos de lectura y ejecucion, un ejemplo aclarara esto.
chmod 750 test
da permisos rwx al usuario (7=111)
da permisos r-x al grupo (5=101)
da permisos --- a los demas (0=000)
Esto es todo por hoy, espero que tengan un poco mas claro lo de los
permisos de ficheros en Linux y que le vayan perdiendo el miedo a la
linea de comandos.
Fuente: www.linux-es.org
1 comentario:
Fuiste mi salvador¡¡¡ jejeje. Muchìsimas gracias amigo... me angustiè mucho al no poder abrir mis archivos...
muchas gracias nuevamente explicas de manera bastane sencilla y concisa.
Publicar un comentario