Vous êtes sur la page 1sur 19

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

Tabla de contenido
1. INTRODUCCIN .. 3 2. AADIR UN NUEVO USUARIO AL SISTEMA. .. 3 2.1. El archivo /etc/passwd...... 3 3. ELIMINACIN DE UN USUARIO. 6 3.1. Desactivar momentneamente un usuario. . 6 3.2. Eliminar un usuario manteniendo sus ficheros.. 6 3.3. Eliminar totalmente un usuario. 7 4. INFORMACIN ADICIONAL DEL USUARIO. 7 5. MODIFICAR LA CUENTA DE UN USUARIO. 8 6. COMPROBAR QUIN SE HALLA CONECTADO AL SISTEMA. 9 7. GRUPOS: EL ARCHIVO /ETC/GROUP. 10 7.1. Aadir un usuario a un grupo (no existe en SuSe)... 13 7.2. Quitar un usuario de un grupo (no existe en SuSe). 13 8. PERMISOS. .. 13 9. CAMBIO DEL PROPIETARIO DE UN ARCHIVO. . 17 10. EL ARCHIVO /ETC/SHADOW .. . 18 11. COMUNICACIN CON LOS USUARIOS. . 19 11.1. Mensaje del da.. 19 11.2. Aviso a todos los terminales. 19

Linux: Gestin de Usuarios | 2

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

Gestin de Usuarios
1. Introduccin
Cada usuario del sistema debe tener un nombre de entrada (login) nico. Con ello se le podr identificar y se evitar que cualquier otro usuario pueda borrar ficheros de su propiedad. Del mismo modo cada usuario dispone de una clave de entrada o password que le liga a su cuenta de usuario. Cuando el sistema arranca con xito nos pide que introduzcamos nuestro nombre de usuario y nuestra contrasea. Si vamos a iniciar una sesin como superusuario deberemos dar como login root. El superusuario es el usuario ms potente del sistema, en el sentido de que tiene el control completo de los recursos de la computadora. Puede iniciar y desconectar el sistema, abrir o cerrar el acceso a cualquier archivo o directorio, borrar o cambiar parte del sistema, y en general, modificar la configuracin del mismo. El indicativo de peticin de orden del shell es para el administrador el smbolo #, mientras que para el resto de usuarios es normalmente el $ ( > en SuSe). Existen unas normas aconsejables que debe aplicarse el administrador del sistema o superusuario y que se pueden resumir en los siguientes puntos: Mantener siempre el indicativo de root igual al carcter #, esto ayudar a recordar cuando se tiene acceso total al sistema. No dar la contrasea de superusuario a nadie que no necesite acceder al control total del sistema. Cambiar la contrasea de root frecuentemente, mantenerla hace al sistema ms vulnerable. Limitar la actuacin como root a labores de administracin del sistema exclusivamente. Hacer el entorno de root diferente al entorno normal no usando los mismos ficheros de configuracin como superusuario y como usuario normal y minimizando el uso de alias en la presentacin root. Hacer la variable PATH tan corta como sea posible mientras sea prctica, no incluyendo los directorios propios de usuario en el PATH de root.

2. Aadir un nuevo usuario al sistema.


2.1. El archivo etc/passwd. Cuando se da de alta un usuario, el resultado es una entrada en el archivo de usuarios /etc/passwd. Esta entrada tiene la sintaxis siguiente: <login>:<Password Encriptada>:<UID>:<GID>:<Informacin Usuario>:<directorio personal>:<orden de acceso>
Linux: Gestin de Usuarios | 3

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

En esta sintaxis los campos estn separados por dos puntos. El siguiente grfico presenta la descripcin de estos campos: login El nombre que se u-liza para entrar en la cuenta password La contrasea que se requiere para auten-car al usuario Un nmero nico que el sistema u-liza para iden-car al UID usuario (user iden%ca%on). Idem. para iden-car al grupo al que pertenece el usuario (group iden%ca%on). Un usuario puede cambiar de grupo si GID el administrador lo permite. Informacin Una descripcin del usuario, como por ejemplo el nombre y el puesto que ocupa. personal Directorio El directorio inicial del usuario o directorio de trabajo. de trabajo El shell u-lizado por el usuario al entrar al sistema (por Shell ejemplo /bin/bash si u-liza el shell bash. Si la contrasea cifrada es un asterisco el usuario ser incapaz de entrar en el sistema usando login, pero todava podr utilizar rlogin (remote login), ejecutar procesos existentes e iniciar nuevos procesos a travs de rsh (remote shell), cron, at, etc. Intentar cerrar una cuenta cambiando simplemente el campo del intrprete de comandos, produce el mismo resultado y permite adems el uso de su. Podemos editar el archivo /etc/passwd si somos superusuario y cambiar los valores de algunos de los campos que hemos visto, a excepcin de la contrasea encriptada que, en su caso, se ha de modificar con el comando passwd. Para aadir un nuevo usuario slo tenemos que utilizar la orden useradd1 seguida del nombre de cuenta del usuario a dar de alta en el sistema:

useradd [-g grupo][-G grupo[,grupo ...]] [-d dir-de-trabajo[-m]] [-s shell] nombre-de-cuenta
Adems de crear una nueva entrada en el fichero /etc/passwd, esta orden copia los archivos ocultos desde el directorio /etc/skel al directorio de usuario. En el directorio /etc/skel debern estar todos los archivos que el administrador considere que tengan que tener todos los usuarios del sistema, entre ellos los archivos de configuracin personales (profile, mailmc, etc.). Opciones:
1 En algunas distribuciones Linux como Ubuntu existe tambin el comando adduser que se utiliza para aadir un usuario

Linux: Gestin de Usuarios | 4

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

- g grupo : Se utiliza para asignar el grupo principal2 al usuario. Se especifica el nombre del grupo y ste debe existir previamente. - G grupo[,...]: Especifica la lista de grupos a los que va a pertenecer el usuario, separada por comas y sin espacios en blanco entre los nombres de grupo. - d dir-de-trabajo : Asigna el directorio de trabajo especificado a la cuenta. Lo normal es que el directorio tenga la ruta /home/nombre-usuario, que es la que asigna el comando por defecto si no usamos -d. En todo caso el directorio debe existir previamente. Si no existe y queremos que lo cree el comando automticamente deberemos usar el modificador m. - m: Crea el directorio de trabajo si no existe y copia en l los archivos de /etc/skel. - s shell : Asigna un intrprete de comandos al usuario. Lo normal es que se use el shell bash (/bin/bash) que adems es el que se suele asignar por defecto en el caso de que no utilicemos este modificador. Ejemplos:
[gandalf@lotr:] # useradd g profesores d /home/workarwen m s /bin/tcsh arwen

En este caso creamos un usuario arwen cuyo grupo principal es profesores, su directorio de trabajo estar en /home/workarwen que adems es creado por el comando y que va a utilizar como shell el tcsh. [gandalf@lotr:] # useradd arwen En este otro dejamos al sistema que configure la cuenta con los valores por defecto. Es decir, se crea un usuario arwen, con directorio de trabajo en /home/arwen, grupo principal arwen (en SuSe) o users (en Ubuntu) y shell bash. No obstante, en distribuciones como SuSe al usar useradd dndole como nico argumento el nombre de la cuenta, el sistema no crea automticamente el directorio de trabajo ni, por supuesto, traslada los ficheros de /etc/skel al directorio de trabajo del usuario. Para conseguir que haga esto basta con usar el modificador m. Por ejemplo: useradd m arwen La orden useradd no asigna una contrasea a la nueva cuenta. Para conseguir esto deberemos utilizar la orden passwd. El administrador del sistema debe definir una contrasea para cada usuario.

passwd [nombre-de-cuenta]
passwd se utiliza para asignar una contrasea a la cuenta de un usuario por primera vez o para modificar una ya existente. El comando entabla un dilogo con el operador solicitndole que escriba la contrasea dos veces para asegurarse de que ha sido introducida correctamente.
2 Todos los usuarios pertenecen al menos a un grupo que es el grupo principal del usuario, tambin llamado grupo primario del usuario, pero pueden pertenecer a ms grupos. En caso de que pertenezcan a ms grupos, stos sern grupos secundarios.

Linux: Gestin de Usuarios | 5

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

El sistema encripta la contrasea y la almacena en el fichero /etc/passwd 3. Es importante elegir la contrasea de acuerdo con determinadas normas: Deben tener al menos 6 caracteres (recomendable 8). Deben estar compuestas de letras maysculas y minsculas, signos de puntuacin y nmeros (al menos deben existir smbolos de dos de estos conjuntos). Una buena contrasea es un requisito indispensable para la seguridad del sistema. Si un usuario olvida su contrasea el administrador puede suprimir el segundo campo de la entrada de dicho usuario en el archivo /etc/passwd y asignar una nueva con la orden passwd. Un usuario puede cambiar su propia contrasea si le apetece. Para ello deber usar el comando passwd sin especificar cuenta alguna (slo el administrador del sistema tiene permiso para especificar un nombre de cuenta en passwd). El comando entrar en forma interactiva y solicitar la clave actual de la cuenta para verificarla, antes de proceder a solicitar la nueva clave.

3. Eliminacin de un usuario.
3.1. Desactivar m om entneam ente un usuario. Puede ser que un usuario necesite estar ausente durante algn tiempo. Por motivos de seguridad es conveniente desactivar su cuenta sin eliminarla. Esto se hace modificando el archivo /etc/passwd e insertando en el segundo campo, el de la clave encriptada, el smbolo admiracin (!) al principio del mismo. 3.2. Elim inar un usuario m anteniendo sus ficheros. Puede ocurrir que deseemos mantener determinados ficheros de un usuario que hemos de dar de baja. Para conseguir esto debemos seguir los siguientes : 1) Suprimir la entrada del usuario en los ficheros /etc/passwd, /etc/shadow y /etc/group utilizando un editor ASCII o con el comando userdel que tiene el formato siguiente:

userdel nombre-de-cuenta
Ejemplo: [gandalf@lotr:] # userdel arwen 2) Cambiar la ubicacin de los ficheros con el comando mv que cuenta con el formato siguiente:

mv archivo-origen archivo-destino
Ejemplo: [gandalf@lotr:] # mv R /home/arwen /home/gandalf/newdocs
3 Si se habilit durante la instalacin la opcin shadow password la almacenar en el fichero /etc/shadow (hoy en da

casi todas las distribuciones la tienen habilitada por defecto). Linux: Gestin de Usuarios | 6

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

3) Cambiar el propietario con la orden chown (que veremos detenidamente ms adelante):

chown nuevo-propietario[.nuevo-grupo] lista-de-archivos


Ejemplo: [gandalf@lotr:] # chown R gandalf /home/gandalf/newdocs 3.3. Elim inar totalm ente un usuario. Podemos eliminar totalmente un usuario y todos sus ficheros siguiendo los siguientes pasos: 1) Eliminar su entrada en los ficheros /etc/passwd y etc/group. 2) Eliminar su directorio home y todas las referencias al usuario. Podemos usar el comando find de la forma: find /home -user arwen -exec rm -ri {} \;4

4. Informacin adicional del usuario.


Para actualizar la informacin relativa a un usuario se utiliza la orden chfn (change finger information). La informacin que podemos actualizar se encuentra almacenada en el fichero /etc/passwd que ya hemos estudiado. Cuando ejecutamos esta orden se nos presenta la informacin disponible hasta ese momento entre corchetes, relativa al nombre, el puesto que ocupa, el telfono de trabajo y el de casa. Basta con pulsar [ENTER] para mantener la informacin grabada. Si queremos dejar un campo en blanco deberemos teclear none. Si queremos cambiar un campo slo tenemos que teclear el nuevo valor (recordar que no podemos introducir vocales acentuadas porque seran tomadas como caracteres de control). Esta informacin sirve de fuente para otros comandos del sistema como finger. Ejemplo: [gandalf@lotr:] # chfn Changing finger information for root Enter new value, or press ENTER for the default Full Name[]: Mode Martinez Palenzuela Room Number[]: aula205 Work Phone []: 951000999 Home Phone []: 952010020 Other []: Finger information changed


4 La notacin {} significa que los archivos que se encuentren deben ocupar este lugar dentro de la orden. La orden que queremos ejecutar (-exec) debe terminar en un ; precedido del carcter \(para escapar el carcter ; que de otra forma tendra un significado distinto para la Shell). Ambos deben formar un argumento separado para find, por lo tanto debe haber un espacio en blanco delante de l, de lo contrario provocar un error.

Linux: Gestin de Usuarios | 7

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

finger [{-s|-l}] [-p] cuenta-de-usuario


La orden finger nos muestra informacin relativa al usuario especificado. Si no especificamos ninguno, finger nos muestra la informacin relativa a todos los usuarios conectados en ese momento al sistema (incluso si estn en computadoras remotas). Opciones: -s: (Short format). Finger visualiza el login, el nombre real, el terminal asociado, el tiempo de inactividad del terminal (idle time) y la hora de conexin, as como el nmero de oficina y telfono. Es la opcin por defecto si no se especifica cuenta de usuario. -l: (Long format). Visualiza todos los datos anteriores adems del directorio de trabajo, el shell utilizado y los archivos .plan y .project colocados en el directorio de trabajo del usuario en cuestin. Es la opcin por defecto si especificamos cuenta de usuario. -p: Omite la visualizacin de los archivos .plan y .project. Ejemplo: [gandalf@lotr:] # finger root Login: root Name: Gandalf Directory: /root Shell: /bin/bash On since Wed Feb 23 22:33 on tty1 11 min 46 sec idle No plan

5. Modificar la cuenta de un usuario.


Podemos modificar las caractersticas de una cuenta de usuario que exista previamente con el comando usermod que posee la siguiente sintaxis:

usermod [-c comentario] [-d directorio-de-trabajo [-m]] [-e fecha-lmite ] [-f num-dias] [-g grupo-inicial] [-G grupo[,...]] [-l nuevo-login] [-s shell] [-u UID [-o]] [{-L|-U}] nombre-de-cuenta
Opciones: -c comentario: Especifica un nuevo valor para el campo comentario en la entrada correspondiente del fichero /etc/passwd. Normalmente este campo se modifica con el comando chfn.

Linux: Gestin de Usuarios | 8

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

-d dir-trabajo: Especifica un nuevo directorio de trabajo para el usuario. Si se utiliza el modificador m el contenido del antiguo directorio home se mover al nuevo, el cual ser creado si no existe previamente. -e fecha-lmite: Especifica la fecha en la que la cuenta expirar. Se puede dar en nmero de das transcurridos desde Enero de 1970 o en el formato YYYY/MM/DD. -f num-dias: Especifica el nmero de das que transcurrirn entre la fecha de expiracin de la contrasea (especificada por el modificador e) y su eliminacin definitiva. El valor 0 deshabilita la cuenta tan pronto como expire la validez de la contrasea. El valor 1 (por defecto) deshabilita esta caracterstica. -G grupo[,...]: Especifica la lista de grupos a los que pertenece el usuario, separada por comas y sin espacios en blanco entre los nombres de grupo. El usuario ser borrado de cualquier otro grupo al que perteneciese y que no fuese especificado en la lista de grupos de G (salvo que se use el modificador a). -g grupo-inicial: Especifica el nombre o el GID del nuevo grupo inicial del usuario. Este nuevo grupo debe existir previamente. Por defecto se asigna el GID 1. -l nuevo-login: El nombre del login ser cambiado al valor especificado siempre que el usuario no est conectado en ese momento. -s shell: Cambia el shell del usuario. -u UID [-o]: Cambia el identificador del usuario. Debe ser nico a menos que se utilice o (que habilita la existencia de UIDs duplicados). El identificador debe ser un nmero positivo, teniendo en cuenta que los valores entre 0 y 999 se reservan a cuentas del sistema. Los ficheros que se hallen en el directorio home del usuario sern modificados automticamente. Los dems ficheros pertenecientes al mismo debern ser modificados manualmente. -L (lock) : Bloquea la clave del usuario. Acta insertando en el campo de la clave encriptada del fichero /etc/passwd un carcter ! al principio de la misma. No se puede usar con u o con g. -U (unlock) : Desbloquea la clave del usuario.

6. Comprobar quin se halla conectado al sistema.


Para obtener una lista de aquellos usuarios que estn conectados al sistema en un determinado momento podemos utilizar el comando who. Esta informacin la podemos necesitar, por ejemplo, antes de proceder a desconectar el sistema. Tambin nos puede servir para comprobar qu terminales han estado inactivos durante mucho tiempo, ya que una larga inactividad puede significar que los usuarios se han marchado sin desconectar sus terminales.

who [{-m|am i}][-u][-H][-q]



Linux: Gestin de Usuarios | 9

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

Opciones: -u : Visualiza una lnea de informacin por cada usuario conectado. En la primera columna aparece el nombre de cuenta del usuario. Le sigue el terminal donde est presente, la fecha y la hora en la que se conect, cunto tiempo ha estado inactivo (aparece un punto . si est actualmente activo y old si el usuario estuvo ocioso durante ms de 24 horas) y el identificador del proceso correspondiente a cada shell de usuario. -r : Podemos utilizar este modificador para comprobar si el sistema est en modo monousuario o en uno de los estados multiusuario. Tambin se visualiza el estado de terminacin del proceso y el identificador del mismo. -m|am i : En ocasiones puede darse el caso de que hayamos modificado varias veces nuestra identidad y queramos saber quines somos en cada instante. Para eso se utiliza who am i. -H : Pone cabeceras a la informacin visualizada (headers). -q : Slo visualiza los nombres de cuenta y el nmero total de usuarios conectados. Ejemplo: [gandalf@lotr:] $ who am i gandalf pts/05 2010-03-18 18:25 (:0.0) [gandalf@lotr:] $ whoami gandalf [gandalf@lotr:] $ who uH NOMBRE LINEA TIEMPO PID COMENTARIO gandalf tty7 2010-03-18 18:23 antig 1358 (:0) gandalf tty5 2010-03-18 18:25 . 173 (:0.0)

7. Grupos: El archivo etc/group.


Cuando se da de alta un usuario tambin se crea una entrada en este archivo, que est compuesto por una serie de lneas formadas por cinco segmentos separados por :.Un grupo de usuarios es un conjunto de usuarios unidos por algn propsito especfico, por ejemplo, compartir un mismo nmero de ficheros. El fichero /etc/group debe pertenecer al superusuario. Los permisos deben ser de lectura/escritura para el propietario y de slo lectura para el resto de los usuarios. Cada lnea de este archivo corresponde a un grupo de usuarios y tiene un formato como el siguiente: <nombre de grupo>:<contrasea>:<identificador de grupo>: <lista de usuarios>
5 Consola del entorno de ventanas (O: en Debian).

Linux: Gestin de Usuarios | 10

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

nombre de grupo

Corresponde al nombre de grupo asociado al iden-cador de grupo Actualmente no se usa Iden-cador de grupo. Es el nmero asignado al grupo que aparece en el chero /etc/passwd en todas las entradas de los usuarios pertenecientes al mismo. Es una lista separada por comas de los nombres de usuarios

contrasea

GID

lista de usuarios

La creacin de grupos puede ser til en casos en donde se desea que varios usuarios adquieran permisos para un conjunto particular de archivos o directorios. Por ejemplo, puede desearse asignar los usuarios que estn escribiendo pginas de un manual a un grupo llamado manual y darles permiso para un directorio que contenga las pginas de ese manual. Se puede crear un nuevo grupo editando este archivo y escribiendo la informacin correspondiente a ese nuevo grupo. Eso s, deberemos tener cuidado de no asignar al nuevo grupo un GID que ya utilice otro, pues Linux utiliza el identificador de grupo y no su nombre para buscarlo. Tambin podemos utilizar el comando groupadd que crea un nuevo grupo con los valores especificados y posee la sintaxis siguiente:

groupadd [-g GID|-o][-r][-f] nombre-de-grupo


Opciones: -g GID : Asigna el identificador de grupo especificado al nuevo grupo. Este nmero debe ser nico (a menos que se especifique o) y positivo. Por defecto se asigna un valor mayor que 500 y que cualquier GID ya existente. Los valores comprendidos entre 0999 se reservan normalmente para cuentas del sistema. Podemos especificar el rango de los GIDs en el archivo /etc/login.defs. -r : Aade un grupo del sistema. Slo en algunas distribuciones (Red Hat y SuSe, por ejemplo). El GID estar comprendido entre los valores de SYSTEM_GID_MIN y SYSTEM_GID_MAX que se inicializan en el archivo /etc/login.defs y por defecto valen 0 y 500 respectivamente. En estas mismas distribuciones los valores para GID estn comprendidos entre GID_MIN y GID_MAX, definidas en el mismo archivo y cuyos valores predeterminados son respectivamente 1000 y 60000. -f (force) : (No existe en SuSe) Provoca que el comando termine con un error si el grupo a dar de alta existe ya (esta accin est por defecto activada en SuSe). El grupo existente no ser alterado. Modifica tambin el funcionamiento del parmetro g: si especificamos un GID ya existente en vez de dar error acta como si no hubisemos especificado g, es decir, fuerza la creacin del grupo con un GID asignado por el sistema (no existe en SuSe).
Linux: Gestin de Usuarios | 11

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

Del mismo modo podemos eliminar un grupo editando el fichero y suprimiendo la entrada relativa a este grupo. Tambin podemos utilizar el comando groupdel de la siguiente forma:

groupdel grupo
groupdel modifica el sistema de cuentas borrando todas las entradas referidas al grupo especificado. El grupo debe existir. No se puede eliminar el grupo primario de un usuario cuya cuenta existe an (primero habremos de eliminar la cuenta del sistema). Despus de eliminar un grupo deberemos comprobar manualmente que no existen ficheros en el sistema que lo referencien. En el caso de querer mantener estos archivos ser necesario asignarles un nuevo grupo. Por ejemplo para cambiar de grupo a todos los archivos ordinarios de la carpeta /home/arwen de arwen a lotr podemos utilizar la orden find de la siguiente forma: [gandalf@lotr:] # find /home/arwen -group arwen -exec chgrp lotr {} \; Tambin podemos modificar determinados parmetros de la entrada del fichero /etc/group con el comando:

groupmod [-g GID|-o][-n nuevo-nombre-de-grupo] nombre-de-grupo


Opciones: -g GID: Especifica un nuevo identificador de grupo. Este nmero debe ser positivo y nico, a menos que utilicemos o. Los nmeros comprendidos entre 0 y 999 estn reservados para grupos del sistema. Todos los ficheros con el antiguo GID deben ser asignados manualmente al nuevo identificador de grupo. -n nuevo-nombre-de-grupo: Cambia el nombre del grupo por el especificado. Para conocer a qu grupos pertenecemos podemos usar el siguiente comando:

groups
que visualiza primero el grupo principal del usuario y despus los grupos secundarios a los que pertenece. Ejemplo: [gandalf@lotr:] # groups root appserveradm appserverusr admin

chgrp [-cRv] nuevo-grupo lista-de-archivos


Cambia la propiedad de grupo a un archivo o lista de archivos. Si usamos el modificador R (recursive) afectar a directorios y subdirectorios. Tanto c como v hacen que la salida del comando sea detallada. La diferencia es que c slo informar si se realiza algn cambio.
Linux: Gestin de Usuarios | 12

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

El modificador h hace que en el caso de enlaces simblicos, cambie el propietario del destino en lugar del propio enlace. Ejemplo: [gandalf@lotr:] # chgrp hR staff /u 7.1. Aadir un usuario a un grupo (no existe en SuSe).
Para aadir un nuevo usuario a un grupo podemos utilizar el comando adduser seguido del nombre del usuario y del nombre del grupo al que queremos incorporarlo.

adduser nombre-de-usuario grupo


Ejemplo: Aadir el usuario tombombadil al grupo lotr. [gandalf@lotr:] # adduser tombombadil lotr 7.2. Quitar un usuario de un grupo (no existe en SuSe).
Se utiliza el comando deluser seguido del nombre del usuario y del nombre del grupo del que queremos eliminarlo.

deluser nombre-de-usuario grupo


Ejemplo: Quitar al usuario gandalf del grupo lotr. [gandalf@lotr:] # deluser gandalf lotr

8. Permisos.
El nmero identificador de un usuario, es decir su UID, es un entero que se almacena en el archivo etc/passwd y que est asociado con el nombre del login del usuario. Cuando un usuario inicia una sesin, la orden /bin/login asocia este nmero al primer proceso lanzado: el intrprete de rdenes. Los procesos lanzados a partir de ese momento por el usuario llevarn adherido tambin este identificador. Los procesos estn organizados a su vez en grupos que tambin poseen un nmero de identificacin, su GID (group identification), almacenado en el fichero /etc/passwd. El fichero /etc/group lleva una relacin de los grupos existentes. Estos dos identificadores se denominan reales porque son representativos del usuario que ejecut el proceso login y para distinguirlos de otros dos identificadores (uno de usuario y otro de grupo) denominados efectivos que pueden ser distintos a los reales y que se usan para determinar los permisos, mientras que los reales se usan para saber la verdadera identidad del usuario.
Linux: Gestin de Usuarios | 13

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

Cada archivo contiene en su inodo el UID y el GID, un conjunto de permisos de lectura, escritura y ejecucin para el propietario, el grupo del propietario y otros usuarios, adems de otra informacin concerniente al archivo como hemos visto. Este conjunto de permisos determina cuando un proceso o un usuario puede ejecutar una accin sobre un archivo determinado. Este sistema de permisos funciona de la siguiente forma: Si el nmero de identificacin de usuario efectivo es 0, entonces se dan los permisos como propietario (0 es el UID efectivo del administrador del sistema). Si el nmero de identificacin de usuario efectivo coincide con el UID real marcado por su i-nodo, entonces se dan los permisos de propietario establecidos. Si el identificador de grupo efectivo coincide con el nmero de identificacin de grupo propietario del archivo marcado en su i-nodo, entonces se dan los permisos de grupo. Si no se da ninguna de las tres anteriores suposiciones se darn los permisos reservados a otros usuarios. Los derechos de un archivo vienen representados por una cadena de nueve bits (un uno indica que el derecho est activo), los tres primeros para el propietario, los tres siguientes para el grupo del propietario y los restantes para otros usuarios. Estos nueve bits se visualizan en la mscara de permisos de los archivos como caracteres r (solo lectura), w (lectura/escritura) y x (ejecucin). Lo podemos comprobar utilizando la orden ls con el modificador l. Ejemplo: [gandalf@lotr:] # ls l Mifichero -rwxr-x--- 1 mode grmode 890 Feb 5 20:30 Mifichero El primer carcter representa el tipo de archivo (el guin nos muestra que es un archivo ordinario en este caso). Los tres siguientes caracteres son los permisos del propietario (en este caso posee los tres), los siguientes los del grupo (slo lectura y ejecucin) y los tres ltimos los de otros usuarios (en este caso no tienen permiso de acceso alguno). Adems existen otros tres bits conocidos como sticky bit (bit pegajoso), set-gid y set-uid en la mscara de permisos. Son los llamados bits raros, que hacen que la mscara tenga 3 permisos ms de los que hemos visto hasta ahora. El set-uid es una idea relativamente simple que nos permite ahondar ms en el tema de la seguridad. Si un programa posee este bit activo cuando sea ejecutado tomar como identificador de usuario el identificador del propietario. Si el propietario fuese el administrador entonces el programa se ejecutar como si lo hubiese lanzado el propio administrador. De esta manera podemos explicarnos como un usuario normal puede modificar su palabra clave cuando el archivo /etc/passwd slo tiene permiso de escritura por parte del administrador del sistema. Esto se debe a que el programa passwd tiene este bit activo y cuando lo ejecutamos, y slo mientras se ejecuta, actuamos como superusuario. Este bit est activo cuando en la mscara de permisos del programa aparece una s en lugar de una x en el campo de ejecucin para el propietario(passwd tiene los permisos r-sx--x).Para activarlo deberemos sumar 4000 a la mscara de permisos en octal. El set-gid posee una utilidad similar pero referida al grupo de propietarios. Los directorios con el bit set-gid activado fuerzan a todos los archivos y subdirectorios creados en ellos a pertenecer al grupo del dueo del directorio y no al grupo del usuario que crea el archivo o subdirectorio. Para activarlo deberemos sumar 2000 a la mscara de permisos en octal. Aparecer en la mscara de permisos como una s en el permiso de ejecucin para usuarios del grupo.

Linux: Gestin de Usuarios | 14

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

Por ltimo, el sticky-bit indica al ncleo de Linux que el archivo es un programa con capacidad para que varios procesos compartan su cdigo y que este cdigo debe mantenerse en memoria aunque alguno de los procesos que lo utilicen dejen de ejecutarse6. Esto permite ahorrar memoria cuando se trabaja con programas muy utilizados, como editores de texto o compiladores. Cuando est activo aparece una t en vez de una x en el permiso de ejecucin del resto de usuarios. Se activa sumando 1000 a la mscara de permisos en octal. Hay que tener en cuenta que todos los bits raros aparecen en minscula en la mscara de permisos si adems del bit raro correspondiente est activado el permiso de ejecucin. En caso contrario aparecern en mayscula. Ejemplo: el archivo Mifichero tiene activado el set-uid y permiso de ejecucin para el propietario: [gandalf@lotr:] # ls l Mifichero -rwsr-x--- 1 mode grmode 890 Feb 5 20:30 Mifichero Ejemplo: el archivo Mifichero tiene activado el sticky-bit pero no tiene permiso de ejecucin para otros usuarios: [gandalf@lotr:] # ls l Mifichero -rwxr-x--T 1 mode grmode 890 Feb 5 20:30 Mifichero

chmod permisos lista-de-archivos


La orden chmod (change mode) nos permite modificar los permisos de un archivo. Para poder modificar estos derechos debemos ser propietarios del mismo. Tambin el administrador del sistema tiene la posibilidad de cambiarlos. Para cambiar los permisos podemos seguir los siguientes pasos: 1. Cambiar la mscara de permisos que queremos asignar a binario (recordar que la mscara es una cadena de 9+3 bits) poniendo a 1 los permisos que queremos activar y a 0 los que queremos desactivar. Por ejemplo, una mscara con estos permisos rwxr- wr-w generara la siguiente cadena binaria: 111101101. 2. Pasar esta cadena binaria a cdigo octal (755). 3. Reunir los tres dgitos octales en uno slo. Acabamos de obtener la mscara de permisos en octal que nos servir como argumento a la orden chmod. Ejemplo: [gandalf@lotr:] # chmod 755 Mifichero [gandalf@lotr:] # ls l Mifichero -rwxr-xr-x 1 mode grmode 890 Feb 5 20:30 Mifichero
6 Lo que hace el sticky-bit de persistencia en directorios compartidos por varios usuarios es que slo el propietario del

archivo pueda eliminarlo del directorio. Es decir cualquier otro usuario va a poder leer el contenido de un archivo o ejecutarlo si fuera un binario, pero slo el propietario original podr eliminarlo o modificarlo. Si no se tuviera el sticky-bit activado, entonces en estas carpetas pblicas, cualquiera podra eliminar o modificar los archivos de cualquier otro usuario. Linux: Gestin de Usuarios | 15

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

chmod [u][g][o]{+|=|-}[r][w][x][s][t] lista-de-archivos


Para cambiar los permisos en relacin con su valor actual disponemos de otro formato de la sentencia chmod. Con este formato primero se especifican los permisos que se van a cambiar (u para usuario propietario, g para grupo y o para otros usuarios). En segundo lugar se especifican cmo se cambian (+ aade permisos, - quita permisos, = establece los permisos especificados y anula el resto de permisos) para leer (r), escribir (w), ejecutar (x), establecer el set-uid (s) si se asigna al propietario o set-gid (s) si se asigna al grupo del propietario o establecer el sticky-bit (t) si se asigna a otros usuarios. Por ltimo se especifica el fichero o ficheros a los que se quiere modificar los permisos. Ejemplos: [gandalf@lotr:] # ls l Mifichero -rwxr-xr-x 3 root root 78 Apr 1 21:30 Mifichero [gandalf@lotr:] # chmod go-rx Mifichero [gandalf@lotr:] # ls l Mifichero -rwx------ 3 root root 78 Apr 1 21:30 Mi fichero [gandalf@lotr:] # chmod ugo+rwx Mifichero [gandalf@lotr:] # ls l Mifichero -rwxrwxrwx 3 root root 78 Apr 1 21:30 Mi fichero Ejemplo: Establecer el sticky-bit: [gandalf@lotr:] # chmod o+t Mifichero [gandalf@lotr:] # ls l Mifichero -rwxrwxrwt 3 root root 78 Apr 1 21:30 Mi fichero Ejemplo: Establecer el set-uid: [gandalf@lotr:] # chmod u+s Mifichero [gandalf@lotr:] # ls l Mifichero -rwsrwxrwt 3 root root 78 Apr 1 21:30 Mi fichero

umask [valor-en-octal]
Los permisos asignados a un archivo o a un directorio cuando son creados dependen de una variable denominada user mask. Podemos visualizar el contenido de esa variable con la orden umask sin argumento (normalmente vale 0022). Cuando se crea un archivo, los permisos originales por defecto7 son 666 y cuando se crea una carpeta, los permisos por defecto son 777. Dichos permisos por defecto pueden modificarse 7 Parece ser que por motivos de seguridad los mximos permisos que permiten establecer los sistemas UNIX son slo de
lectura y escritura para propietario, grupo y otros usuarios pero nunca de ejecucin. Es decir que cmo mucho al crear un fichero dndole todos los permisos posibles estos seran -rw-rw-rw-. Esto explica que al establecer umask como 022 obtengas los permisos 644 o (-rw-r--r--) al crear un fichero.

Linux: Gestin de Usuarios | 16

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

tambin con el comando umask. Con umask podemos definir la mscara de permisos, cuyo valor original es 000. El permiso por defecto ser el resultado de restar del permiso original, el valor de la mscara. Por ejemplo, si deseamos que los archivos se creen con permisos 644 (lo ms habitual), pondremos mscara 022 ya que 666 022 = 644. En el caso de las carpetas, el permiso efectivo ser 755 ya que 777 022 = 755. Si analizamos el valor de la mscara en binario, cada bit a '1' desactiva un permiso y cada bit a '0' lo activa, es decir, si tiene un valor 022 (000 010 010) cuando creemos una carpeta, tendr permisos rwxr-xr-x y cuando creemos un archivo tendr permisos rw-r--r-- ya que el permiso de ejecucin para archivos hay que fijarlo con chmod al tener los archivos el permiso original 666. Cada usuario tiene su mscara. Se puede fijar la mscara por defecto para todos los usuarios en el archivo /etc/profile o para cada usuario en el archivo /home/usuario/.bashrc. Una forma sencilla de hallar el valor de umask es poner la mscara de permisos en binario, hallarle el complemento a uno y pasarla a octal. Ese ser el valor de umask anteponindole un 0 (para los bits raros set-uid, set-guid y sticky bit). Hay que tener en cuenta que el ncleo del sistema ignora, como hemos dicho, por motivos de seguridad los permisos de ejecucin que se derivan del valor de umask al asignarlos a ficheros nuevos. Ejemplo: [gandalf@lotr:] $ umask 0002 [gandalf@lotr:] $ mkdir nueva-carpeta [gandalf@lotr:] ls -l drwxrwxr-x 2 gandalf profes 1024 Feb 12 19:46 nueva-carpeta [gandalf@lotr:] $ umask 022 [gandalf@lotr:] $ mkdir otra-carpeta [gandalf@lotr:] $ ls -l drwxrwxr-x 2 gandalf profes 1024 Feb 12 19:46 nueva-carpeta drwxr-xr-x 2 gandalf profes 1024 Feb 12 19:46 otra-carpeta La modificacin con umask de la mascara por defecto no afecta a los archivos y carpetas existentes sino slo a los nuevos que cree ese usuario a partir de ese momento.

9. Cambio del propietario de un archivo.


Cada archivo tiene un propietario que es, normalmente, la persona que lo cre. El propietario tiene, por lo general, permisos ms amplios que los otros usuarios para manipular el archivo que ha creado. A veces es necesario cambiar el propietario de un archivo, bien porque se adquiere la responsabilidad de un archivo que no hemos creado o bien porque otra persona nos lo ha cedido. Una de las formas de hacerse propietario de un archivo es mediante la realizacin de una copia (cp), pero presenta las desventajas de que se genera un archivo extra y adems requiere que el
Linux: Gestin de Usuarios | 17

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

usuario que va a hacer la copia tenga permiso de lectura para el archivo en cuestin. Una forma ms sencilla y directa de transferir la propiedad consiste en utilizar la orden chown (change owner).

chown [-R][-h] nuevo-propietario[.nuevo-grupo] archivo


La orden chown tiene dos argumentos: el nombre del usuario que va a ser el nuevo propietario y el nombre del archivo. Por ejemplo, la sentencia siguiente hace que gandalf sea el nuevo propietario de Midocumento. [gandalf@lotr:] # chown gandalf Midocumento Slo el propietario de un archivo o el superusuario pueden utilizar chown para cambiar su propiedad. Con versiones avanzadas de Unix/Linux podemos utilizar esta orden en forma recursiva (-R) para cambiar el propietario de todos los archivos de un directorio de la forma: [gandalf@lotr:] # chown R gandalf MisDocumentos Siendo MisDocumentos un directorio.

10.

El archivo /etc/shadow

El archivo /etc/shadow almacena las claves de los usuarios encriptadas y algunas propiedades ms relacionadas con la seguridad. Todos los campos estn separados por el carcter : y existe una lnea por cada cuenta de usuario existente en el archivo /etc/passwd, del que se puede considerar una extensin y una mejora en cuanto a la seguridad del sistema, ya que /etc/passwd aunque puede ser modificado slo por el administrador, puede ser ledo por cualquier usuario lo que significa un agujero para la seguridad. La estructura del fichero es la siguiente:


Linux: Gestin de Usuarios | 18

Mode Martnez Palenzuela 2012

I.E.S. Zaidn - Vergeles

11.

Comunicacin con los usuarios.

11.1. M ensaje del da. El login muestra el contenido del fichero /etc/motd (message of the day) despus de un inicio de sesin, justo antes de que ejecute el intrprete de comandos. Podemos cambiar el contenido de este fichero con cualquier procesador de textos o con el comando cat. 11.2. Aviso a todos los term inales. Para el envo simultneo e inmediato de un mensaje a todos y cada uno de los usuarios conectados en ese momento al sistema podemos utilizar la orden wall (write all). El mensaje aparecer en mitad del trabajo del usuario pero no producir ningn dao. Ejemplo: [gandalf@lotr:] # wall Necesito apagar el sistema en 5 minutos. El sistema se reiniciar en dos horas. [CTRL] +[D]

Linux: Gestin de Usuarios | 19

Vous aimerez peut-être aussi