You are on page 1of 5

Actividad 11: Permisos en un sistema multiusuario.

Introduccin -----------La seguridad de un sistema derivado de LINUX se basa en el sistema de permisos y propiedades de los ficheros. Es importante mantener una buena poltica de seguridad an cuando slo hay un nico usuario. Un usuario normal encontrar pocos problemas de permisos con sus ficheros de uso diario. Pero para un administrador las cosas son ms complicadas. Asignando un permiso errneo se ver inmerso en una serie de frustrantes experiencias como, por ejemplo, la imposibilidad de leer ficheros "propios". El mensaje: Permission denied Es decir, permiso denegado, indica que alguien ha asignado un permiso que nos restringe el acceso ms de lo que quisiramos. Qu son los permisos? ---------------------Los permisos hablan de lo que un usuario puede hacer con un recurso (fichero directorio). Hay tres tipos de permisos: - r Lectura: El permiso indica que el usuario puede ver el contenido del archivo (r read, leer). - w Escritura: El usuario puede escribir en el archivo o bien borrarlo (w write, escribir). - x Ejecucin: Cuando el fichero es un programa el usuario puede ejecutarlo (x execute, ejecutar). Con un archivo nuevo, el sistema asigna automticamente unos permisos. Por ejemplo le permite al autor del archivo leer y escribir en l, pero al resto de los usuarios solamente leerlo. Los programas que crean archivos asignan a estos los permisos correspondientes. As, cuando el compilador crea un programa ejecutable, automticamente le asigna el permiso de ejecucin. Con los directorios, los permisos tienen un significado algo distinto: - El permiso de lectura indica que se puede listar el contenido del directorio. - El permiso de escritura significa que se puede aadir o borrar ficheros al directorio. - El permiso de ejecucin quiere decir que se puede consultar informacin de los archivos del directorio. Tambin hay otro tipo de recursos (ficheros especiales) como los especiales de dispositivos, los enlaces simblicos, etc. cada uno tiene sus propias reglas de interpretacin de los permisos. A quines se les dan los permisos? ----------------------------------En un sistema LINUX estn presentes tres categoras de permisos: propietario (owner), grupo (group) y otros (others). Por tanto los elementos bsicos en cuanto a seguridad se refiere son: tres permisos (lectura, escritura y ejecucin) y tres niveles (propietario, grupo y terceros).

Lectura de los propiedades de un recurso ---------------------------------------Utilizar 'ls -l' para conocer los permisos y pertenencia asociados a un recurso. Por ejemplo, que permisos tiene el fichero"/etc/passwd"?: #ls -l /etc/passwd -rwxr-xr-x 1 root root 553 Oct 14 16:49 /etc/passwd ^ ^ ^ ^ ^ ^ ^ | | | | | | | | | | | | | +--- Recurso | | | | | | | | | | | +--- Fecha y hora del | | | | | ltimo cambio | | | | +--- Tamao en bytes | | | | | | | +--- Grupo al que pertenece el recurso | | | | | +--- Propietario | | | +--- n de nombres del fichero (ver enlace simblico | -actividad 7-) +--- Permisos Permisos: Representacin -----------------------Al listar los permisos de un recurso estos aparecen codificados segn el s iguiente formato: - rwx rwx rwx ^ ^ ^ ^ | | | | | | | | | | | +--| | | | | +------| | | +----------| +-------------Con 'letra' tiene el permiso correspondiente, con '-' no.

Permisos a otros usuarios Permisos al grupo que pertenece Permisos que tiene el propietario Tipo de recurso: d l c b Directorio Enlace Fichero normal Fichero especial (tipo carcter) Fichero especial (tipo bloque)

Ejemplos: drw-r--r-- --> Directorio cuyo propietario puede leer y escribir, mientras que los miembros del grupo al que pertenece solo leer, como el resto de usuarios. -rw-r----- --> Fichero normal que puede ser ledo por su propietario y el grupo asociado. El dueo tambin tiene permiso de modificacin y borrado. Cambio de pertenencia y permisos de un recurso ----------------------------------------------

Pertenencia: La mayora de las veces podemos confiar en los ajustes predeterminados del sistema. No obstante hay ciertas excepciones. Como se ha visto en las actividades anteriores, las modificaciones de propiedad se hacen con: - chown -> Cambio de propietario (slo 'root' puede utilizar este comando). - chgrp -> Cambio de grupo (un usuario normal puede aplicarlo a recursos que le pertenezcan). Pueden hacerse estas dos cosas en un solo paso empleando el punto '.': #chown cliente1.cli agenda_cliente1 Permisos: La forma de cambiar los permisos es algo ms complicada. A los permisos se les suele llamar el 'modo' de un archivo. Para cambiar se emplea el comando 'chmod' (change mode -cambio de modo-). El comando 'chmod' reconoce varios caracteres y signos utilizados a modo de parmetros combinados para determinar el nuevo estado de los permisos del recurso. Estos caracteres son: | mbito | | | u g o a --> --> --> --> user (usuario) group (grupo) others (otros) all (todos)

| + --> Aade un permiso Accin | - --> Elimina el permiso | = --> Activa permisos absolutos ignorando los existentes | | | | | r w x s t --> --> --> --> --> Permiso Permiso Permiso Permiso Permiso de lectura de escritura/modificacin de ejecucin (en directorios indica el acceso) condicionado -nota 1condicionado -nota 2-

Tipo

nota 1: Modo Setuid: La identidad efectiva de usuario con la que se ejecuta el programa es la del propietario del mismo (usar con ejecutables). Modo Setgid: el comportamiento es igual que el anterior pero afectando al grupo. nota 2: Sticky -pegajoso- bit (aplicado a directorios) [chmod +t directorio] til para aquellos programas que se ejecutan a menudo y por diferentes usuarios. Permite que slo el propietario del fichero, el propietario del directorio el administrador puedan renombrar o borrar los ficheros contenidos en l. El formato del comando 'chmod' sera: #chmod mbito(nico o mltiple)AccinTipo(admite ms un tipo). Por ejemplo: #chmod ug+rwx fich_principal --> Permiso de lectura escritura y

ejecucin para usuario y grupo #chmod g-x fichero_principal --> Elimina el permiso de ejecucin al grupo (deja el resto como est) #chmod =r fichero_lectura los usuarios --> nicamente permite leer a todos

Tambin es posible presentar la codificacin de los permisos usando notacin octal segn el siguiente formato: +--- Propietario | | +--- Grupo | | | | +--- Otros | | | v v v rwx rwx rwx 111 111 111 <-- Equivalente Binario ('1' permiso activo, '0' denegado) 7 7 7 <-- Equivalente Octal

En este formato se encuentran implcitos tanto el mbito como el tipo. Tomando los ejemplos anteriores su representacin sera: #chmod 770 fichero_principal (equivale a #chmod ug+rwx) #chmod 670 fichero_principal #chmod 444 fichero_lectura Si el deseo es configurar un directorio donde cada usuario pueda borrar los archivos que le pertenecen o bien el dueo del directorio as como el administrador, utilizar: #chmod +t directorio_especial Como ltimo ejemplo se habilitarn permisos a un fichero ejecutable de tal modo que un usuario normal pueda llamarle y corra como si hubiese sido activado por el administrador. #chmod u+s ejecutable_usuario1 T A R E A S ----------1 A partir del subdirectorio "/home/usuarios" creado en la actividad anterior establecer la jerarqua de permisos y propiedad siguiente: Propietario ----------usuario cliente1 cliente2 proveedor1 proveedor2 proveedor3 usuario usuario Grupo ----usuario cli cli pro pro pro cli pro Permisos -------drwxr-sr-x drwxr-x--drwxr-x--drwxr-x--drwxr-x--drwxr-x--drwxrwxr-t drwxrwxr-t

/home/usuarios/ cliente1 cliente2 proveedor1 proveedor2 proveedor3 dir_clien/ dir_prove/

--> --> --> --> --> --> --> -->

2 Comprobar la correcta asignacin con el comando "#ls -l".

3 Tomando la identidad de los usuarios que tienen cuenta en el sistema acceder y crear tanto ficheros como directorios donde despus se comprobar el correcto tratamiento de los permisos por parte del S.O.. <->

You might also like