domingo, 28 de agosto de 2011

Sesión 4 Comandos Cambio de permisos (Método simbólico y método numérico)

ls -l
El comando ls lista el contenido de un directorio, añadiendo el parámetro -l muestra información adicional de los archivos, entre las cuales se encuentran los permisos (lectura, escritura y ejecución) de ese archivo para cada categoría (usuario, grupo, otros), el usuario propietario y el grupo propietario.

Ejemplo
mi-usuario@maquina:~$ ls -l fire1
-rwxr--r-- 1 carmeth eddye 0 2011-08-28 23:44 fire1
    |
    |--->Permisos por categoría en el siguiente orden: usuario, grupo y otros

Del ejemplo anterior observar la línea rwx  r- - r- - , se encuentran ordenados por categorías(usuario, grupo y otros). Cada categoría tiene determinados permisos: lectura (simbolizado con r), escritura (simbolizado con w) y ejecución (simbolizado con x). 


Retornando al ejemplo, la primer categoría "usuario" tiene permisos rwx, lo cual significa que el usuario propietario de ese archivo (en este caso el usuario carmeth) tendrá los permisos de lectura (r), escritura(w) y ejecución(x). 


La segunda categoría "grupo" tiene permisos r- -, lo cual significa que el grupo propietario de ese archivo (el grupo eddye) únicamente tendrá permisos de lectura(r).


La tercer categoría "otros" al igual que la categoría grupos solo tiene permisos r- -, por lo que un usuario que no sea el usuario carmeth y además no pertenezca al grupo eddye solo tendrá permiso para leer ese archivo(r).



chmod
Cambia los permisos de lectura, escritura y/o ejecución de un archivo o carpeta. Para cambiar permisos se puede realizar por el método simbólico o método numérico


1. Método Simbólico


Categoría
Operador
Permiso
Usuario (simbolizado con u)
+ (agregar permiso/s)
Lectura (simbolizado con r)
Grupo (simbolizado con g)
- (quitar permiso/s)
Escritura (simbolizado con w)
Otros (simbolizado con o)
= (asignar permiso/s)
Ejecución (simbolizado con x)


Ejemplos utilizando el método simbólico:


Para este ejemplo creamos 3 archivos (file1, file2 y file3)


mi-usuario@maquina:~$ touch file1 file2 file3
mi-usuario@maquina:~$


Leemos los permisos del archivo file1


mi-usuario@maquina:~$ 
ls -l file1

-rw-r--r-- 1 carmeth carmeth 0 2011-08-29 00:44 file1

El archivo file1 tiene en la categoría usuario permisos de lectura y escritura (rw), en la categoría grupo y en la categoría otros se tienen permisos de lectura (r) únicamente.

Primero a la categoría usuario (u) vamos a agregarle (+) permisos de ejecución (x).



mi-usuario@maquina:~$ sudo chmod u+x file1
mi-usuario@maquina:~$


Recuerda que si no eres propietario del archivo debes ejecutar el comando como usuario administrador (sudo), de lo contrario se mostrará la leyenda "Operación no permitida". Listamos los permisos del archivo file1 y observamos que en la categoría usuario se han agregado permisos de ejecución


mi-usuario@maquina:~$ 
ls -l file1
-rwxr--r-- 1 carmeth carmeth 0 2011-08-29 00:44 file1




Ahora en las categorías grupo (g) y otros (o) vamos a agregarle (+) permisos de escritura (w).



mi-usuario@maquina:~$ sudo chmod go+w file1
mi-usuario@maquina:~$


Observa que podemos ocupar una sola categoría o varias a la vez, lo mismo aplica con los permisos. Volvemos a listar los permisos de file1 y observamos que a las categorías grupo y otros se les añadió el permiso de escritura


mi-usuario@maquina:~$ 
ls -l file1
-rwxrw-rw- 1 carmeth carmeth 0 2011-08-29 00:44 file1


Ahora vamos a quitarle (-) permisos de lectura (r) a las 3 categorías (ugo) en el archivo file2. Primero listamos los permisos del archivo file2.


mi-usuario@maquina:~$ 
ls -l file2
-rw-r--r-- 1 carmeth carmeth 0 2011-08-29 00:44 file2

mi-usuario@maquina:~$ 
sudo chmod ugo-r file2

mi-usuario@maquina:~$


mi-usuario@maquina:~$ ls -l file2
--w------- 1 carmeth carmeth 0 2011-08-29 00:44 file2


2. Método numérico

Permiso
Equivalente numérico
Lectura
4
Escritura
2
Ejecución
1



En el método numérico se agregan permisos a las 3 categorías, cada permiso tiene su equivalente numérico como se muestra en la tabla. El método es muy simple ya que si quisieramos agregar varios permisos en una categoría simplemente se realiza la suma de los equivalentes numéricos. Ejemplo


4(Lectura)+2(Escritura) = 6 (Lectura y escritura)


4(Lectura)+2(Escritura)+1(Ejecución) = 7 (Lectura,Escritura y Ejecución) 


2(Escritura)+1(Ejecución) = 3 (Escritura y ejecución)


4(Lectura)+1(Ejecución) = 5 (Lectura y Ejecución) 


Nota: El número 0 equivale a no tener permisos


Ahora veamos como se ocupa el método numérico:


Primero listamos los permisos del archivo file3
mi-usuario@maquina:~$  ls -l file3
-rw-r--r-- 1 carmeth carmeth 0 2011-08-29 00:44 file3

A la categoría usuario vamos a darle permisos de lectura, escritura y ejecución (7).
A la categoría grupo vamos a darle permisos de lectura y escritura (6)
Por último a la categoría otros vamos a quitarle todos los permisos (0)


mi-usuario@maquina:~$ sudo chmod 760 file3
mi-usuario@maquina:~$



mi-usuario@maquina:~$ ls -l file3
-rwxrw---- 1 carmeth carmeth 0 2011-08-29 00:44 file3

Observa que el orden de los números aplica para las categorías usuario, grupo y otros respectivamente.


Vamos a ver que sucede si omitimos 1 o 2 números en el comando. 



mi-usuario@maquina:~$ sudo chmod 74 file3
mi-usuario@maquina:~$



mi-usuario@maquina:~$ ls -l file3
----rwxr-- 1 carmeth carmeth 0 2011-08-29 00:44 file3

Como podrás observar el comando anterior, asigno los permisos de izquierda a derecha, es decir, a la categoría otros le asignó el equivalente al número 4 (lectura), a la categoría grupo le asignó el equivalente al número 7 (lectura, escritura y ejecución), pero al omitir un número le asignó a la categoría usuario el equivalente al número 0, por lo que se le quitaron todos los permisos.


Finalmente se recomienda que el método numérico se utilice para asignar permisos a las 3 categorías y el método numérico para asignar permisos a una categoría en específico.

No hay comentarios:

Publicar un comentario