El sistema UNIX posee un medio sencillo para controlar quién puede acceder o no a sus ficheros.
Existen tres clases diferentes de usuarios de un fichero y tres modos diferentes de acceso al fichero. Estas tres clases de usuarios figuran en la siguiente tabla:
CLASE DE USUARIO | EXPLICACION |
---|---|
PROPIETARIO<7td> | Usuario que ha creado el fichero. El propietario tiene capacidad de controlar quien puede acceder al fichero. |
GRUPO | Grupo de usuarios, normalmente relacionados por un departamento o función. Un usuario de este tipo puede acceder al fichero, pero no puede cambiar quien puede acceder al fichero. |
OTROS | Cualquier otro usuario del sistema. Estos usuarios pueden únicamente acceder al fichero si tienen permiso para ello. |
Tabla 3.1.
Para cada una de las tres clases de usuarios existen 3 modos de acceso diferentes. Estos tres modos figuran en la tabla 3.2..
MODO | FICHERO ORDINARIO | FICHERO DIRECTORIO |
---|---|---|
LECTURA (r) | Permite examinar el contenido del fichero.<7td> | Permite listar los ficheros contenidos en el directorio.<7td> |
ESCRITURA (w) | Permite cambiar el contenido del fichero. | Permite crear y borrar ficheros. |
EJECUCION (x) | Permite ejecutar el fichero como un comando. | Permite buscar en el directorio. |
Tabla 3.2.
Para especificar quién puede tener acceso a los ficheros y qué permisos tiene, es necesario designar leer (r), escribir (w) y ejecutar (x) para cada uno de los tres grupos de usuarios: propietario, grupo y otros.
Estos permisos tienen que ponerse en el mismo orden que aparecen cuando se utiliza el comando ls -l ó ll ; es decir:
rwx rwx rwx | | | | | | permisos para otros usuarios | | | | permisos para el grupo de usuarios | | permisos para el usuario propietario
Siempre que esté presente una letra (r, w ó x), quiere decir que el usuario correspondiente tiene el permiso especificado; pero cuando en su lugar aparece un guión (_), el usuario no tiene el permiso correspondiente.
El comando chmod (change mode) se utiliza para cambiar los permisos de un fichero ordinario y de un directorio.
Existen dos formas de cambiar los permisos. Se pueden cambiar teniendo en cuenta los permisos existentes (modo simbólico), o se pueden asignar permisos independientemente de los ya existentes (modo absoluto).
2. 1. MODO SIMBOLICO
Cuando se utiliza el modo simbólico se pueden añadir o quitar permisos a los ficheros y directorios. El formato del comando chmod simbólico es:
chmod [who] código-operador permisos fichero |
who | Tipo de usuario. Puede tener los siguientes valores:
u : propietario del fichero g : grupo del que el propietario es miembro o : usuarios clasificados como otros a : todos los usuarios del sistema (propietario, grupo y otros) |
---|---|
código-operador | Indica la operación que se va a realizar:
+ : añadir permisos - : quitar permisos |
permisos | Tipo de permiso:
r : permiso de lectura w : permiso de escritura x : permiso de ejecución |
fichero | Nombre de fichero o directorio. |
Por ejemplo, supongamos que el fichero mary tiene los siguientes permisos: rwx r_ _ r_ _ y supongamos que queremos dar al grupo de usuarios y al resto de los usuarios del sistema, el permiso de ejecución; entonces pondríamos:
chmod go +x datos
2. 2. MODO ABSOLUTO
El modo absoluto se especifica con 3 dígitos numéricos; cada número representa los permisos de cada tipo de usuario. Estos dígitos se obtienen, para cada clase de usuario, a partir de los valores siguientes:
4 : permiso de lectura
Así tendremos:
0 : ningún permiso
La sintaxis para el comando chmod absoluto es:
chmod modo fichero |
modo | Son 3 dígitos numéricos. Cada uno de ellos corresponde a los permisos de cada tipo de usuario. |
---|---|
fichero | Nombre de fichero o directorio. |
Por ejemplo:
chmod 777 datos
concede permisos de lectura, escritura y ejecución sobre el fichero datos, a todos los usuarios.
[Indice]