—¡Aló, soporte técnico!
—¡$#%&%/$!...

—¡#%&#)*!...
—¡Listo! ya está arreglado, que tengas un buen día.

miércoles, 26 de febrero de 2014

Sistema de archivos en Linux (3ra. Parte)

En la parte anterior aprendimos sobre las particiones, las rutas absolutas y relativas y cómo montar y desmontar sistemas de archivos.


Ahora veamos la pertenencia y permisología de los archivos.

Pertenencia de los archivos:

El modelo de seguridad del sistema operativo Linux viene heredado de UNIX. Este modelo asegura que cada archivo le pertenezca a un único usuario y solo pertenezca a un solo grupo de usuarios. Esto como ya hemos aprendido aplica también para directorios, que ya sabemos que a la final son también archivos.

Solo el administrador del sistema, root, puede cambiar la pertenencia de los archivos.


Para revisar rápidamente la pertenencia de un archivo podemos usar el comando ls -l, con ello se lista los archivos de un directorio con su seguridad y pertenencia, la tercera y cuarta columna hace referencia al usuario dueño y al grupo dueño respectivamente.

Para cambiar la pertenencia de usuario de un archivo se debe ejecutar el comando chown usuario archivo:
Para cambiar la pertenencia de un grupo a un archivo se debe ejecutar el comando chgrp grupo archivo:
 

Se puede cambiar con chown la pertenencia del usuario y grupo con un solo comando:

Si deseamos que el cambio de usuario se aplique a todos los archivos de un directorio debemos usar el argumento -R en el comando chown:


Permisología de los archivos:

Una vez que sabemos a quien le pertenece ese archivo, es necesario saber que puede hacer cada quien con los archivos.

Listando los archivos via ls -l observamos la primera columna, esta muestra 10 caracteres, esto representa 10 bits, con la siguiente característica:

1er caracter: Tipo de archivo, visto en la primera parte de Sistemas de archivos Linux
2do, 3ro y 4to caracter: permiso de usuario denominado u
5to, 6to y 7mo caracter: permiso de grupo denominado g
8vo, 9no y 10mo caracter: permiso de otros denominado o

los permisos otorgados vienen en el formato rwx que significan:
r read, permiso de lectura
w write, permiso de escritura y molificación
x execution, permiso de ejecución
- ninguno.

Por lo tanto podemos decir que -rw-r--r-- significa, un archivo que todos pueden leer, solo el usuario dueño puede modificar y nadie puede ejecutar. Este permiso tiene una notación octal de 644 y es el permiso por defecto de cualquier archivo cuando se crea.

drwxr-xr-x  2 mahernandezg mahernandezg 4096 feb 26 08:34 .
drwxr-xr-x 26 mahernandezg mahernandezg 4096 feb 25 16:54 ..
-rw-r--r--  1 mahernandezg mahernandezg    0 feb 26 08:34 docu1
-rw-r--r--  1 mahernandezg mahernandezg    0 feb 26 08:34 docu2
-rw-r--r--  1 mahernandezg mahernandezg    0 feb 26 08:34 docu3
-rw-r--r--  1 mahernandezg mahernandezg    0 feb 26 08:34 .docu4

Antes de cambiar permisos a los archivos, debemos entender la notación octal. Cada permisología para u (usuario), g (grupo) y o (otros) tiene una referencia simbólica rwx, cada letra puede también ser mencionada de forma numérica con notación octal (base 8), por lo tanto: r=2^2, w=2^1 y x=2^0.

Si queremos dar permiso de lectura el valor sería 2^2=4
Si queremos dar permiso de escritura/modificación el valor sería 2^1=2
Si queremos dar permiso de ejecución el valor sería 2^0=1
Con esos valores jugamos a sumarlos algebraicamente:
rwx=4+2+1=7
rw-=4+2=6
r-x=4+1=5
r--=4
-wx=2+1=3
-w-=2
--x=1
---=0

Con esto podemos entonces juntar/combinar cada permisología diciendo entonces que 764 indicaría que el usuario dueño tiene plenos permisos, el grupo solo permisos de lectura y modificación pero no de ejecución y los demás usuarios solo pueden leerlo.

Interpretación de algunos permisos:
400: Protege un archivo contra el borrado accidental.
500: Protege la eliminación accidental, cambiar el nombre o mover archivos.
600: Archivo privado sólo es modificable por el usuario dueño.
644: Un archivo legible públicamente que sólo puede ser modificada por el usuario dueño.
660: El usuario dueño y usuarios que pertenecen al grupo pueden cambiar este archivo, otros no tienen ningún acceso al archivo en absoluto.
700: Protege un archivo en contra de cualquier acceso de otros usuarios, mientras que el usuario dueño todavía tiene acceso completo.
755: Archivo que deben ser legible y ejecutable por otros, pero sólo modificable por el usuario dueño.
775: Modo de uso compartido para usuario dueño y un grupo.
777: Todo el mundo puede hacer de todo para este archivo.

Cambiar los permisos de manera simbólica u octal tiene su diferencia, cuando lo haces de manera octal esta es absoluta y sobreescriba la permisología anterior que tuviera. Sin embargo si no desea sobreescribir la permisología, tan solo necesitas agregar un cambio en particular, es mejor entonces usar la manera simbólica. Ahora mostraremos ejemplos de ambos casos:

Para cambiar permosología de un archivo se usa el comando chmod permiso archivo.

Ejemplo: chmod ugo=rwx docu3
en la notación simbólica podemos usar los símbolos =, + y -. = significa que la permisología resultante tiene que ser igual a la asignada. + significa que se le adiciona a la permisología actual la nueva que se le está asignando. - significa que la permisología resultante debe quitársela la que se indica en el argumento.

si usamos notación octal el comando sería chmod octal archivo:

Ejemplo: chmod 764 docu2

Esta asignación es definitiva y sustituye cualquiera que existen anteriormente.

Otros ejemplos:


Como pueden observar los argumentos de permisología simbólica se pueden agrupar con comas (,)





No hay comentarios: