Make your own free website on Tripod.com

Linux

Usuarios y Permisos
Principal | E/S Sistema | Estructura de Ficheros | Comandos man e info | Terminales virtuales | Usuarios y Permisos | Interpretes de comandos | Variables de entorno | FSSTND | Algunos ficheros de /etc | Comandos at y crontab

Usuarios y permisos

Una de las principales características de Linux es su capacidad para operar como sistema multiusuario. Es decir, Linux permite que distintos usuarios accedan a la misma máquina, distinguiendo en todo momento a cada usuario del resto. Esta filosofía de diseño presenta evidentes ventajas sobre otras esquemas. Así, por ejemplo, un usuario del sistema podrá imponer restricciones al acceso a sus ficheros o directorios particulares por parte de otros usuarios, o configurar su propio entorno de trabajo de forma independiente del entorno elegido por el resto de los usuarios. Igualmente, se otorga al administrador del sistema un mayor control sobre el mismo. Por ejemplo, el administrador podrá vetar el acceso de algunos usuarios (o de todos ellos) a determinados ficheros de configuración del sistema, o permitir que un programa se ejecute sólo por un grupo selecto de usuarios. Además, sólo usuarios "registrados" como tales tendrán acceso al sistema.

El único usuario que puede añadir y quitar usuarios es el administrador. Además de esto, el administrador del sistema tiene la capacidad de definir (y deshacer) grupos de usuarios. Se trata de agrupaciones meramente administrativas: la existencia de un grupo no supone una relación directa entre las cuentas de los usuarios incluidos en dicho grupo. Ahora bien, estas agrupaciones resultan útiles para otorgar o restringir fácilmente ciertos permisos a usuarios de similares categorías o necesidades operativas. Por lo demás, los usuarios podrán seguir operando normalmente en el sistema independientemente de su inclusión o no en algún grupo. De forma análoga a los usuarios, los grupos también se caracterizan mediante identificadores únicos y otros atributos.

Los permisos

Todos los ficheros y directorios del sistema tienen unas características especiales que definen lo que pueden hacer los usuarios con respecto a estos archivos. A estas características se les denominan permisos o atributos de fichero, y determinan si un fichero puede o no ser leído, si el usuario puede escribir en dicho fichero, o si el sistema debería considerar el fichero como ejecutable (un proceso por lotes).

Los tres atributos distintos que existen son lectura, escritura y ejecución, y el sistema los identifica con las letras r, w y x, respectivamente.

Por ejemplo, si en nuestro directorio de inicio tenemos un fichero de texto, y le quitamos el atributo de escritura, no se podrían realizar cambios en ese fichero. Asimismo, si le quitamos el atributo de lectura, ni siquiera podremos ver el contenido de dicho fichero.

Estos tres atributos se aplican a tres colectivos: a los usuarios, a los grupos, y a "otros". Para ver qué atributos están asociados a los archivos, hay que usar el comando ls -l. Aquí está un ejemplo:

[usuario1@localhost usuario1]$ ls -l
total 3
-rwxrw-r--    1 usuario1 usuarios       57 mar 17 23:19 midocumento.txt
drwxrwxr-x    2 usuario1 usuarios     1024 mar 18 17:09 música/
drwx------    2 usuario1 usuarios     1024 mar 17 23:18 tmp/
[usuario1@localhost usuario1]$ _


Esto muestra un listado con varias campos, que son:

  • El tipo de archivo (- significa que es un fichero normal, d un directorio)
  • los permisos (en el ejemplo de midocumento.txt, rwxrw-r--)
  • el número de enlaces físicos
  • el usuario propietario (usuario1)
  • el grupo propietario (usuarios)
  • el tamaño
  • la fecho de última modificación
  • el nombre del fichero

Como ya se ha dicho antes, los permisos se agrupan en tres: en el del propietario, el grupo y otros. Los permisos que tienen cada uno de estos grupos se indica mediante tres caracteres, y puede tener una letra o un guión. Así, si tenemos el fichero midocumento.txt, cuyo atributo de permiso es rwxrw-r--, esto se traduce en:

  • propietario: tiene permisos rwx (lectura, escritura y ejecución) sobre el fichero
  • miembros del mismo grupo: tienen permisos rw- (lectura y escritura) sobre el fichero
  • otros usuarios: tienen sólo el permiso r-- (lectura) sobre el fichero

El administrador

El administrador es un usuario especial en el sistema operativo Linux. El nombre de usuario del administrador es siempre el mismo: root, y a diferencia de los otros usuarios, no tiene un directorio inicial en el directorio /home, sino que este directorio inicial se coloca en /root.

El administrador siempre tiene acceso a todos los ficheros del sistema, independientemente de quien sea el propietario del fichero. Así, si algún usuario olvida su contraseña, la única forma de acceder a sus datos será a través de la cuenta del administrador.

El comando SU

El comando su es para "convertirte" temporalmente en otro usuario, para que el sistema se crea que eres el otro usuario. Después de realizar las operaciones que se van a realizar como el otro usuario, hay que salir del comando con otro comando, que es el exit. El sistema te pide la contraseña del otro usuario, a menos que seas el administrador, en cuyo caso te deja entrar como el otro usuario sin problemas. Veamos un ejemplo:

[root@localhost root]# su usuario1
[usuario1@localhost root]$ ls
ls: .: Permiso denegado
[usuario1@localhost root]$ cd ~
[usuario1@localhost usuario1]$ ls
midocumento.txt  música/  tmp/
[usuario1@localhost usuario1]$ su kay
Password:
[kay@localhost usuario1]$ ls
ls: .: Permiso denegado
[kay@localhost usuario1]$ cd ~
[kay@localhost kay]$ ls
71.pdf                 Cosas pa hacer  instantánea1.png  mensajes.kwd   new              tmp/
apuntes-2-eval.tar.gz  Desktop/        instantánea2.png  mensajes.kwd~  notes            vimrcbak
bin/                   educación/      instantánea3.png  mi_at          plugin131.trace
c/                     evolution/      Linux/            mi_info        shells.png
clave-pgp-toby         extension3.rtf  log.txt           mi_man         tempor
[kay@localhost kay]$ exit
exit
[usuario1@localhost usuario1]$ exit
exit
[root@localhost root]# _

Fíjese que el símbolo del sistema cambia de acuerdo con el usuario y directorio actual, y que además, si cambias de usuario no puedes listar los ficheros que no son de ese usuario (eso explica los mensajes de error "permiso denegado").

 

* Profesor Fernando Guerrero *
e-mail: perito.informatica@gmail.com