![]() |
PERMISOS DE FICHEROS |
![]() |
3.9.1 Conceptos de permisos de ficheros
Al ser UNIX un sistema multiusuario, para proteger ficheros de usuarios particulares de la manipulación por parte de
otros, UNIX proporciona un mecanismo conocido como permisos de ficheros. Este mecanismo permite que ficheros y directorios
"pertenezcan" a un usuario en particular. Por ejemplo, como Decker creó ficheros en su directorio "home", Decker es el
propietario de esos ficheros y tiene acceso a ellos.
UNIX también permite que los ficheros sean compartidos entre usuarios y grupos de usuarios. Si Decker lo desea, podría
restringir el acceso a sus ficheros de forma que ningún otro usuario tenga acceso. De cualquier modo, en la mayoría de
los sistemas por defecto se permite que otros usuarios puedan leer tus ficheros pero no modificarlos o borrarlos.
Como hemos explicado arriba, cada fichero pertenece a un usuario en particular. Por otra parte, los ficheros también
pertenecen a un grupo en particular, que es un conjunto de usuarios definido por el sistema. Cada usuario pertenece al
menos a un grupo cuando es creado. El administrador del sistema puede hacer que un usuario tenga acceso a más de un grupo.
Los grupos usualmente son definidos por el tipo de usuarios que acceden a la maquina. Por ejemplo, en un sistema UNIX
de una universidad, los usuarios pueden ser divididos en los grupos estudiantes, dirección, profesores e invitados. Hay
también unos pocos grupos definidos por el sistema (como bin y admin) los cuales son usados por el propio sistema para
controlar el acceso a los recursos; muy raramente los usuarios normales pertenecen a estos grupos.
Los permisos están divididos en tres tipos: lectura, escritura y ejecución. Estos permisos pueden ser fijados para tres
clases de usuarios: el propietario del fichero, el grupo al que pertenece el fichero y para todos los usuarios independientemente
del grupo.
El permiso de lectura permite a un usuario leer el contenido del fichero o en el caso de un directorio, listar el
contenido del mismo (usando ls). El permiso de escritura permite a un usuario escribir y modificar el fichero.
Para directorios, el permiso de escritura permite crear nuevos ficheros o borrar ficheros ya existentes en dicho
directorio. Por ultimo, el permiso de ejecución permite a un usuario ejecutar el fichero si es un programa o guión
del interprete de comandos. Para directorios, el permiso de ejecución permite al usuario cambiar al directorio en
cuestion con cd.
3.9.2 Interpretando los permisos de ficheros
Veamos un ejemplo del uso de permisos de ficheros. Usando el comando ls con la opcion -l se mostrará un listado "largo" de los ficheros, el cual incluye los permisos de ficheros.
|
/home/Decker/notas# ls -l notas.html -rw-r--r-- 1 Decker users 505 Mar 13 19:05 notas.html /home/Decker/notas# |
Es importante darse cuenta de que los permisos de un fichero también dependen de los permisos del directorio en el que
residen. Por ejemplo, aunque un fichero tenga los permisos -rwxrwxrwx, otros usuarios no podrán acceder a él a menos
que también tengan permiso de lectura y ejecución para el directorio en el cual se encuentra el fichero. Si Decker quiere
restringir el acceso a todos sus ficheros, podría simplemente poner los permisos de su directorio "home" /home/Decker a
-rwx------. De esta forma ningún usuario podrá acceder a su directorio ni a ninguno de sus ficheros o subdirectorios.
Decker no necesita preocuparse de los permisos individuales de cada uno de sus ficheros.
En otras palabras, para acceder a un fichero, debes de tener permiso de ejecución de todos los directorios a lo largo
del camino de acceso al fichero, además de permiso de lectura (o ejecución) del fichero en particular.
Habitualmente, los usuarios de un sistema UNIX son muy abiertos con sus ficheros. Los permisos que se dan a los
ficheros usualmente son -rw-r--r--, lo que permite a todos los demás usuarios leer los ficheros, pero no
modificarlos de ninguna forma. Los directorios, usualmente tienen los permisos -rwxr-xr-x, lo que permite que los demás
usuarios puedan moverse y ver los directorios, pero sin poder crear o borrar nuevos ficheros en ellos.
Muchos usuarios pueden querer limitar el acceso de otros usuarios a sus ficheros. Poniendo los permisos de un fichero a
-rw------- no se permitirá a ningún otro usuario acceder al fichero.
Igualmente, poniendo los permisos del directorio a -rwx------ no se permitirá a los demás usuarios acceder al directorio en cuestión.
El comando chmod se usa para establecer los permisos de un fichero. Sólo el propietario puede cambiar los permisos del fichero. La sintaxis de chmod es:
| chmod {a,u,g,o}{+,-}{r,w,x} <filenames> |
|
000 0 --- 001 1 --x 010 2 -w- 011 3 -wx 100 4 r-- 101 5 r-x 110 6 rw- 111 7 rwx |
| chmod 777 notas.html |