1. Gestión de usuarios
David Galán Ortiz.
www.opensolarisblog.org
dgalan@opensolarisblog.org
< Spain OpenSolaris Users Groups >
<OrangeBooks>
USE IMPROVE EVANGELIZE
2. 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
3. Spain OpenSolaris Users Group
Licencia
Esta obra está bajo una licencia Reconocimiento-NoComercial-
SinObraDerivada-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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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 del usuario dgalan a
/home/nuevopath
#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
11. 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
Para cambiar la contraseña de un usuario recurrimos al comando
passwd:
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
12. 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
13. 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
14. 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 Sep 1 19:41
aula pts/1 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
15. 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