Este documento describe los conceptos básicos de usuarios y grupos en Linux. Explica que los usuarios están representados por un número de identificación de usuario (UID) y que cada proceso se ejecuta como un UID específico. También describe cómo los archivos de configuración /etc/passwd y /etc/group asignan nombres de usuario y grupo a los UID y GID respectivamente. Además, explica cómo los comandos como id, whoami, finger y su permiten a los usuarios examinar y cambiar su identidad.
1. UNIVERSIDAD DE CIENCIAS Y HUMANIDADES
Linux RHC030INGENIERIA DE SISTEMAS
Usuarios y Grupos
Edwin Palomino Iriarte
2. Usuarios y Grupos
Usuarios Linux y el archivo /etc/passwd
Grupos Linux y el archivo /etc/group
Examinando Información de Usuario
Cambio de Identidad
3. Usuarios de Linux y el archivo /etc/passwd
Conceptos Claves
– A un nivel inferior los usuarios son representados por un
número entero llamado Id del usuario (uid).
– Cada proceso que se desarrolla en el sistema se ejecuta
como un uid dado
– Cada archivo en el sistema de archivos es propiedad de un
uid
– El archivo /etc/passwd asigna los uids a las cuentas de
usuario.
– Las cuentas de usuarios asignan los uids al nombre del
usuario, contraseña, Id de Grupo (s), directorio de inicio y
shell de inicio.
– La contraseña se puede cambiar con el comando passwd.
4. Los usuarios de Linux y el archivo
/etc/passwd.
En Linux, usted primero se identifica al entrar con un
nombre particular de usuario nombre de usuario.
Cada proceso que se ejecuta en el sistema tiene un
nombre de usuario asociado.
El username, está asociado con las cosas que usted
hace, grabe o use.
Cada usuario en el sistema tiene un unico userid (uid)
Linux rastrea los userids como un número entero de
32bits
5. Los usuarios de Linux y el archivo
/etc/passwd.
El sistema mantiene una base de datos que asigna los
nombres de usuarios a los userids.
Esta base de datos se almacena en el archivo de
configuración /etc/passwd
[elvis@station elvis]$ tail /etc/passwd apache:x:48:48:Apache:/var/
www:/bin/bash postfix:x:89:89::/var/spool/postfix:/sbin/nologin
elvis:x:501:501::/home/elvis:/bin/bash
6. Archivo /etc/passwd
El archivo /etc/passwd
El archivo de texto /etc/passwd contiene nombres de usuario y
sus correspondientes userids y alguna otra información.
7. Tipos de Usuarios
Usuarios Normales
– Usuarios normales representan gente real que utiliza el sistema,
– Tienen un /bin/bash como shell de inicio de sesión.
– un directorio de inicio dentro del directorio /home.
– En RHE Linux, los usuarios normales tienen uids mayores a 500.
Usuario root
– Habituaslmente es llamado el superusuario.
– El usuario root es el usuario rey del systema
– uid 0 es reservado para el usuario root
Usuarios del Systema
–Los usuarios del sistema no representan gente, sino componentes del
sistema.
–En RHE Linux, los usuarios del sistema tienen uids que van de 1 a 499.
8. Los grupos Linux y el archivo/etc/group.
Conceptos Claves
– Básicamente, un grupo es solo un group id (gid) de un
número entero
– Cada proceso que se ejecuta en el sistema opera bajo una
colección de grupos (gids).
– El archivo /etc/groupasigna gids a nombres y a membresías
de grupo.
– Cada archivo en el sistema de archivos pertenece a un solo
gid.
– Los usuarios tienen un solo grupo primario definido en el
archivo /etc/passwd.
– Los usuarios pueden ser miembros de múltiples grupos
secundarios definidos en el archivo /etc/groups.
9. Grupos de Linux
Cada proceso se ejecuta bajo el contexto de un usuario
dado.
Los usuarios, los procesos que estos operan y los
archivos que poseen, pertenecen a la colección de
grupos
Las membresías de grupo le permiten a los
administradores de sistemas manejar eficientemente
las colecciones de los usuarios que tienen objetivos
similares.
Cada usuario es miembro de un grupo primario.
10. El archivo /etc/group
Para el kernel de Linux, un grupo es nombrado usando
un id de grupo (GID) de 32 bits
El archivo /etc/group asocia nombres de grupo con
GIDs (para humanos).
Define los usuarios que pertenecen a cada grupo.
11. El archivo /etc/group
Examine su archivo /etc/group
wrestle:x:201:ventura,hogan,elvis
physics:x:202:einstein,maxwell,elvis
emperors:x:203:nero,julius,elvis
governor:x:204:ventura,pataki
music:x:205:elvis,blondie,prince,madonna
dwarfs:x:206:sleepy,grumpy,doc elvis:x:501:
prince:x:502: madonna:x:504: blondie:x:505:
13. Grupos primarios y secundarios
Debido a que cada archivo debe tener un grupo
propietario, debe haber un grupo por defecto asociado
con cada usuario.
–Este grupo por defecto se convierte en el propietario del grupo
de los archivos recién creados
–Este grupo se conoce como el grupo primario del usuario.
–Un grupo primario de usuario se define en el cuarto campo de
una entrada de usuario /etc/passwd.
Usuarios pueden optar también por pertenecer a otros
grupos.
–Estos grupos se llaman grupos secundarios
– Están definidos en el cuarto campo del archivo /etc/group file.
14. Cambio de mis membresías de grupo
Únicamente el usuario administrativo root, puede
cambiar las membresías de grupo.
– Usando el comando usermod y groupmod.
– O la utilidad gráfica system-config-users
El uso de estos comandos se verá en otro curso.
15. Examinando Información de Usuarios
Conceptos Claves
– El comando id muestra la información del grupo y del usuario.
– El comando whoami informa el nombre del usuario actual.
– Los comandos who, users, y w informan sobre usuarios con
sesiones activas.
– El comando finger reporta la última vez que los usuarios entraron
al sistema y otra información adicional.
16. Identificacion de usuarios: el comando id.
Los usuarios suelen utilizar el comando id para
determinar la información sobre un usuario.
id [-g | -G | -u] [-n] [USERNAME]
Escribe información para el NOMBRE DE USUARIO o el
usuario actual.
17. El comando id.
Si se llama sin argumentos, el comando id entrega un
resumen de membresías de grupo para el usuario que lo
ejecuta.
Si está provisto del nombre de usuario, el comando id
entrega información del grupo para ese usuario
específico.
18. El comando id
Ejemplos,
– Si un usuario solo quizo saber el id del grupo primario de un
usuario, el comando podría ser invocado con la opción -g.
– Si el usuario quizo conocer el nombre del grupo en lugar del
número, la opción -n también podría especificarse.
– De la misma manera, la opción -G reportará todos los grupos , no
sólo el grupo primario.
19. El comando whoami
El comando whoami simplemente entrega el nombre
del usuario actual.
En Red Hat Enterprise Linux, muy pocas veces hay la
necesidad de usar el comando whoami, porque el
intérprete de comandos por defecto bash presenta de
inmediato el nombre de usuario del usuario actual.
20. ¿Quién tiene una sesión abierta? Los
comandos users, w y who.
Si un usuario quisiera saber quién más está usando
una máquina Linux o Unix en particular. Red Hat
Enterprise Linux, provee tres comandos que reportan
los usuarios actuales, cada uno con un nivel diferente
de detalle.
El más sencillo de estos es el comando users.
users
Hace una lista sencilla de quienes están conectados al
sistema.
21. ¿Quién tiene una sesión abierta? Los
comandos users, w y who.
w [[-h] | [-s] | [-f]] [NOMBRE DE USUARIO]
Escribe información detallada de quien está actualmente conectado
o para el usuario USERNAME, si es dado.
Al igual que el comando users, el comando w lista los usuarios que
están conectados en el sistema, pero provee mucha más
información detallada como lo demuestra el usuario elvis:
22. ¿Quién tiene una sesión abierta? Los
comandos users, w y who.
La línea superior da la información resumida: el tiempo
actual, el tiempo en días, horas y minutos que la máquina
ha estado funcionando sin interrupciones, el número de
usuarios y el promedio actual de carga (como un
promedio de 1.5 y 15 minutos) para la máquina.
23. ¿Quién tiene una sesión abierta? Los
comandos users, w y who.
• El último de estos tres comandos similares, who,también
provee información detallada acerca de quién está conectado
en el momento. Si se llama sin argumentos, se comporta de
una manera similar al comando w.
24. Revisión de usuarios: el comando finger.
El comando finger se puede utilizar para "chequear" al
usuario, no sólo para ver si está conectado, sino también
si ha leído su correo y la hora en que inició la sesión,
entre otras cosas.
finger [-s | -l | -p] [USER ...] [USER@HOST ...]
25. El comando finger
A manera de ejemplo, el usuario elvis usa el comando
finger para ver quién está en el sistema.
26. El comando finger
Sin argumentos el comando finger actúa de manera
muy parecida al comando who, dando información
sumaria incluyendo la de la terminal del usuario (Tty),
la hora de inicio y el tiempo de inactividad.
Elvis nota que su amiga blondie no está conectada y
decide buscar más información acerca de ella.
27. Utilización del comando finger en la red.
El comando finger también puede reportar la actividad
de un usuario en máquinas remotas. El usuario elvis
desea ver lo que va a hacer el usuario pataki en la
máquina nimbus.example.com.
28. Cambio de identidad
Conceptos Claves
– El comando su le permite a un usuario cambiar el id del usuario.
– El comando su, usualmente se llamado con un guión, así como en
su -para especificar que, en efecto, el usuario debería iniciar la
sesión como el nuevo usuario.
– El comando newgrp, también llamado sg, permite al usuario
cambiar el id degrupo primario.
29. Cambio de Identidad
A menudo en Linux, a un usuario le gustaría convertirse
temporalmente en otro usuario.
El comando que le permite temporalmente cambiar su
id de usuario se llama su.
su [- | -c | -m, -p | -s, --shell=SHELL] [USER [ARG]]
30. Comando su
Convertirse temporalmente en otro usuario puede ser tan simple como
"su" a ese usuario.
Es necesario que elvis conociera la contraseña de prince.
Para iniciar la sesión como usuario nuevo puede llamar al comando su
con un - (un guión simple). Este especifica que la shell del nuevo usuario
debe ser una shell de inicio.
31. Convertirse en root
Un usuario debe ser root para configurar(o arreglar) una
máquina Linux.
Para convertirse de un usuario normal a un usuario root, el
usuario debe conocer la contraseña de root y usar el comando
"su". Si el comando su se utiliza sin argumentos, éste asume
que el usuario está tratando de convertirse en root.
32. Cambio de grupo primario con el comando
newgrp
Algunas veces, puede que los usuarios quieran convertir
uno de sus grupos secundarios en primario para que los
archivos recién creados, sean propiedad de ese grupo.
El comando newgrp, equivalente al comando llamado
sg hace justamente esto.
newgrp [[GROUP]]
Genera una nueva shell con GROUP como su grupo
primario. Si GROUP no se especifica, utilice el grupo
primario por defecto.
33. Cambio de grupo primario con el comando
newgrp
En la siguiente secuencia de comandos, prince
creará un nuevo archivo, luego utilizará el
comando newgrp para generar una nueva shell
con un grupo primario de music. En la nueva
shell, prince creará otro archivo, el cual
pertenecerá al grupo music, prince luego
abandonará la nueva shell. 1. Observe que después
de ejecutar el comando
newgrp, el comando id
está reportando al grupo
primario de prince como
"music".
2. El archivo biz, creado
cuando el grupo primario
de prince era music, es
propiedad del grupo music.