Next: chmod
Up: Permisos. Gestión de Usuarios
Previous: Introducción.
En UNIX cada fichero tiene un propietario (inicialmente el usuario
que lo creó) y pertenece a un grupo en particular. Basado en esta
estructura, el sistema asigna permisos a los distintos objetos del
sistema de ficheros a tres niveles:
- a nivel del propietario,
- a nivel del grupo al que pertenece el usuario, y
- a nivel de todos los demás usuarios.
Para cada uno de estos tres niveles, asigna tres tipos de permisos
básicos:
- r
- de lectura
- w
- de escritura, y
- x
- de ejecución.
Esta información está guardada en el inodo3.2 del fichero. Se utilizan los bits 0 - 8 para los 9 permisos. Estos
9 permisos, así como el tipo de objeto del sistema de ficheros, pueden
ser visualizados con la opción -l (formato largo) del comando
ls. Supongamos que la salida de la ejecución de la sentencia:
$ ls -l /home/mercedes/linux2004/entrega1.lyx
es
-rwxr-xr- 1 mercedes gelinex 386 2003-9-1 22:37
/home/mercedes/linux2004/entrega1.lyx
analicemos la salida: -rwxr-xr-
para eso la vamos a dividir en cuatro bloques: - rwx r-x r-
- El primer guión por la izquierda (-) nos indica que entrega1.lyx
es un fichero normal, si tuviera una
- d
- indicaría un directorio.
- l
- enlace simbólico
- c
- dispositivo de caracteres
- b
- dispositivo de bloques
- p
- canalización con nombre
- El siguiente grupo (rwx) indica que este fichero tiene permisos
de lectura, escritura y ejecución para el propietario que en este
caso es mercedes,
- El grupo (r-x) que el fichero tiene permisos de lectura y
ejecución para el grupo que es glinex, y
- El último grupo (r- -) que el resto de usuarios tan sólo
podrán leer el fichero pero no modificarlo ni ejecutarlo.
El significado de los permisos rwx, cuando el objeto es un
directorio, es el siguiente:
- r
- Permite leer el contenido del directorio, es decir los nombres
de los ficheros y sus inodos, pero no la información de estos (con
ese permiso puede ejcutarse el comando ls pero no ls
-l).
- w
- Permite escribir en el directorio, es decir crear y suprimir ficheros,
otros subdirectorios, etc.
- x
- Permite recorrer el directorio (podría hacer un cd a
él-meterse dentro del directorio), y utilizar la información de los
objetos del directorio, es decir, acceder a los inodos (se podría
ejecutar ls -l).
Es importante resaltar que los permisos de un fichero están condicionados
por los permisos del directorio donde reside. Por ejemplo, auque un
fichero tenga los permisos -rwxrwxrwx, otros usuarios no
podrían acceder a él a menos que tengan permiso de ejecución para
el directorio en el que se encuentra el fichero. Así mismo, si un
directorio tuviera permiso w para ``otros usuarios''
estos podrían borrar ficheros de ese directorio aunque los ficheros
tuvieran deshabilitado ese permiso. Habitualmente los usuarios suelen
dar a sus ficheros los permisos -rx-r-r- y a los directorios
-rwxr-xr-x.
- El propietario y grupo de un fichero lo podemos
modificar con el comando chown (change owner- cambiar
propietario); con chgrp (change group- cambiar grupo)
podemos modificar sólo el grupo. Los permisos pueden modificarse con
el comando chmod (change mode- cambiar modo). Naturalmente
estas acciones sólo le están permitidas al root y al dueño del objeto.
La sintaxis básica de las dos primeras es:
chown usuario fichero
chgrp grupo fichero
para cambiar el usuario o el grupo a un fichero. Después veremos cómo
hacerlo con programas que nos facilitan el trabajo.
Footnotes
- ... inodo3.2
- Linux asigna a cada archivo un único número llamado inodo. Cuando
formateamos un disco se crea la tabla de inodos. En el inodo de un
archivo se almacena toda la información referente a ese archivo (propietario,
permisos, tamaño...)
Subsections
Next: chmod
Up: Permisos. Gestión de Usuarios
Previous: Introducción.
2004-03-15