Anda di halaman 1dari 10

Administracin de usuarios y grupos Linux.

Administracin de usuarios y grupos en Linux


1.1 Pginas de ayuda man e info.
man passwd | man -a passwd | man -S 5 passwd(nmero de seccin) seccin 1 comandos que puede ejecutar cualquier usuario seccin 8 comandos solo administrador seccin 5 ficheros de configuracin. Cuando no se indica la seccin, se recorren la secciones en orden y se muestra la primera. Tambin se puede introducir man -a para recorrer todas las secciones.

1.2 Ficheros de configuracin de usuarios y grupos.


/etc/passwd Informacin de las cuentas de usuario /etc/shadow Archivo que contiene las password del sistema encriptadas. /ect/group Archivo con los grupos del sistema y los usuarios que incluyen. /etc/gshadow Archivo que contiene informacin encriptada de las cuentas de grupo.

1.3 Nombres de Usuarios.


Los nombres de usuarios admiten cualquier carcter, pero las distintas aplicaciones pueden tener problemas con algunos de ellos como pueda se el espacio. La longitud del nombre de usuario puede ser de hasta 32 caracteres, aunque como se ha dicho anteriormente, algunas aplicaciones pueden tener problemas por este motivo los limitaremos a 8 caracteres. Tambin son case sensitive, es general usar los nombres de usuario en minsculas. Relacionar a los usuarios mediante grupos para mejorar la productividad. El grupo se utiliza como medio para organizar a los usuarios. El grupo hace similar a los usuarios que contiene. Por tanto los grupos son medios para organizar colecciones de cuantas, en gran parte como mediada de seguridad. Cada usuario tiene un grupo primario con el mismo nombre del usuario. El grupo primario del usuario se define en la configuracin del usuario en /etc/passwd. Para ejecutar programas o crear ficheros con un grupo al que pertenece el usuario y distinto del primario, el usuario deber ejecutar el comando newgrp para cambiar la pertenencia al grupo actual. Por ejemplo para cambiar al grupo project2, tendra que escribir: $newgrp project2

Enrique Nez Dato pg 1 de 10

Administracin de usuarios y grupos Linux.

1.4 UID y GID.


El sistema identifica a los usuario mediante su UID y a los grupos mediante el GID. El usuario emplea nombres para identificar usuario y grupos; Linux emplea /etc/passwd o /etc/group para localizar el nmero asociado al nombre. Las distribuciones de Linux reservan el primer centenar de ID de usuario y grupos (0 99) para usos del sistema. El ms importante es el 0 que es para root, tanto para el usuario como para el grupo. Los nmeros entre este rango son usado por utilidades del sistema y no todos suelen estar en uso. Ms all del 100, las ID de usuario y grupo se encuentran disponibles para los usuarios y grupos normales. Las distribuciones modernas suelen reservar para usos del sistema hasta los nmeros 500 o 1000 (definido en la variable UID_MIN en /etc/login.defs), por lo tanto los primeros nmeros para las cuentas de usuario y grupos sera a partir de estos limites inferiores. Los UID se pueden reutilizar en caso de haber borrado algn usuario o grupo, aunque es una practica no recomendada ya que pueden quedar archivos en el sistema creados anteriormente con esa UID. Por tanto si existen UID disponibles mejor usarlas. La GID 100 suele ser el grupo users, que es el grupo por defecto para algunas distribuciones. Lo normal ser crear nuestros propios grupos con determinados rangos de ID para evitar conflictos con los procesos de creacin se usuarios y grupos de la distribucin. Se pueden crear varios nombres de usuario y grupo que utilicen las mismas UID y GID respectivamente, aunque no es una solucin muy recomendada a no ser que se tengan razones de peso.

1.5 Herramientas de configuracin de cuentas.


Usuario Aadir borrar modificar useradd, adduser userdel, deluser usermod, moduser1 grupos groupadd, addgroup groupdel, groupdel groupmod, modgroup2

1 2

En distribuciones Red Hat aparece, pero en Ubuntu no. Lo mismo que la anterior Enrique Nez Dato pg 2 de 10

Administracin de usuarios y grupos Linux.

1.5.1 Aadir usuarios4


useradd [-c comentario] [-d dir home] [-e fecha-expiracin] [ -f dasinactivo] [-g grupo-defecto] [-G grupo[,...]][-m [-k dir-esqueleto] | -M] [-p contrasea] [-s consola] [-u UID [-o]] [-r] [-m] nombre-usuario

Los ajustes por defecto del comando se encuentran en el archivo /etc/default/useradd. Con la opcin useradd -D y luego las opciones de abajo, se editan las opciones por defecto del fichero. Comentario: Campo para guardar informacin relativa a la cuenta (telefono, habitacin, nombre completo, etc..) Directorio home: especificacin del directorio home de la cuenta. El valor por defecto suele ser /home/nombre-usuario. Si el directorio no existe hay que crearlo antes con mkdir. Usaremos la opcin -m para crear la carpeta de usuario en el path que hallamos creado con mkdir3. Ejemplo. Crear usuario usu2 con home en /home/noche/idpx/usu2. root@host# mkdir -p /home/noche/idpx (-p para crear subdirectorios aunque el padre no exista, es conveniente hacer un alias de esta opcin). root@host# useradd -m -d /home/noche/idpx/usu2 usu2 Creacion del comando completo cambiando shell e indicando contrasea. root@host# useradd -m -d /home/noche/idpx/usu2 -s /bin/bash usu2 && passwd contraseaparausu2 Fecha de expiracin de la cuenta: fecha en la que se desactivar la cuenta, se expresa en la forma YYYYMMDD, muchos sistemas aceptan la forma alternativa MMDDYYYY . Das inactivos: Se desactiva un nmero de das indicado despus de expirar la contrasea. El valor -1 sirve para desactivar la cuenta permanentemente. Grupo por defecto: GID del grupo por defecto del usuario. Grupos adicionales: nombres o GID de los grupos a los que pertenece el usuario separados por comas. Opciones del directorio home: el sistema crea automticamente el directorio home si se especifica la opcin -m. Si no se indica no se creara el directorio aunque indicamos el path del directorio con la opcin -d, esta opcin esta limitada en el archivo /etc/login.def ya que define la variable CREATE_HOME = NO, en caso de que el directorio no exista y no se indique con -m. Normalmente los ficheros de la configuracin se copian

4 3

Se puede controlar el rango de las UID y la GID editando las variables (UID_MIN, UID_MAX, GID_MIN y GID_MAX) del archivo /etc/login.defs. En las distribuciones tipo Red Hat el directorio se crea automticamente sin tener que indicar la opcin -m explcitamente. Esta es una delas principales diferencias de este comando en las dos plataformas. Enrique Nez Dato pg 3 de 10

Administracin de usuarios y grupos Linux.

del directorio /etc/skel, aunque si especifica la opcin -k se puede definir una ruta para usar ficheros de configuracin propios; lo adecuado sera /etc/skel1 .... /etc/skeln. No crear directorio home: la opcin -M fuerza a no crear un directorio home aunque es indicado en el archivo /etc/login.defs. Encriptacin de contrasea: el parmetro -p le pasa al sistema la contrasea preencriptada. El valor se pasa al archivo /etc/passwd o /etc/shadow sin modificarse. Esto significa que, si escribe una contrasea sin encriptar, esta no funcionara probablemente como esperaba. En la practica, este parmetro es ms til en los scripts, que pueden encriptar una contrasea (utilizando crypt) y despus enviar el resultado encriptado a travs de useradd. El valor por defecto desactiva la cuenta, por lo que deber ejecutar passwd para cambiar la contrasea del usuario. Consola por defecto: la consola de acceso por defecto del usuario se define con la opcin -s shell. En la mayoria de los sitemas suele ser /bin/bash; en ubuntu es /bin/sh apuntando a /bin/dash (consola debian sh), es bueno definir con enlaces blandos las consolas ya que de esta manera evitaremos errores futuros cuando se creen scripts y estos invoquen a la consola. En las cuentas del sistema veremos que las consolas son /bin/false para sistemas Debian y /etc/nologin para sistemas rhel. Esto sirve para que nadie se pueda loguear con esas cuentas. En el fichero /etc/shells veremos los shells disponibles. UID: se crea una cuenta con el uid que se indique. El valor debe ser un entero positivo y respectando los limites inferiores indicados por la distribucin en la variable UID_MIN en /etc/login.defs que suele ser 500 o 1000. Con la opcin -o fuerza a que la misma UID se pueda usar en varias cuentas, aunque como se menciono anteriormente no es una prctica muy recomendada. Creacin de una cuenta del sistema: con el parametro -r se especifica que se cree una cuenta del sistema; es decir, una cuenta con un valor inferior a lo indicado en la variable UID_MIN en /etc/login.defs. useradd no crea un directorio home para cuentas del sistema. No crear grupo de usuario: existen distribuciones; como Red Hat y Ubuntu, donde el sistema crea un grupo con el mismo nombre que el nombre de usuario especificado. El parmetro -n desactiva este comportamiento. Opciones por defecto: con el parmetro -D se muestran los parametros por defecto con los que se crearan los usuarios conforme a los establecido en el archivo /etc/default/useadd.

Enrique Nez Dato pg 4 de 10

Administracin de usuarios y grupos Linux.

1.5.2 Creacin de Grupos4. 1.5.3 Modificar Cuentas de Usuario


La cuentas del sistema se pueden modificar de varias maneras, bien editando directamente el archivo /etc/passwd, modificar ficheros de configuracin especficos del usuario del directorio home de la cuenta o emplear utilidades del sistema.

1.5.3.1 Definir una contrasea con passwd.


Como se indicaba anteriormente cuando se describia la utilizacin de contrasea encriptada mediante el parmetro -p del comando usermod; el uso de este sistema no es ms apropiado. Por consiguiente suele ser mejor opcin crear una cuenta de forma desactivada mediante usermod (sin utizar -p) y definir la contrasea tras crear la cuenta. Esto se realiza mediante el comando passwd, que posee la siguiente sintaxis: passwd [-k] [-l] [-u [-f]] [-d] [-S] [nombre-usuario]5 Los parmetros de este comando le permiten modificar sus comportamiento: Actualizacin de las cuentas expiradas: el parmetro -k indica que el sistema debera actualizar una cuenta expirada. Bloquear cuentas: el parmetro -l(locked) bloquea una cuenta prefijando la contrasea encriptada con un signo de admiracin (!). El resultado es que el usuario deja de poder acceder a la cuenta, aunque los ficheros siguen disponibles y el cambio se puede deshace fcilmente. Este parmetro es particularmente til si deseas suspender temporalmente el acceso del usuario a una cuenta. Desbloquear cuentas: el parmetro -u (unlocked) desbloquea una cuenta eliminado el signo de exclamacin inicial. useradd crea cuentas que estn bloqueadas y que no tienen contrasea, por lo que al utilizar este comando sobre una cuenta nueva se obtiene una cuenta sin contrasea. Normalmente, passwd no permite habilitar cuentas sin contrasea; devuelve un error en caso de intentarlo. Si se aade -f (force), obligar a passwd a convertir la cuenta en una sin contrasea. Borrar la contrasea de una cuenta: el parmetro -d borra la contrasea de una cuenta. Mostrar la informacin de la cuenta: la opcin -s muetra la inforacin de la contrasea de una cuenta: si est definida y qu tipo de encriptacin utiliza.

4 5

Se puede controlar el rango de las UID y la GID editando las variables (UID_MIN, UID_MAX, GID_MIN y GID_MAX) del archivo /etc/login.defs. Aqu es opcional el nombre del usuario, ya que si lo invocamos desde un usuario cualquiera que quiera cambiar su contrasea, no ser tiene que especificarse explcitamente. Si quien quiere cambiar la contrasea de un usuario es el administrador, entonces si se ha de especificar el nombre del usuario. Enrique Nez Dato pg 5 de 10

Administracin de usuarios y grupos Linux.

Un usuario se puede cambiar la contrasea a si mismo con el comando chsh. (mirar lo que es el permiso especial s, ya que el comando tiene ese permiso, creo que solo los usuarios con ese permiso pueden cambiarse la contrasea.)

1.5.3.2 Uso de usermod


El programa usermod cambia el contenido de los ficheros /etc/passwd o /etc/shadow. El comando usermod es muy parecido a useradd, las principales diferencias son las siguientes: usermod permite la incorporacin del parmetro -m cuando se utiliza con -d. El paametro -d, por si solo , cambia el directorio home del usuario, pero no mueve ningn fichero. Si se agrega -m, usermod mover los fichero del usuario al nuevo sitio. usermod admite un parmetro -l, que cambia el nombre del acceso del usuario por el valor especificado. Se puede bloquear y desbloquear la contrasea de un usuario con las opciones -L y -U respectivamente. Estas opciones duplican la funcionalidad proporcionada por passwd.

Si cambiamos la UID de de la cuenta, esta accin no cambiar la UID almacenada con los ficheros de usuario. Como consecuencia el usuario dejara de tener acceso a estos ficheros. Se puede actualizar manualmente la UID de todos los fichero mediante el comando chown despus de localizarlos con el comando find. Se podria hacer un chown a todo el directorio home/usuario, pero podrian existir documentos que no fueran de la propiedad exclusiva del usuario. Cuando se emplea la opcin -G para aadir un un usuario a un nuevo grupo, tenga presente que los grupos no listados se eliminarn. El comando gpasswd, proporciona un medio de aadir un usuario aun o o ms grupos especficos sin que ello afecte a los propietarios de los grupos existentes, lo que lo hace ms adecuado para este propsito.

1.6 Comando chage y passwd.


/usr/bin/chage controla los campos del fichero /etc/shadow.
-rwxr-sr-x 1 root shadow 45284 sep 12 23:29 /usr/bin/chage

/usr/bin/passwd cambia la contrasea del usuario.


-rwsr-xr-x 1 root root 41284 sep 12 23:29 /usr/bin/passwd
6

En rojo por tener el permiso especial s. Enrique Nez Dato pg 6 de 10

Administracin de usuarios y grupos Linux.

1.6.1 Opcioines de chage.


chage -d, --lastday ULTIMO_DA cambia la fecha chage -m DIAS_MIN, --mindays min chage -M DIAS_MAX Max chage -W,warndays Warning chage -I INACTIV inactivity chage -E, --expiredate caducidad de la cuenta FECHA_EXP Establece la fecha de

chage -l, --list nombreusuario comando que puede ver cualquier usuario para listar sus datos.

1.7 Inicio de sesin con un usuario nuevo creado


En un terminal introducimos. su -l usuariocreado su -login usuariocreado Si me conecto con simplemente su, me conectar satisfactoriamente pero no ingresare en la carpeta del nuevo usuario sino en el home desde el usuario donde me he logueado.
Nota: Para introducir rdenes largas en la linea de comando usamos \ (carcter escape).

1.8 Permisos y nomenclatura al hacer un ls.


-rw-r----- 1 root shadow -rw-r--r-- 1 root root 749 sep 27 10:50 /etc/gshadow 1769 sep 27 11:16 /etc/passwd

-rw-r----- 1 root shadow 1288 sep 27 10:38 /etc/shadow X en directorios puedo acceder al directorio, en fichero se puede ejecutar. W en directorio puedo crear subdirectorios, en fichero puedo crear fichero y escribir. R lectura. 1 Si es un directorio nmero de subdirectorios. Si es un fichero numero de enlaces duros, diferentes nombres para un fichero, existe en tantas localizaciones con nombre diferente tantas veces como indique el nmero. Un enlace simblico o soft es como un acceso directo, aparece el enlace y el enlazado. Para ver los permisos de un directorio hay que hacer. ls -ld /etc si no pongo la d se me listaran todos los ficheros contenidos en /etc.
Enrique Nez Dato pg 7 de 10

Administracin de usuarios y grupos Linux.

1.9 Contenido fichero de usuario /etc/passwd.


Contiene los datos del usuario.Tiene siete campos. 1. Nombre 2. Opcional encrypted password 3. Numero de identificacin de usuario (UID) 4. Nmero de identificacin de grupo (GID), es el GID del grupo principal al que pertenece, el creado con su mismo nombre, este es un grupo privado. Modificacin hecha por Red Hat par compartir informacin de una forma ms cmoda. Antiguamente existia un grupo users. Por tanto un usuario obligatoriamente est en un grupo principal, luego puedo estar en varios secundarios. 5. Nombre del usuario o campos de informacin. 6. Directorio del usuario 7. Opcional shell del usuario. En ubuntu apuntan a /bin/sh, que es un enlace a /bin/dash/ (mirar). Tambin aparece a /bin/false/ (mirar). 8. Para editar /etc/passwd es conveniente usar el comando vipw (la sola llamada del comando ya edita el fichero sin tenerl que indicarlo, con -s edita /etc/shadow), ya que abrir el fichero y lo bloquear para que solo pueda ser editado por un administrador, evitando que se de el caso de una edicin simultanea. Este comando llama al editor vi.

1.10 Contenido fichero de usuario /etc/shadow.


Entre otras cosas contiene las contraseas encriptadas. Login name encrypted pasword: puede haber un * cuenta sistema o ! cuenta desactivada. Si este campo esta vacio es que no se ha puesto contrasea. Un administrador debe poner un ! Para bloquear un cuenta. date of last password change since Jan 1, 1970 Tiempo mnimo de la validez de una contrasea. Con 0 en cualquier momento se puede cambiar la contrasea. Tiempo mximo de la validad de la contrasea. Por defecto aparece 99999 (doscientos y pico de aos), al pasar el tiempo la cuenta se desactiva. En el primer campo se coloca un !. Si diasmin>diasMax, nunca se puede cambiar la contrasea. Das de inactividad: nmero de das en los que puedo cambiar la contrasea despus de que expire. Si est vaco el campo o hay un -1 se podr acceder una sola vez ms para cambiar la contrasea. Fecha de caducidad de la cuenta. Se le suman los dias que se quiere que dure la cuenta al campo 3.
Enrique Nez Dato pg 8 de 10

Administracin de usuarios y grupos Linux.

1.11 rbol de ficheros.


/bin cualquier usuario. Archivos bsico o esenciales. /boot Arranque. /sbin root /media montaje automtico. /mnt montaje manual. /var | /log Archivo del log del sistema. /usr | /bin cualquier usuario. Archivos no esenciales. | /bin root. Archivos no esenciales. | /local/bin Mirar Estos detalles se han introducido para percatarnos donde estn localizados los ejecutables que no son esenciales para el sistema. En este caso para saber la localizacion de passwd y chase (/usr/bin).

1.12 Fichero de gupo gshadow mirar en man 1.13 Perfiles.


Existen 4 ficheros de perfil donde se establecen configuraciones del usuario. En el home del usuario En Ubuntu .bashrc y .profile. En red hat bashrc y bashrcprofile

Estos ficheros son los que configuran cada usuario. En /etc /etc/bash.bashrc /etc/profile

La modificacin de estos fichero afectan a todos los usuarios. Esto esta explicado en la pgina man de bash. Es importante estudiar el orden de ejecucin de los ficheros. Un ejercicio bueno es editar los ficheros para comprender el orden de ejecucin. Modificar los archivo de /etc luego los locales de root (por se el usuario de instalacin) y luego los del usuario. Es bueno editar los fichero haciendo un echo inicio fichero el que sea y lo mismo al final del fichero, con el fin de comprobar el orden de ejecucion.
Enrique Nez Dato pg 9 de 10

Administracin de usuarios y grupos Linux.

1.14 Recursos.
Guia Ubuntu Documentacion usuarios y grupos Aplicacion para gestionar usuarios y grupos. Sudo apt-get install gnome -system-tools.

Enrique Nez Dato pg 10 de 10