Etiquetas

domingo, 29 de enero de 2012

Permisos de archivos en Linux

Los permisos que podemos cambiar o configurar (si somos el creador del fichero o administrador) en Linux son los siguientes:
  • Lectura (r) el cual nos permitirá leer algún archivo o fichero
  • Escritura (w) que modifica un archivo o fichero
  • Ejecución (x) que ejecuta cualquier programa creado por un usuario

Los permisos solamente pueden ser otorgados a tres tipos de usuarios:
  • Al usuario propietario del archivo
  • Al grupo al que pertenece el propietario del archivo
  • Al resto de usuarios del sistema (todos menos el usuario propietario y los usuarios que estén en el grupo propietario)
Se pueden dar permisos de lectura, escritura, ejecución o una combinación de ellos a cada uno de los tipos de usuarios.

Visualizar permisos:

Para visualizar los permisos de un archivo o carpeta se puede utilizar en el terminal el comando "ls -l nombrefichero" . Al ejecutar el comando aparecen todos los archivos, uno por línea. El bloque de 10 caracteres del principio simboliza el tipo de archivo y los permisos. A continuación aparecen el usuario y el grupo propietario del archivo:

pepe@ubuntuPC:/home/pepe# ls -l
-rwxrw-r--  1 pepe profesores 359 2012-01-26 18:02 apuntes.doc
-rw-r--r--  1 pepe profesores 114 2012-01-27 19:26 examen.txt

La siguiente figura representa los permisos de examen.txt:
El primer carácter indica de qué tipo de archivo se trata. Si es un guión '-' significa que se trata de un archivo normal, la letra 'd' significa que se trata de una carpeta (directory), la letra 'l' significa que se trata de un enlace (link).

Los 9 caracteres siguientes simbolizan los permisos del usuario propietario (3 caracteres), los permisos del grupo propietario (3 caracteres) y los permisos del resto de usuarios (3 caracteres). Vienen codificados con las letras r, w y x que se refieren a los permisos de lectura, escritura y ejecución. Si en lugar de aparecer dichas letras aparecen guiones significa que se carece de dicho permiso.

Cambiar permisos:


Para efectuar esta tarea utilizaremos el comando: "chmod XYZ nombrefichero", donde XYZ representa con tres cifras (cada una de 0 a 7) los permisos que asignamos a cada tipo de usuario (usuario propietario, grupo y otros respectivamente).

Para calcular esa cifra realizamos una suma: la lectura (r) tiene un valor 4, la escritura (w) vale 2 y la ejecución (x) vale 1. Si deseamos dar permisos de lectura y escritura sumamos 4+2, el resultado es 6, el cual será el permiso determinado. Las posibles combinaciones son:

Recordemos que primero debemos dar permiso de propietario, luego de grupo y por último, el permiso para usuarios fuera del grupo de trabajo.

Por ejemplo si queremos asignar a un fichero todos los permisos (r w x) al usuario propietario, lectura y ejecución (r - x) al grupo y sólo lectura (r - -) utilizaríamos el siguiente comando:
"chmod 754 nombrefichero".
Otro ejemplo: "chmod 550 archivo.txt" daría permisos de lectura y ejecución al usuario propietario y al grupo y ningún permiso al resto.


Cambiar usuario propietario y grupo propietario

Para poder cambiar el usuario propietario y el grupo propietario de un archivo o carpeta se utiliza el comando chown (change owner). Para ello hay que disponer de permisos de escritura sobre el archivo o carpeta. La sintaxis del comando es:
# chown nuevo_usuario[.nuevo_grupo] nombre_archivo

No hay comentarios:

Publicar un comentario