Gesti贸n de usuarios David Gal谩n Ortiz. www.opensolarisblog.org dgalan@opensolarisblog.org
< Spain OpenSolaris Users Groups >
<OrangeBooks>
USE
IMPROVE
EVANGELIZE
Spain OpenSolaris Users Group
Índice de contenidos Índice de contenidos...........................................................................................2
Licencia................................................................................. ...................3 Referencias ........................................................................................................3
Ficheros de configuración......................................................... ..............4 /etc/passwd ........................................................................................................4 /etc/shadow.........................................................................................................5 /etc/group/..........................................................................................................7
Gestión de usuarios ................................................................................. 8 Crear usuario......................................................................................................8 Modificar un usuario .........................................................................................9 Ejemplo de uso del comando usermod:...........................................................10 Borrado de usuarios..........................................................................................10 Ejemplo de borrado de usuario:.......................................................................11
Cambiar la contraseña de usuario.................................................. ......11 Gestión de grupos............................................................ ......................11 Añadir un nuevo grupo al sistema....................................................................12 Modificar un grupo..........................................................................................12 Eliminar un grupo............................................................................................13
Cambio de grupos............................................................................... ...13 ¿Qué hacen los usuarios en el sistema?........................................ ........14 El comando who...............................................................................................14 El comando w...................................................................................................14 El comando finger ...........................................................................................15
2
Spain OpenSolaris Users Group
Licencia Esta obra está bajo una licencia Reconocimiento-NoComercialSinObraDerivada-2.5 España de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/2.5/es o envíe una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,USA. Usted es libre de: -
Copiar, distribuir y comunicar públicamente la obra.
Bajo las condiciones siguientes:
-
Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador.
-
No comercial. No puede utilizar esta obra para fines comerciales.
-
Sin obras derivadas. No se puede alterar, transformar o generar una obra derivada a partir de esta obra.
-
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor.
Referencias Todos los nombres propios de programas, sistemas operativos, equipos hardware, etc., que aparecen en este libro son marcas registradas de sus respectivas compañías u organizaciones.
3
Spain OpenSolaris Users Group
Las cuentas de usuario para el acceso al sistema no difieren en Solaris de otros sistemas unix, en el siguiente documente aprenderemos a:
Ficheros de configuración de usuarios
Gestión de usuarios (alta, modificación y borrado)
Gestión de grupos (alta, modificación y borrado)
Gestionar usuarios en grupos (alta, modificación y borrado)
Ficheros de inicialización
Ficheros de configuración Los ficheros de configuración contienen la información sobre las cuentas de usuario, los grupos y contraseñas. Los ficheros son: /etc/passwd Cada una de las líneas del fichero contiene la información de un usuarios. Cada línea esta organizada en campos separados por el carácter dos puntos que hace de separador de campo. Ejemplo de una línea del fichero passwd: aulaunix:x:65535:1:Nombre y apellidos:/export/home/aulaunix:/bin/bash
El formato tiene la siguiente estructura: IDlogin:x:UID:GID:comentario:home_directory:login_shell Estos campos son: 4
Spain OpenSolaris Users Group
IDlogin: es el identificador con el que hacemos login en el sistema debe de ser único.
Contraseña: la contraseña representada por x es almacenada en el fichero /etc/shadow
UID: esta representado por un número superior a 0 ya que 0 pertenece al usuario root. Los números del 1 al 99 están reservados para usuarios administradores del sistema. Para el resto de usuarios se utiliza el rango del 100 al 60000. Se reserva para el usuario nobody el 60001 y para el usuario noaccess el 60002.
GID: número mayor de 0 que representa el grupo primario al que pertenece el usuario.
Comentario: Nombre completo del usuario.
Directorio home (home_directory): ruta absoluta del directorio home para el usuario.
Shel (login_shell ): Define la shell para el usuario (sh, ksh, csh, etc..)
/etc/shadow Contiene las contraseñas de las cuentas de usuario, al ser un fichero que puede comprometer la seguridad del sistema solo el usuario root debe de tener permisos de lectura para el archivo. El contenido del archivo es el siguiente: root:SbEPJrMu/wMTw:6445:::::: daemon:NP:6445:::::: bin:NP:6445:::::: sys:NP:6445:::::: adm:NP:6445:::::: lp:NP:6445:::::: uucp:NP:6445:::::: nuucp:NP:6445:::::: dladm:*LK*::::::: smmsp:NP:6445:::::: 5
Spain OpenSolaris Users Group
listen:*LK*::::::: gdm:*LK*::::::: webservd:*LK*::::::: postgres:NP::::::: nobody:*LK*:6445:::::: noaccess:*LK*:6445:::::: nobody4:*LK*:6445:::::: aulaunix:nMF64Wg9ff/HU:13570::::::
El formato tiene la siguiente estructura: IDlogin:pwd:lastchg:min:max:warn:inactivo:expiracion:
Los datos que contiene cada línea del fichero shadow son:
IDlogin: identificador de entrada al sistema.
pwd: contraseña del usuario cifrada.
lastchg: días transcurridos entre el 11 de enero de 1970 y la ultima fecha de modificación.
min: establece el mínimo número de días antes de cambiar la contraseña.
max: establece el máximo numero de días que una contraseña esta activa.
warn: el número de días de antelación para el aviso al usuario de la expiración de la contraseña-
inactive: días que puede estar la cuenta inactiva (sin entradas al sistema) antes de bloquearse.
expiracion: Fecha de expiración de la cuenta.
6
Spain OpenSolaris Users Group
/etc/group/ Todos los usuarios del sistema tienen que pertenecer a un grupo principal definido en el fichero /etc/passwd. Adicionalmente un usuario puede pertenecer más grupos disponibles en el sistema denominados grupos secundarios definidos en el fichero /etc/group. El siguiente ejemplo muestra las entradas por defecto en el fichero group: root::0: other::1:root bin::2:root,daemon sys::3:root,bin,adm adm::4:root,daemon uucp::5:root mail::6:root tty::7:root,adm lp::8:root,adm nuucp::9:root staff::10: daemon::12:root sysadmin::14: smmsp::25: gdm::50: webservd::80: postgres::90: nobody::60001: noaccess::60002: nogroup::65534:
El formato tiene la siguiente estructura: nonmbredelgrupo:group-password:GID:listausuarios Los datos que contiene cada línea del fichero group son:
nonmbredelgrupo: contiene el nombre del grupo. 7
Spain OpenSolaris Users Group
group-password: Utilizado en versiones mas antiguas de unix. Actualmente no es utilizado.
GID: número que identifica al grupo y debe único en el sistema.
listausuarios: contiene la lista de usuarios separados por coma que pertenecen al grupo.
Gestión de usuarios Crear usuario El comando empleado para crear usuarios es useradd con las siguiente sintaxis: useradd [–u uid] –g [gid] –G [gid1,gid2, …] [-d dir] –m [–s shell] [–c comment] [–e expire] usuario Los parámetros admitidos son los siguientes:
-u define un uid único para el usuario.
-g define el grupo primario al que va a pertenecer el usuario.
-G define los grupos secundarios a los que va a pertenecer el usuario.
-d define el path absoluto para el home del usuario.
-m fuerza la creación del home del usuario si no existe.
-s define la shell para el usuario, por defecto asigna /bin/sh
-c establece el nombre completo del usuario o cualquier otro comentario.
-o permite la duplicación del uid del usuario.
-e fecha de expiración de la cuenta. 8
Spain OpenSolaris Users Group
-f tiempo máximo admitido de inactividad para la cuenta. Si el usuario no entra en el sistema en el tiempo establecido la cuenta se bloquea.
-k permite la copia de archivos de inicialización personalizados al home del usuario al crearlo.
Ejemplo de uso de useradd: Crear usuario: El siguiente ejemplo muestra como crear el usuario aula, definir su UID manualmente e incluirlo en el grupo alumnos definiendo su home en /export/home/aulaunix, definimimos la shell como ksh. Ejecución del comando: # useradd -u 109 -g alumnos -d /export/home/aulaunix -m -s /bin/ksh -c “usuario de pruebas” aula
Inmediatamente se añade la siguiente línea al fichero /etc/passwd: aula:x:109:100:usuarios de pruebas:/export/home/aulaunix:/bin/ksh
Modificar un usuario Si ya tenemos un usuario en el sistema y deseamos cambiar alguna de sus propiedades utilizamos el comando usermod: Las opciones permitidas son:
-o permite la duplicación de un UID
-m Mueve el home del usuario 9
Spain OpenSolaris Users Group
-l Cambio del nombre de inicio de sesión
-f Definimos el número de días puede estar inactiva. Si la cuenta no es usada en el número de días especificado se bloquea.
-e Define la fecha de caducidad de la cuenta. Cuando llega ldicha fecha la cuenta es inutilizable.
Ejemplo de uso del comando usermod: Cambiamos el home /home/nuevopath
del
usuario
dgalan
a
#usermod –m –d /export/nuevohome dgalan
Este ejemplo implica que el nuevo home para el usuario dgalan es /export/nuevohome y mueve todos los archivos del viejo directorio al nuevo. Vamos a ejecutar el ejemplo anterior pero además vamos a cambiar el nombre de inicio de sesión: #usermod –m –d /export/nuevohome –l davidgalan
Después de ejecutar el comando tenemos un nuevo home y un nuevo nombre de inicio de sesión. Borrado de usuarios Borrar un usuario del sistema es muy sencillo utilizando el comando userdel. userdel –r [usuario a borrar] La opción –r elimina el home del usuario si este existe, pero no borra los archivos que el usuario pueda tener repartidos en otros directorios de la máquina. 10
Spain OpenSolaris Users Group
Para eliminar todos los archivos del usuario deberíamos de recurrir a una búsqueda recursiva utilizando el comando find. Buscaríamos todos los archivos y directorios pertenecientes al usuario eliminado. Ejemplo de borrado de usuario: userdel –r dgalan
Borramos el usuario dgalan y los contenidos de su directorio home. Cambiar la contraseña de usuario
passwd:
Para cambiar la contraseña de un usuario recurrimos al comando
passwd [usuario] Ejemplo de cambio de contraseña: bash-3.00# passwd dgalan Nueva contraseña: Vuelva a escribir la nueva contraseña: passwd: la contraseña se ha cambiado por dgalan satisfactoriamente bash-3.00#
Gestión de grupos Hemos visto como crear, modificar y eliminar usuarios. Ahora vamos a realizar el mismo recorrido pero esta vez gestionando grupos, para ello utilizaremos los comandos:
groupadd
groupmod
groupdel 11
Spain OpenSolaris Users Group
Añadir un nuevo grupo al sistema Para añadir un nuevo grupo al sistema recurrimos al comando groupadd. El GID y el nombre del grupo han de ser únicos. Ejemplo para añadir un grupo llamado operadores: bash-3.00# groupadd -g 124 admins
Lo verificamos: bash-3.00# grep admins /etc/group admins::124: bash-3.00#
Hemos buscado el nuevo usuario en el fichero de grupos y efectivamente se añada la nueva entrada de grupo.
Modificar un grupo Podemos ejecutar cambios en un grupo existente con el comando groupmod que nos permite modificar el GID o renombrar un grupo. groupmod –d [GID] –n [nuevo nombre de grupo] Este primer ejemplo cambia el GID para el grupo opera: #groupmod –g 125 opera
Y este otro ejemplo cambia el nombre al grupo opera por monitor #groupmod –n monitor opera
12
Spain OpenSolaris Users Group
Eliminar un grupo Eliminar un grupo existente es muy facil con el comando groupdel. groupdel [nombre del grupo] Ejemplo: bash-3.00# groupdel admins
Cambio de grupos Siempre que entramos al sistema lo hacemos perteneciendo al grupo principal, pero un usuario que pertenece a varios grupos puede necesitar operar en cada uno de ellos en diferentes momentos de su sesi贸n en el sistema. Para cambiar de grupo recurrimos al comando newgrp, veamos un ejemplo practico: Hemos entrado al sistema con el usuario dgalan tal como se puede ver en el siguiente ejemplo: $ id uid=109(dgalan) gid=1(other)
Para pasarnos al grupo admin ejecutamos: # newgrp admins
Lo verificamos: $ id uid=109(dgalan) gid=1(other) gid=45(admins)
A partir de este momento todos los ficheros y directorio creados pertenecer谩n al grupo admins. 13
Spain OpenSolaris Users Group
¿Qué hacen los usuarios en el sistema?
El comando who Solaris al igual que el resto de sistemas Unix nos facilita una serie de comandos que nos permite averiguar que usuarios están conectados al sistema y desde donde se han conectado. El primero de estos comandos es who que muestra una lista con todos los usuarios conectados al sistema mostrando datos como:
usuario
conexión
fecha de entrada
Ejemplo del comando who: $ who root console aula pts/1 $
Sep 1 19:41 Sep 1 19:45 (192.168.1.33)
El comando w Otro comando a nuestro alcance es w que muestra la lista de usuarios en el sistema como el comando who pero añadiendo datos como los procesos y carga de CPU. Ejemplo del comando w: $w 9:05pm en funcionamiento 1:26, 2 usuarios, promedio de carga: 0,01, 0,01, 0,21 User tty login@ idle JCPU PCPU what root console 7:41pm 1:21 -sh aula pts/1 7:45pm 1 w
14
Spain OpenSolaris Users Group
El comando finger Muestra informaci贸n detallada de los usuarios conectados al sistema y detalles de usuarios de forma individual, es un comando basado Ejemplo de la salida del comando finger para todos los usuarios: finder: no encontrado $ finger Login Name TTY Idle When Where root Super-User console 1:30 Sat 19:41 aula ??? pts/1 Sat 19:45 192.168.1.33 $
Ejemplo de la salida del comando finger para obtener detalles de un solo usuario: Login name: root In real life: Super-User Directory: / Shell: /sbin/sh On since Sep 1 19:41:45 on console 1 hour 31 minutes Idle Time No unread mail No Plan.
El segundo ejemplo nos aporta informaci贸n como la shell y el home del usuario as铆 como el tiempo conectado.
15