SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
1
Users and Groups

Capítulo 1 Usuarios de Linux y el archivo /etc/passwd
Conceptos clave
•
•
•
•
•
•

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/passwdasigna 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 .

Los usuarios de Linux y el archivo /etc/passwd.
Cuando se utiliza un sistema Linux, usted primero se identifica al entrar con un nombre
particular de usuario nombre de usuario. Su nombre de usuario lo representa a usted.
Está asociado con las cosas que usted hace: cada proceso que se ejecuta en el sistema
tiene un nombre de usuario asociado. Está asociado con las cosas que usted grabe: cada
archivo en el sistema está rotulado como propiedad de un usuario particular. Está
asociado con las cosas que usted utiliza: la cantidad de espacio en el disco que utiliza o
la cantidad de tiempo del procesador que usa, pueden ser rastreados por el nombre de
usuario.
Cada usuario en el sistema no sólo tiene un nombre de usuario único, sino también un
userid, a menudo abreviado como uid. Linux rastrea los userids como un número entero
de 32bits, es decir que puede haber más de 2^32 o cerca de 4 mil millones de usuarios.
Mientras que a la gente le gusta pensar en términos de palabras (nombres de usuarios),
al Kernel de Linux se le facilita pensar en términos de números (uids). Cuando el kernel
mantiene el rastro de quién es el dueño del proceso o del archivo, éste recuerda el uid en
lugar del nombre del usuario. Sólamente cuando algún comando produce salida para
que la gente lea, el uid se convierte en el nombre de usuario.
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 . Linux, al
igual que Unix, tiene una afortunada tradición: incluso los archivos principales de
configuración en el sistema se mantienen en un texto leíble por humanos y se pueden
modificar con un editor de textos. Los usuarios y administradores pueden usar
herramientas sencillas para manejar texto, tales como los paginadores para examinar las
bases de datos. La mayoría de los usuarios en el sistema tiene permisos para leer, pero
no para modificar este archivo. A continuación se verán unas lineas de un archivo
típico/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
webalizer:x:67:67:Webalizer:/var/www/html/usage:/sbin/nologin
2
Users and Groups
elvis:x:501:501::/home/elvis:/bin/bash
prince:x:502:502::/home/prince:/bin/bash
madonna:x:504:504::/home/madonna:/bin/bash
blondie:x:505:505::/home/blondie:/bin/bash
sleepy:x:507:507::/home/sleepy:/bin/bash
grumpy:x:509:509::/home/grumpy:/bin/bash
doc:x:510:510::/home/doc:/bin/bash

El archivo /etc/passwd es una configuración de archivo con base en líneas, en donde
cada línea define un usuario en el sistema. Las líneas están divididas internamente en
siete campos y cada campo está separado por una coma. La siguiente tabla explica el
uso de cada uno de estos campos.
Nombre de
Num
campo
Nombre de
usuario
Contraseña

Propósito

1

El nombre de usuario se utiliza para dar un nombre leíble al
usuario.

2

En los sistemas Unix más antiguos este campo contiene la
contraseña del usuario encriptada. Por defecto, Red Hat Enterprise
Linux no hace uso de este campo por razones de seguridad.

Id del
3
usuario (uid)

El número entero que el kernel de Linux utiliza para identificar al
usuario.

Groupid
Primario
(gid)

4

El número entero que el kernel de Linux utiliza para identificar al
grupo primario del usuario. Las membresías del grupo se estudiarán
en la siguiente sección.

5

Este campo con ese nombre tan raro ya no sirve su propósito
original, el cual era importante para el entorno de desarrollo
original de Unix. En estos días, el campo se utiliza para almacenar
texto simple que ayuda a identificar al usuario, generalmente un
nombre completo, pero algunas veces también incluye el número
telefónico o la dirección.

GECOS

Directorio de
6
inicio

Cuando un usuario inicia sesión, su shell de inicio la utilizará como
su directorio actual de trabajo. Este es uno de los pocos directorios
en los que los usuarios estándar pueden escribir y generalmente son
de uso privado para el usuario.

Shell de
inicio de
sesión

La shell de inicio de sesión es la shell predeterminada para los
usuarios al iniciar la sesión. En Red Hat Enterprise Linux es
generalmente /bin/bash.

7

Los usuarios rara vez modifican este archivo directamente pero presentaremos varios
comandos que le permitirán al usuario cambiar ciertos campos. Si alguna vez necesita
refrescar su memoria; los campos están documentados en la página man passwd(5).
Las contraseñas y el archivo /etc/shadow.
Como se mencionó anteriormente la contraseña encriptada del usuario se solía
almacenar en el segundo campo del archivo /etc/passwd. Debido a que el archivo
3
Users and Groups
/etc/passwd no solo contiene contraseñas, sino mucha más información, es necesario
que todos puedan leerlo. Sin embargo, con el moderno poder de la informática, el
exponer la forma encriptada de su contraseña es peligroso. Sin mucho esfuerzo, las
máquinas modernas pueden tratar de adivinar su contraseña encriptando todas las
combinaciones de cada letra hasta encontrar la combinación exacta. Esto se conoce
como un ataque de "fuerza bruta".

En cambio los sistemas de Linux y Unix almacenan las contraseñas utilizando una
nueva técnica llamada "Shadow Passwords", donde las contraseñas de los usuarios se
almacenan en un archivo especializado /etc/shadow. Debido a que el archivo contiene
sólo información relacionada con las contraseñas, sus permisos no permiten ver su
contenido. Para mayores detalles vaya a la página man shadow(5) para obtener mayores
detalles.
Los usuarios pueden cambiar su contraseña con un simple comando llamado passwd. Si
usted no es el usuario de root, el comando passwd no aceptará argumentos ni opciones.
Su uso individual permite al usuario cambiar su propia contraseña:
[madonna@station madonna]$ passwd
Changing password for user madonna.
Changing password for madonna
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Observe que los usuarios necesitan suministrar su contraseña antes de poder cambiarla.
Esto evita que alguien tome aprovecho de una terminal abandonada por sólo unos
segundos.
¡Recuerde su contraseña!
Si cambia su contraseña de Linux, ¡asegúrese de recordarla! Su contraseña nunca
se almacenará en el sistema en texto comprensible, incluso su administrador de
sistemas no puede conocer su contraseña. Si usted la olvida, alguien con
privilegios de root le puede crear una nueva.
Selección de una contraseña "segura"
Al escoger una nueva contraseña, con frecuencia los usuarios son amonestados
con un mensaje de BAD PASSWORD. Tradicionalmente, las contraseñas son
susceptibles a un tipo de ataque conocido como un ataque de "diccionarios", en
donde un atacante encripta un diccionario completo (tal como
/usr/share/dict/words) y compara la salida encriptada con el contenido del
archivo/etc/shadow.
Para ayudar a evitar ataques de diccionarios, el comando passwd impedirá que los
usuarios utilicen contraseñas demasiado sencillas o fáciles de encontrar en un
diccionario.
Hay tres tipos de usuarios: normal, root y sistema
4
Users and Groups
Los usuarios de Linux suelen agruparse en tres clases.
Usuarios normales
Los usuarios normales representan gente real que utiliza el sistema, estos
usuarios normales generalmente tienen un /bin/bash como shell de inicio de
sesión y un directorio de inicio dentro del directorio /home. Por lo general, los
usuarios normales pueden crear archivos únicamente dentro de sus directorios de
inicio y directorios temporales en todo el sistema, tales como /tmp y
/var/tmp.En Red Hat Enterprise Linux, los usuarios normales tienen uids
mayores a 500.
El usuario root
El uid 0 está reservado para root, algunas veces llamado el superusuario. El root
es el rey del sistema: puede modificar o remover cualquier archivo; ejecutar
cualquier comando; matar cualquier proceso. El usuario root está encargado de
añadir y mantener otros usuarios, configurar el hardware y agregar el software
del sistema. Aunque puede crear archivos en cualquier parte del sistema,
generalmente utiliza su directorio de inicio /root.
Usuarios del sistema
La mayoría de los sistemas de Linux reservan un rango de valor bajo de uids
para actuar como usuarios del sistema. Los usuarios del sistema no representan
gente, sino componentes del sistema. Por ejemplo, los procesos que manejan el
correo electrónico usualmente operan como el nombre de usuario correo. Los
procesos que ejecutan el servidor de red Apache operan como el usuario apache.
Los usuarios del sistema por lo general no tienen una shell de inicio de sesión
porque no representan gente real. Asimismo, los directorios de inicio de los
usuarios del sistema rara vez residen en /home, sino que por lo general son
directorios de sistema que pertenecen a la aplicación relevante. Por ejemplo, el
usuario Apache, tiene un directorio de inicio /var/www. En Red Hat Enterprise
Linux, los usuarios del sistema tienen uids que van de 1 a 499.
Table 1. Ids de usuarios de Red Hat Enterprise Linux
Rango de uid Tipo de usuario
0
el usuario root
1-499

usuarios del sistema

500+

usuarios normales

Ejemplos
Examen de los userids de procesos
5
Users and Groups
El usuario elvis quiere averiguar que otra gente está utilizando el sistema Linux y lo que
están haciendo. Lista todos los procesos que están ejecutándose en la máquina
actualmente.
[elvis@station elvis]$ ps aux
USER
PID %CPU %MEM
VSZ
root
1 0.0 0.0 1380
root
2 0.0 0.0
0
[keventd]
root
3 0.0 0.0
0
...
root
872 0.0 0.1 5932
[sendmail]
smmsp
881 0.0 0.1 5732
[sendmail]
root
891 0.0 0.0 1420
ps/2 -m /d
root
900 0.0 0.0 1572
xfs
973 0.0 0.0 4812
root
992 0.0 0.0 3412
-interval
root
999 0.0 0.0 1356
/sbin/mingetty tt
...
prince
1066 0.0 1.4 18428
/usr/bin/gnome-se
prince
1116 0.0 0.4 6136
/usr/libexec/bono
prince
1118 0.0 0.6 17380
settings-da
prince
1123 0.0 0.1 2688
prince
1128 0.0 0.4 3816
xscreensaver -nos
prince
1135 0.0 2.1 20220
panel --smprince
1137 0.0 3.9 86176
nautilus --no-def
prince
1145 0.1 3.0 26132
/usr/bin/python /
root
1146 0.0 0.0 1412
[pam_timestamp_c]
prince
1160 0.1 3.4 23208
/usr/bin/gnome-te
prince
1161 0.0 0.1 1852
pty-helpe]
prince
1162 0.0 0.1 4368
prince
1210 0.0 0.3 4372
prince
2262 0.4 8.0 99276
/usr/bin/galeon-b
prince
2266 0.0 0.5 5652
ac-activat
prince
2818 0.0 0.3 4368
prince
3673 0.1 0.5 4356
root
3699 0.0 0.3 4112
elvis
3702 0.0 0.5 4312
elvis
3736 1.1 4.0 24572
evolution

RSS TTY
76 ?
0 ?

STAT START
S
03:33
SW
03:33

TIME COMMAND
0:04 init [
0:00

SW

03:33

0:00 [kapmd]

440 ?

S

03:34

0:00

312 ?

S

03:34

0:00

56 ?

S

03:34

0:00 gpm -t

128 ?
236 ?
4 ?

S
S
S

03:34
03:34
03:34

0:00 crond
0:00 [xfs]
0:00 rhnsd -

S

03:34

0:00

3704 ?

S

03:37

0:00

1084 ?

S

03:37

0:00

1716 ?

S

03:37

0:00 gnome-

388 ?
1032 ?

S
S

03:37
03:37

0:00 [fam]
0:02

5440 ?

S

03:37

0:06 gnome-

10048 ?

S

03:37

0:04

7900 ?

S

03:37

0:13

156 ?

S

03:37

0:00

8844 ?

S

03:38

0:11

284 ?

S

03:38

0:00 [gnome-

340 pts/0
964 pts/1
20476 pts/0

S
S
S

03:38
03:39
03:42

0:00 bash
0:01 bash
0:36

1480 ?

S

03:42

0:00 oafd --

864 pts/2
1444 pts/4
952 pts/4
1416 pts/4
10316 pts/4

S
S
S
S
S

04:17
05:46
05:46
05:46
05:46

0:00
0:00
0:00
0:00
0:00

0 ?

4 tty1

bash
bash
[su]
-bash
6
Users and Groups
elvis
3739 0.4
ac-activat
elvis
3742 0.5
--oaf-acti
elvis
3746 0.3
moniker-xm
elvis
3753 1.0
evolution-mail -elvis
3755 0.0
/usr/bin/gconfd-1
elvis
3762 0.6
evolution-address
elvis
3766 0.5
evolution-calenda
elvis
3771 0.5
evolution-alarm-n
elvis
3773 0.6
evolution-executi
root
3785 0.0
madonna
3788 0.1
madonna
3822 11.4
/usr/lib/mozillaroot
3852 0.0
elvis
3855 0.6
elvis
3891 0.0

0.8

5664 2260 ?

S

05:46

0:00 oafd --

2.3 22548 6100 ?

S

05:46

0:00 wombat

1.6 11296 4288 ?

S

05:46

0:00 bonobo-

3.4 57400 8916 ?

S

05:46

0:00

0.5

3260 1440 ?

S

05:46

0:00

2.5 23052 6628 ?

S

05:46

0:00

2.5 23516 6560 ?

S

05:46

0:00

2.2 21336 5860 ?

S

05:46

0:00

2.3 21740 6104 ?

S

05:46

0:00

0.3 4108 948 pts/3
0.5 4308 1412 pts/3
8.7 89140 22320 pts/3

S
S
S

05:46
05:46
05:46

0:00 [su]
0:00 -bash
0:05

0.3
0.5
0.2

S
S
R

05:47
05:47
05:47

0:00 [su]
0:00 -bash
0:00 ps aux

4112 968 pts/2
4304 1392 pts/2
2668 716 pts/2

Algunas de las líneas en esta lista bastante larga fueron editadas y remplazadas por
"...".
La primera columna de la lista muestra el nombre de usuario que está operando un
proceso. Además de prince, madonna y elvis, - elvis asume que son nombres de
usuarios asociados con gente real, elvis observa que muchos de los procesos en el
sistema están ejecutando como el usuario de root y también como usuarios smmsp y xfs.
Examen de los propietarios de archivo por nombre de usuario y userid.
La usuaria blondie está examinando el directorio /home y observa que cada directorio
de inicio de usuario le pertenece al nombre de usuario apropiado. Luego utiliza el
comando ls -ln para listar el directorio de propietarios "numéricamente"o por userid en
lugar de por nombre de usuario. Preste mucha atención a la tercera columna en la
siguiente lista, la cual muestra un propietario de archivo.
[blondie@station blondie]$ ls -l /home/
total 48
drwx-----4 blondie blondie
4096
drwx-----4 doc
doc
4096
drwx-----4 elvis
elvis
4096
drwx-----4 grumpy
grumpy
4096
drwx-----4 madonna madonna
4096
drwx-----4 prince
prince
4096
drwx-----4 sleepy
sleepy
4096
[blondie@station blondie]$ ls -ln /home/
total 48
drwx-----4 505
505
4096
drwx-----4 510
510
4096

May
May
May
May
May
May
May

14
14
14
14
14
14
14

06:35
06:32
06:31
06:32
06:31
06:31
06:32

blondie
doc
elvis
grumpy
madonna
prince
sleepy

May 14 06:35 blondie
May 14 06:32 doc
7
Users and Groups
drwx-----drwx-----drwx-----drwx-----drwx------

4
4
4
4
4

501
509
504
502
507

501
509
504
502
507

4096
4096
4096
4096
4096

May
May
May
May
May

14
14
14
14
14

06:31
06:32
06:31
06:31
06:32

elvis
grumpy
madonna
prince
sleepy

En la lista ls -l, los propietarios de archivo son vistos por nombre de usuario. En la lista
ls -ln, los propietarios de archivo aparecen por userid.
Cambio de un nombre de usuario como root
El administrador de la máquina, actuando como root, desea editar el archivo
/etc/passwd. Primero, root tomará un ls -l de los archivos en el directorio /home.
Luego, root cambiará el nombre del usuario sleepy en la base de datos de usuarios y por
último, mirará otra vez la salida del comando ls -l.
[root@station
total 48
drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----[root@station

root]# ls -l /home/
4 blondie blondie
4 doc
doc
4 elvis
elvis
4 grumpy
grumpy
4 madonna madonna
4 prince
prince
4 sleepy
sleepy
root]# nano /etc/passwd

4096 May 14 06:40 blondie
4096 May 14 06:32 doc
4096 May 14 06:31 elvis
4096 May 14 06:32 grumpy
4096 May 14 06:31 madonna
4096 May 14 06:31 prince
4096 May 14 06:32 sleepy

(root edits the /etc/passwd file, so that the line ...
sleepy:x:507:507::/home/sleepy:/bin/bash
... now reads ...
sleepier:x:507:507::/home/sleepy:/bin/bash
... )
[root@station
total 48
drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----drwx------

root]# ls -l /home/
4
4
4
4
4
4
4

blondie
doc
elvis
grumpy
madonna
prince
sleepier

blondie
doc
elvis
grumpy
madonna
prince
sleepy

4096 May 14 06:40 blondie
4096 May 14 06:32 doc
4096 May 14 06:31 elvis
4096 May 14 06:32 grumpy
4096 May 14 06:31 madonna
4096 May 14 06:31 prince
4096 May 14 06:32 sleepy

En el primer caso el usuario propietario del directorio de inicio de sleepy
/home/sleepy aparece en la lista como sleepy.
En el segundo caso, el usuario propietario del directorio de inicio de sleepy
aparecerá en la lista como sleepier.
¿Qué se puede aprender de este ejemplo? root no cambió nada en /home/sleepy, sólo
la base de datos de usuarios. Sin embargo, tan pronto como el archivo modificado
8
Users and Groups
/etc/passwd se grabó, el comando ls -l comenzó a reportar la nueva información. Esto
sugiere lo siguiente:

1. El kernel de Linux no almacena el nombre de usuario del que posee el archivo,
sino el número entero del userid, (del ejemplo anterior, ¿cuál userid es
propietario del directorio /home/sleepy ?).
2. Cada vez que ejecuta el comando ls, debe buscar los trazados del nombre de
usuario/userid en el archivo /etc/passwd para anexar los nombres de usuario a
los propietarios de userid provistos por el kernel.
Ejercicios en línea
Determinación de información del usuario
Lab Exercise
Objetivo:Determinar los parámetros relacionados con el usuario tales como userid
y shell de inicio.
Estimated Time: 10 mins.
Especificaciones
Al examinar el primer, tercer y último campo (séptimo) del archivo /etc/passwd,
determine el userid y la shell de inicio para su nombre de usuario, el usuario root, y el
usuario nobody (sí, hay un usuario de sistema con el nombre de usuario"nobody"). Cree
archivos sencillos en su directorio de inicio llamado my.uid,my.shell, root.uid,
root.shell, nobody.uid, y nobody.shell que contengan sólo la información
apropiada en una sola línea.
Por ejemplo, si el shell de inicio de sesión del usuario nobody fuera /bin/bash, el
siguiente comando crearía fácilmente el archivo apropiado.
[student@station student]$ echo /bin/bash > nobody.shell
[student@station student]$ cat nobody.shell
/bin/bash

Deliverables
Question 1

Al terminar, los siguientes seis archivos deberían estar en su directorio de inicio, el cual
contiene sólo la siguiente información:
filename
my.uid

Contenido
Su número entero de userid de cuenta
9
Users and Groups
my.shell

Su shell de inicio

root.uid

El número entero de userid de root

root.shell

La shell de inicio del usuario root

nobody.uid

El userid entero del usuario nobody

nobody.shell

La shell de inicio del usuario nobody

Capítulo 2 Los grupos Linux y el archivo/etc/group.
Conceptos clave
•
•
•
•
•
•

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.

Grupos de Linux
La lección anterior presentó el hecho de que cada proceso se ejecuta bajo el contexto de
un usuario dado. Además, 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. Además, los usuarios pueden ser
miembros de cero o más grupos secundarios. Las implicaciones de los grupos primarios
o secundarios se presentan a continuación.
El archivo /etc/group.
Para el kernel de Linux, un grupo es nombrado usando un id de grupo (GID) de 32 bits,
(note la similitud con que el kernel referencia los usuarios). El archivo
/etc/groupasocia nombres de grupo con GIDs (para humanos) y define los usuarios
que pertenecen a cada grupo. El archivo /etc/group, juega un papel similar para los
grupos así como el archivo /etc/passwd lo es para los usuarios, tiene una estructura
similar, y un nombre más razonable. Es un archivo de configuración con base en líneas,
cada línea consta de campos separados por una coma así como se demuestra a
continuación.
wrestle:x:201:ventura,hogan,elvis
physics:x:202:einstein,maxwell,elvis
10
Users and Groups
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:

Los cuatro campos proporcionan la siguiente información:
Nombre
campo

de

1

Groupname
Contraseña
grupo

Num Propósito

de

El nombre de grupo se utiliza para dar al grupo un nombre
legible.

2

Los grupos pueden contar con una contraseña de grupo aunque
esto sucede raras veces.

Grupo ID (GID) 3

El número entero de grupo id.

Miembros
grupo

Una lista de nombres de usuarios separados por comas que
define los miembros del grupo.

de

4

¿Por qué grupos?
Las membresías de grupo se utilizan muy a menudo para determinar quién tiene acceso
a qué en el sistema de archivo. Los dwarfs que se encuentran en el siguiente ejemplo del
archivo /etc/group doc, grumpy, y sleepy, podrían estar trabajando en mis prospectos
y no querrán que otros usuarios tengan acceso a su información. Los archivos que están
utilizando (y los directorios en los que están almacenándolos) pueden organizarse de tal
manera que cada miembro del grupo dwarfs tenga acceso a ellos, pero otros usuarios no.
El hecho de que cada archivo en el sistema pertenezca a un usuario ya se ha mencionado
anteriormente. Cada archivo en el sistema también pertenece a un grupo, al cual se
alude como "grupo propietario". En la siguiente lista de archivos ls -len el directorio
/var/prospects, la tercera columna lista al usuario propietario de los archivos y la
cuarta columna el grupo propietario.
[doc@station prospects]# ls -l /var/prospects/
total 12
-rw-rw---1 doc
dwarfs
143 May 15 07:38 doc.txt
-rw-rw---1 grumpy
dwarfs
29 May 15 07:38 grumpy.txt
-rw-rw---1 sleepy
dwarfs
2027 May 15 07:38 sleepy.txt

Mientras que los usuarios individuales poseen sus propios archivos, cada archivo tiene
al grupo dwarfs como su propietario de grupo o en otras palabras, cada archivo es
"propiedad" del grupo dwarfs. La primera columma especifica los permisos que tienen
el usuario propietario y los miembros del grupo dueños del archivo. ¿Pueden leerlo?
¿Pueden modificarlo? ¿Cómo interpretar y manejar estos permisos es el tema del
próximo cuaderno. Por ahora, tenga en cuenta quecada archivo en el sistema de
archivos tiene un usuario propietario y un grupo propietario.
11
Users and Groups
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
primariodel usuario. Un grupo de usuario primario se define en el cuarto campo de una
entrada de usuario /etc/passwd.
Aparte del grupo primario, los usuarios pueden optar también por pertenecer a otros
grupos. Estos grupos se llaman grupos secundariosy están definidos (por coincidencia)
en el cuarto campo del archivo /etc/group file.
Considere los siguientes extractos de los archivos /etc/passwd file y /etc/group.
[elvis@station elvis]$ tail /etc/passwd
grumpy:x:509:509::/home/grumpy:/bin/bash
doc:x:510:510::/home/doc:/bin/bash
student:x:2299:2299::/home/student:/bin/bash
ventura:x:511:511::/home/ventura:/bin/bash
hogan:x:512 :512 ::/home/hogan:/bin/bash
pataki:x:513:513::/home/pataki:/bin/bash
einstein:x:514:514::/home/einstein:/bin/bash
maxwell:x:515:515::/home/maxwell:/bin/bash
nero:x:516:516::/home/nero:/bin/bash
julius:x:517:517::/home/julius:/bin/bash
[elvis@station elvis]$ cat /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
...
hogan:x:512:
pataki:x:513:
einstein:x:514:
maxwell:x:515:
nero:x:516:
julius:x:517:

En la toma de pantalla anterior se han omitido algunas líneas y se han reemplazado
con "...".
En el tercer campo encontramos que el usuario hogan tiene un userid de 512.
En el cuarto campo encontramos que el usuario hogan tiene un id de grupo
primario de 512, (observe que el id del grupo primario hogan es el mismo que su id
de usuario. Esto no tiene que ser el caso, pero lo es a menudo debido a la forma en
que se adicionan los usuarios en Red Hat Enterprise Linux).
Aunque sabemos que el grupo primario de hogan es 512 desde el archivo
/etc/passwd, no podemos conocer el nombre del grupo hasta examinar el
archivo/etc/group. Aquí encontramos que el nombre de grupo del grupo 512 es
hogan. En Red Hat Enterprise Linux,el grupo primario de un usuario casi siempre
tiene el mismo nombre del nombre de usuario.
12
Users and Groups
Aquí encontramos que hogan también es miembro del grupo wrestlers. El grupo
wrestlers es un grupo secundario.
En resumen, se puede decir lo siguiente acerca de los grupos primarios y secundarios.
•

•

Un groupid primario se define en el cuarto campo del archivo/etc/passwd.
Luego, el nombre del usuario del grupo primario se asocia con el groupid en el
archivo /etc/group.
Los usuarios de grupos secundarios se definen al adicionar el nombre de usuario
al cuarto campo de las líneas apropiadas en el archivo/etc/group.

¿Cómo puedo cambiar mis membresías de grupo?
Los usuarios estándar no tienen permiso para editar el archivo /etc/passwd ni el
archivo /etc/group y por lo tanto, no pueden cambiar las membresías de grupo.
Únicamente el usuario administrativo root, puede cambiar las membresías de grupo.
Si usted no tiene acceso a la máquina como root, las asociaciones de grupo se pueden
modificar utilizando los comandos usermod y groupmod o la utilidad gráfica systemconfig-users. El uso de estos comandos se verá en otro curso.
Ejemplos
¿Quiénes son miembros de ese grupo?
En la siguiente lista del directorio /var/spool, prince observa que el grupo "sys" es
propietario del directorio /var/spool/cups.
[prince@station
total 64
...
drwx-----2
drwx-----3
drwxr-xr-x
23
drwxrwxr-x
2
...

prince]$ ls -l /var/spool/

root
lp
root
root

root
sys
root
mail

4096
8192
4096
4096

Feb
May
Jan
May

19
21
24
21

08:39
12:36
18:52
10:55

cron
cups
lpd
mail

El usuario prince ahora se está preguntando cuál de los usuarios del sistema es miembro
de los grupos sys. Con el fin de averiguarlo, examina el archivo /etc/group.
[prince@station prince]$ head /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
13
Users and Groups
Al examinar la cuarta línea, prince determina que los usuarios root, bin y adm son los
miembros actuales del grupo sys.
¿A qué grupos pertenece el usuario ?
El usuario prince desea averiguar a qué grupos pertenece el usuario root. Debido al
formato del archivo /etc/group, no puede determinar la respuesta al examinar una sola
línea. Decide, entonces, buscar la palabra "root" en el archivo.
[prince@station prince]$ cat /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
...

Después de una inspección tediosa de la salida, prince decide que root pertenece a los
siguientes grupos: root, bin, daemon, sys, adm, disk y wheel y piensa para sí que "debe
haber una forma más fácil", (esperemos que prince lea la siguiente lección).
Ejercicios en línea
Determinación de membresías de grupo
Lab Exercise
Objetivo: determinar las membresías de grupos localmente definidos.
Estimated Time: 10 mins.
Especificaciones
Crea un archivo en su directorio de inicio llamado physics.txt, el cual contiene una
lista de los miembros del grupo physics, separados por espacios.
Por ejemplo, si elvis, blondie, y prince fueran los miembros de un grupo physics, el
siguiente comando crearía fácilmente dicho archivo.
[student@station student]$ echo "blondie elvis prince" > physics.txt
[student@station student]$ cat physics.txt
blondie elvis prince

Deliverables
14
Users and Groups
Question 1

1. Un archivo ~/physics.txt que contenga una lista del grupo physics, separado
por espacios.

Determinación de los grupos a los que un usuario está suscritos (la forma difícil)
Lab Exercise
Objetivo:Determinar los grupos a los cuales pertenece un usuario definido
localmente.
Estimated Time: 10 mins.
Especificaciones
Crea un archivo en su directorio de inicio llamado elvisgrp.txt, el cual contiene una
lista de los grupos a los que el usuario elvis pertenece.
Por ejemplo, si elvis perteneció a los grupos sys, music, y elvis, entonces el siguiente
comando crearía fácilmente dicho archivo.
[student@station student]$ echo "elvis music sys" > elvisgrp.txt
[student@station student]$ cat elvisgrp.txt
elvis music sys

Deliverables
Question 1

1. El archivo ~/elvisgrp.txtque contiene una lista de los grupos a los que el
usuario elvis pertenece.

Capítulo 3 Revisar la información del usuario
Conceptos clave
•
•
•
•

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.

Identificacion de usuarios: el comando id.
15
Users and Groups
La lección anterior presentó los conceptos de grupos y la manera cómo los archivos
/etc/passwd y /etc/Group definen las membresías de grupo. Debido a que la
determinación de las membresías de grupos desde estos archivos no se hace
directamente, los usuarios suelen utilizar el comando id para determinar la información
sobre un usuario.

id

[[-g] | [-G] | [-u]] [-n] [NOMBRE DE USUARIO]

Escribe información para el NOMBRE DE USUARIO o el usuario actual.
Opción

Efecto

-g,--grupo Escribe únicamente el id de grupo
'G,--grupos Escribe todos los ids de grupo
-u, --user

Escribe sólo el identificador de usuario efectivo

-n, --name Imprime el nombre del usuario o del grupo en lugar del número.
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.
[elvis@station elvis]$ id
uid=501(elvis) gid=501(elvis)
groups=501(elvis),203(emperors),205(music)
[elvis@station elvis]$ id blondie
uid=505(blondie) gid=505(blondie) groups=505(blondie),205(music)

Por defecto, el comando presenta el identificador de usuario, el grupo primario y todos
los grupos (primario y secundario) a los cuales pertenece el usuario, tanto por nombre
de grupo como por id de grupo.
La salida del comando id puede calificarse con las opciones, como se resume en la tabla
anterior. Por ejemplo, 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.
Estas líneas de comando son muy útiles cuando el comando id se utilizado en scripts.
[elvis@station elvis]$ id -g blondie
505
[elvis@station elvis]$ id -gn blondie
blondie
[elvis@station elvis]$ id -Gn blondie
blondie music

El comando whoami .
El comando whoami simplemente entrega el nombre del usuario actual.
16
Users and Groups

whoami

Escribe 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. El intérprete de comandos es configurable, sin
embargo, en otros sistemas de Linux y Unix o en otros entornos (tales como shells de
rescate), la identidad del usuario podría no ser tan obvia. También el comando whoami
puede estar insertado en un script, el cual podría tener un comportamiento diferente
dependiendo de quién lo está ejecutando.
¿Quién tiene una sesión abierta? Los comandos users, wy 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.
Puede que el usuario elvis quiera saber quién más está conectado a la máquina.
[elvis@station elvis]$ users
blondie elvis elvis elvis elvis elvis prince root

El comando reporta que blondie, elvis, prince y root están actualmente conectados a la
máquina. ¿Por qué elvis aparece en la lista cinco veces? Unix tradicionalmente asocia
toda la actividad desde una sola terminal con lo que técnicamente se llama "sesión". Al
utilizar el entorno gráfico X, cada ventana de una terminal abierta se considera una
terminal distinta y por lo tanto, una sesión diferente. El usuario elvis probablemente está
usando terminales múltiples dentro de X windows.

w

[[-h] | [-s] | [-f]] [NOMBRE DE USUARIO]

Escribe información detallada de quien está actualmente conectado o para el usuario
si es dado.

USERNAME,

Efecto
Opción
-h
salta la cabecera
-s

una lista corta

-f

no muestra el campo "FROM".
17
Users and Groups
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:
[elvis@station elvis]$ w
12:58:58 up 1 day, 3:32, 8 users, load average: 0.01, 0.04,
USER
TTY
FROM
LOGIN@
IDLE
JCPU
PCPU
root
tty2
12:45pm 13:19
0.05s 0.05s
prince
tty1
12:45pm 13:01
4.63s 4.60s
elvis
rain.rdu station.redhat.c 9:44am 0.00s 5:42
1.58s
/usr/bin/gnome
elvis
pts/0
station.redhat.c 9:59am 1:05m 5.33s 3.05s
elvis
pts/2
station.redhat.c 11:24am 1.00s 0.99s 57.08s
/usr/bin/gnome
elvis
pts/4
station.redhat.c 11:10am 1:05m 0.20s 0.20s
elvis
pts/5
station.redhat.c 11:29am 12:37 15.90s 0.16s
root
blondie pts/6
station.redhat.c 12:46pm 12:37
0.05s 0.05s

0.04
WHAT
-bash
top

mutt

bash
ssh
-bash

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. El comando luego presenta una tabla con la siguiente información.
Columna

Información

USER

El nombre de usuario del usuario que está conectado.

TTY

La terminal desde donde el usuario está conectado, (la interpretación de las
terminales se discute en el cuaderno 1).

FROM

Si el usuario está conectado a la red, el nombre del anfitrión desde donde el
usuario está conectado.

LOGIN@ La hora en que el usuario inició la sesión.
IDLE

El tiempo que ha transcurrido desde la última interacción en la terminal.

JCPU

La cantidad de tiempo CPU consumido por todos los procesos que están
ejecutándose en el momento asociados con la sesión de la terminal.

PCPU

La cantidad de tiempo de CPU consumido por sólo el proceso actual, como
se le llama en el campo "WHAT".

WHAT

El proceso del usuario, ejecutándose actualmente.

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. El comando who también está diseñado para
reportar eventos del sistema tal como el nivel de ejecución actual, ajustes al sistema del
reloj y procesos generados por el proceso /sbin/init. Mucha de esta información va
más allá del alcance de este curso.
Revisión de usuarios: el comando finger.
Uso del comando finger.
18
Users and Groups
El comando fingerse 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]] [USUARIO...] [USER@HOST ...]

Escribe la información sumaria acerca del usuario específico, incluyendo si ha entrado
al sistema, si ha revisado su correo o hace una lista de todos los usuarios en el sistema si
no se proporciona ninguno.
Opción

Efecto

-s

Salida en formato sumario

-l

Salida en formato largo

-p

No muestre la información ".plan", ".project", etc.

A manera de ejemplo, el usuario elvis usa el comando finger para ver quién está en el
sistema.
[elvis@station elvis]$ finger
Login
Name
Tty
Idle
Phone
madonna
*:0
madonna
pts/0
28
madonna
pts/1
20
madonna
pts/2
madonna
pts/3
3
elvis
tty1
prince
tty2

Login Time
May
May
May
May
May
May
May

26
26
26
26
26
26
26

06:40
06:40
06:41
06:50
07:04
07:09
07:10

Office

Office

(:0.0)
(:0.0)
(:0.0)
(:0.0)

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.
Ahora elvis nota que su amiga blondie no está conectada y decide buscar más
información acerca de ella.
[elvis@station elvis]$ finger blondie
Login: blondie
Name: (null)
Directory: /home/blondie
Shell: /bin/bash
Never logged in.
No mail.
No Plan.

En este caso el comando finger entrega información sumaria sobre la usuaria blondie,
incluyendo el hecho de que ella nunca ha estado en el sistema y que no tiene correo en
espera.
Personalización de la salida del comando finger.
19
Users and Groups
Cuando elvis decide chequear al usuario prince, el comando finger proporciona mucha
más información.
[elvis@station elvis]$ finger prince
Login: prince
Name: (null)
Directory: /home/prince
Shell: /bin/bash
On since Mon May 26 07:10 (EDT) on tty2
10 minutes 30 seconds idle
New mail received Mon May 26 07:17 2003 (EDT)
Unread since Wed May 14 06:31 2003 (EDT)
Plan:
12:00 - 1:00 lunch
1:00 - 3:00 in class
3:30 - 4:30 ultimate frisbee

Debido a que prince está conectado en el momento, el comando finger entrega al
usuario, la terminal, la hora de acceso al sistema y el tiempo de inactividad.
El comando finger reporta la úĺtima hora en que el usuario recibió correo y la
última vez que lo leyó, (observe que no sólo funciona si la máquina está
configurada para recibir correo-e directamente, sino que utiliza una cuenta POP
provista de un proveedor del servicio de Internet).
El usuario prince ha creado un archivo ~/.plan que el comando finger reporta.
Un usuario puede personalizar la información que otra persona ve cuando está en
finger, creando archivos ocultos en su directorio de inicio. El comando finger conoce
los siguientes archivos.
Nombre de
archivo

Propósito

.plan

Aparece en pantalla con el comando finger bajo el título "Plan:".

.project

Aparece en pantalla con el comando finger bajo el título "Project:".

.pgpkey

Aparece en la pantalla gracias al comando finger bajo el título
"PGP Key:". Sirve para que el usuario publique una parte de la
clave pública de una clave pública/privada que se utiliza en la
encripción de la clave pública.
Permiso de acceso a su directorio de inicio
Por defecto en Red Hat Enterprise Linux, el
directorio de inicio de un usuario no tiene acceso
a los otros directorios de inicio que se encuentran
en el sistema . Para que el comando finger
encuentre estos archivos, un usuario debe habilitar
los permisos de ejecución en su directorio de
inicio usando un comando similar al siguiente:
[prince@station prince]$ chmod o+x ~

Este tema se tratará a profundidad en el Cuaderno
4.
20
Users and Groups
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.
[elvis@station elvis]$ finger pataki@nimbus.example.com
Login: pataki
Name: (null)
Directory: /home/pataki
Shell: /bin/bash
Never logged in.
New mail received Mon May 26 07:41 2003 (EDT)
Unread since Wed May 14 15:34 2003 (EDT)
Plan:
Balance the budget.

Para que este comando funcione, la máquina remota nimbus.example.com debe optar
por utilizar el servicio finger. En los comienzos del Internet, las máquinas Unix
comúnmente prestaban este servicio. Ahora que el Internet ha crecido y las solicitudes
de seguridad a menudo pesan más que el espíritu de la comunidad, la mayoría de los
administradores deciden no utilizar ese servicio. El servicio está disponible en Red Hat
Enterprise Linux, pero se encuentra desactivado por defecto.
Ejemplos
Utilización del comando idpara determinar las membresías de grupo.
La usuaria blondie ha enviado un correo electronico a su administrador pidiendo unirse
al grupo de music. Al entrar el siguiente día, quiere saber si el administrador lo hizo.
Para averiguarlo, blondie ejecuta el comando id.
[blondie@station blondie]$ id
uid=505(blondie) gid=505(blondie) groups=505(blondie),205(music)

blondie ve que ha sido agregada al grupo music.
Ponerse al corriente con elvis.
La usuaria blondie quiere ponerse al corriente con el usuario elvis. Ella averigua si elvis
está conectado al sistema utilizando el comando w.
[blondie@station blondie]$ w
08:05:50 up 1:28, 7 users,
USER
TTY
FROM
prince
tty2
elvis
tty1
blondie :0
/usr/bin/gnomeblondie pts/0
:0.0
blondie pts/1
:0.0
blondie pts/2
:0.0
/usr/bin/gnome-

load average: 0.00, 0.15,
LOGIN@
IDLE
JCPU
9:10am 55:48
0.05s
9:09am 55:52
0.01s
8:40am
?
0.00s
8:40am
8:41am
8:50am

8:27 10.23s
2:03
0.54s
0.00s 0.56s

0.34
PCPU
0.05s
0.01s
0.83s
0.10s
0.54s
8.06s

WHAT
-bash
-bash

bash
bash
21
Users and Groups
blondie pts/3
/usr/bin/gnome-

:0.0

9:04am 59:28

0.20s

8.06s

Blondie observa que elvis está conectado pero tiene un tiempo inactivo de cerca de una
hora. Al tratar de decidir si elvis está realmente sentado frente a la terminal, utiliza el
comandofinger.
[blondie@station blondie]$ finger elvis
Login: elvis
Name: (null)
Directory: /home/elvis
Shell: /bin/bash
On since Mon May 26 07:09 (EDT) on tty1
1 hour 6 minutes idle
New mail received Mon May 26 06:53 2003 (EDT)
Unread since Wed May 14 06:31 2003 (EDT)
Plan:
9:30 - 10:30 Team meeting
12:30 - 1:30 Lunch

Al ver que elvis ha puesto en la lista una reunión a las 9;30, blondie asume que elvis no
está en la terminal, pero que quedó conectado.
Personalización de la información de finger.
El usuario prince desea personalizar lo que los usuarios ven si ellos ejecutan finger. El
sabe que primero necesita permitir el acceso a su directorio de inicio.
[prince@station prince]$ chmod o+x ~

Luego, prince genera un archivo .plan.
[prince@station prince]$ nano ~/.plan
...( dentro del editor nano, prince crea el siguiente archivo )...
Convertirse en la primera persona en instalar Red Hat Enterprise Linux
en la luna.
...( y guarda el archivo como ~/.plan) ...
[prince@station prince]$ cat ~/.plan
Convertirse en la primera persona en instalar Red Hat Enterprise Linux
en la luna.

Por último, prince rutinariamente firma su correo-e con la clave privada GPG. Le
gustaría que el comando finger reportara su clave pública para que la gente pudiera
verificar su firma.
[prince@station prince]$ gpg --export -a prince > ~/.pgpkey

Para confirmar su configuración, él decide ejecutar el comando finger para sí mismo.
[prince@station prince]$ finger prince
Login: prince
Name: (null)
22
Users and Groups
Directory: /home/prince
Shell: /bin/bash
On since Mon May 26 07:10 (EDT) on tty2
New mail received Mon May 26 07:17 2003 (EDT)
Unread since Wed May 14 06:31 2003 (EDT)
PGP key:
-----BEGIN PGP PUBLIC KEY BLOCK----Version: GnuPG v1.2.1 (GNU/Linux)
mQGiBD7SCMcRBADqfVCpDz/h4ky/K0y2aJoJXaBMRn1KG5fro8PRXa/mH8/ToR9h
n3PdJGCV4glJnMfG2II6+HTm5kgTbg+ACZyvP9JBDGqMpbA2kCQk2RjEEArkL8d4
...
R1ujp1rJ8gCfUtM9p6A5yx5FpPQrsCtKRuurixo=
=315x
-----END PGP PUBLIC KEY BLOCK----Plan:
Become the first person to install Red Hat Enterprise Linux on the
moon.

Observe que se han borrado varias líneas y se remplazaron con "...".
Contactar el servidor de finger, finger.kernel.org
Algunas veces, los sitios de Internet reconfigurarán su servicio finger de esta manera
que en vez de listar a todos los usuarios conectados en ese momento, el servicio
presente una pequeña cantidad de información. (por lo general cambiante). La usuaria
Madonna utiliza el comando finger para preguntarle a finger.kernel.org por las últimas
versiones del kernel de Linux.
[madonna@station madonna]$ finger @finger.kernel.org
The latest stable version of the Linux kernel is:
The latest prepatch for the stable Linux kernel tree is:
The latest beta version of the Linux kernel is:
The latest snapshot for the beta Linux kernel tree is:
bk19
The latest 2.2 version of the Linux kernel is:
The latest 2.0 version of the Linux kernel is:
The latest prepatch for the 2.0 Linux kernel tree is:
The latest -ac patch to the stable Linux kernels is:
rc2-ac3
The latest -ac patch to the beta Linux kernels is:
The latest -dj patch to the beta Linux kernels is:

Ejercicios en línea
Listado de grupos con el comando id.
Lab Exercise
Objetivo: Listar las membresías de grupo con el comando id.
Tiempo estimado: 5 minutos.
Especificaciones

2.4.20
2.4.21-rc3
2.5.69
2.5.692.2.25
2.0.39
2.0.40-rc6
2.4.212.5.69-ac1
2.5.69-dj1
23
Users and Groups
Redireccione la salida del comando id para crear un archivo en su directorio de inicio
llamado mygroups.txt. Utilice el comando apropiado para cambiar la línea de
comando, de tal manera que sus grupos suscritos (primarios y secundarios) aparezcan en
una sola línea, separados por un solo espacio.
Por ejemplo, si los ejercicios se han completado correctamente, el archivo debería tener
un formato similar al siguiente.
[student@station student]$ cat mygroups.txt
student wrestle physics

Deliverables
Question 1

1. Un archivo ~/mygroups.txtque contenga sus grupos suscritos, separados por
un espacio en una sola línea.

Creación de un .plan para el comandofinger.
Lab Exercise
Objetivo: Crear una respuesta personalizada para el comando finger.
Estimated Time: 10 mins.
Especificaciones
Utilización de un editor de texto o una redirección sencilla del comando echo para crear
un archivo .plan, de tal manera que cuando los usuarios utilicen el comando finger,
puedan ver los contenidos de su plan. Utilice una de sus cuentas alternas para confirmar
su configuración.
Para que este ejercicio funcione, usted debe permitir que otros usuarios tengan acceso a
su directorio de inicio utilizando el comando chmod o+x ~.
Deliverables
Question 1

1. Permisos en su directorio de inicio autorizando a otros usuarios la entrada a
archivos dentro de éste.
2. Un archivo llamado ~/.planen su directorio de inicio con contenido que se
puede ver con el comando finger.
24
Users and Groups
Possible Solution
El siguiente comando da una posible solución a este ejercicio.
[student@station student]$ chmod o+x ~
[student@station student]$ echo "Complete exercise two successfully" >
~/.plan
[student@station student]$ cat ~/.plan
Ejercicio 2 completo a satisfacción

Al entrar en la consola virtual con una de sus cuentas alternas, debería poder ver su plan
como salida del comandofinger.
[student_a@station student_a]$ finger student
Login: student
Name: (null)
Directory: /home/student
Shell: /bin/bash
Never logged in.
No mail.
Plan:
Complete exercise two successfully

Limpieza
Al final de este ejercicio, usted puede cerrar su directorio de inicio restaurando los
permisos originales con chmod o-x ~ (¿Qué ven los otros usuarios en respuesta al
comando fingeren este caso?).
Capítulo 4 Cambio de identidad
Conceptos clave
•
•

•

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.

Cambio de identidad
A menudo en Linux, a un usuario le gustaría convertirse temporalmente en otro usuario.
Puede que necesite cambiar los permisos a un archivo del cual no es dueño o puede que
un amigo quiera utilizar su terminal por un momento. El comando que le permite
temporalmente cambiar su id de usuario se llama su.

su

[[-] | [-c] | [-m, -p] | [-s, --shell=SHELL]] [USER [ARG]]

Cambie el userid al USUARIO específicado o a root si ahora el USUARIO se
especifica.
25
Users and Groups
Opción

Efecto

-

haga de la shell una shell de inicio.

-c

ejecute el comando específico y regrese

-m,-p

Preserve el entorno actual

-s, --shell=SHELL Utilice SHELL como la nueva shell de usuario
Convertirse temporalmente en otro usuario puede ser tan simple como "su" a ese
usuario.
[elvis@station elvis]$ su prince
Password:
[prince@station elvis]$

Observe los obvios problemas de seguridad. Las propiedades y permisos de usuarios no
tendrían sentido si los usuarios pudieran usar su cuando quisieran. Para convertirse en el
usuario prince, era necesario que elvis conociera la contraseña de prince.
Al utilizar el comando su, la nueva shell se convierte en la shell de prince y los procesos
iniciados desde la shell le pertenecen a prince. Sin embargo, la shell se llama una shell
de no-inicio, prince no se registró totalmente- el intérprete de comandos indica que él
aún está en el directorio de inicio de elvis. Aunque la shell y todo lo que ésta inicie,
pertenece a prince gran parte del entorno de la shell fue heredado de elvis.
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.
[elvis@station elvis]$ su - prince
Password:
[prince@station prince]$

En este caso prince ha ingresado efectivamente, para que el nuevo directorio de trabajo
actual de la shell sea el directorio de inicio de prince, y el entorno de prince se haya
inicializado desde su propia configuración.
La diferencia entre una shell de inicio y una de no-inicio y el uso de las variables de
entorno, se verá con más detalle en otro cuaderno. Por ahora, sólo tenga en cuenta que
para llegar a ser completamente un nuevo usuario, el comando su debería llevar un - y
un nombre de usuario.
Convertirse en root
Usualmente,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.
[elvis@station elvis]$ su -
26
Users and Groups
Password:
[root@station root]#

Debido a que el comando su se llamó con un -, la nueva shell de root comienza en el
directorio de inicio. También observe el cambio sutil en el intérprete de comandos bash.
Cuando la shell está se ejecuta como root, el intérprete de comandos usa "#" en lugar de
"$".
El "superusuario"
En Linux y Unix, la cuenta de root se conoce algunas veces como el
"superusuario". Este término probablemente surgió de un malentendido del
significado de las letras del comando su, las cuales se utilizan para convertirse en
root. En lugar de superusuario, las letras significan switch userid - cambio de
userid.
Cambio de grupo primario con el comando newgrp (o sg).
En las lecciones anteriores hablamos del papel del grupo primario. Para repasar, cada
usuario tiene un grupo primario como se define en el archivo/etc/passwd y los
archivos recién creados son grupos pertenecientes a un usuario del grupo primario.
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.
En la siguiente secuencia de comandos, prince creará un nuevo archivo, luego utilizará
el comando newgrppara 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.
[prince@station
uid=502(prince)
[prince@station
[prince@station
total 4
-rw-rw-r-1
[prince@station
[prince@station
uid=502(prince)
[prince@station
[prince@station
total 8
-rw-r--r-1
-rw-rw-r-1
[prince@station

prince]$ id
gid=502(prince) groups=502(prince),205(music)
prince]$ date > foo
prince]$ ls -l
prince
prince
29 May 26 12:26 foo
prince]$ newgrp music
prince]$ id
gid=205(music) groups=502(prince),205(music)
prince]$ date > biz
prince]$ ls -l
prince
music
prince
prince
prince]$ exit

29 May 26 12:26 biz
29 May 26 12:26 foo
27
Users and Groups
Observe que después de ejecutar el comandonewgrp, el comando id está
reportando al grupo primario de prince como "music".
El archivo biz, creado cuando el grupo primario de prince era music, es propiedad
del grupo music.
Ejercicios en línea
Utilización del comando newgrppara cambiar grupos primarios.
Lab Exercise
Objetivo: Uso del comando newgrp para cambiar los grupos primarios y crear un
grupo de archivos de propiedad de un nuevo grupo.
Estimated Time: 10 mins.
Especificaciones
Use el comando idpara confirmar que su cuenta es miembro del grupo secundario
music.
[student@station student]$ id
uid=2299(student) gid=2299(student)
groups=2299(student),201(wrestle),205(music)

En su directorio de inicio, cree un archivo llamado music.txt, el cual es de propiedad
de grupo music y otro archivowrestle.txt, el cual es de propiedad de grupo wrestle.
Para poder hacer esto, cambie a su grupo primario con el comandonewgrp. El
contenido de los archivos en realidad no tiene importancia.
Si el ejercicio se ha completado correctamente, un listado largo (ls -l) de su directorio de
inicio debería dar una salida similar a lo siguiente:
[student@station student]$ ls -l
total 8
-rw-r--r-1 student music
-rw-r--r-1 student wrestle

29 May 27 08:57 music.txt
29 May 27 08:57 wrestle.txt

Deliverables
Question 1

1. Un archivo titulado ~/music.txt perteneciente al grupo music.
2. Un archivo titulado ~/wrestle.txtperteneciente al grupo wrestle.

Possible Solution
28
Users and Groups
La siguiente secuencia de comandos brinda una solución posible para crear el
archivomusic.txt.
[student@station student]$ id
uid=2299(student) gid=2299(student)
groups=2299(student),201(wrestle),205(music)
[student@station student]$ newgrp music
[student@station student]$ id
uid=2299(student) gid=205(music)
groups=2299(student),201(wrestle),205(music)
[student@station student]$ date > music.txt
[student@station student]$ exit
exit
[student@station student]$

Más contenido relacionado

La actualidad más candente

Instrucciones de máquina
Instrucciones de máquinaInstrucciones de máquina
Instrucciones de máquinagiovatovar
 
Administracion archivos sena
Administracion archivos senaAdministracion archivos sena
Administracion archivos senagiovatovar
 
Controladora de perifericos Monousuario
Controladora de perifericos MonousuarioControladora de perifericos Monousuario
Controladora de perifericos Monousuarioangel carrasco
 
2.9. conceptos de usuarios grupos y admin de permisos
2.9. conceptos de usuarios grupos y admin de permisos   2.9. conceptos de usuarios grupos y admin de permisos
2.9. conceptos de usuarios grupos y admin de permisos Fernando Solis
 
Semana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposSemana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposepalomino2012
 
Controladora de perifericos
Controladora de perifericos Controladora de perifericos
Controladora de perifericos Pamelaguibkdoe
 
Particionar un disco duro ana ochoa 5e
Particionar un disco duro ana ochoa 5eParticionar un disco duro ana ochoa 5e
Particionar un disco duro ana ochoa 5eAnny Ochoa
 
Controladora de perifericos indice
Controladora de perifericos indiceControladora de perifericos indice
Controladora de perifericos indicePamelaguibkdoe
 
Manejo de sistemas operativo
Manejo de sistemas operativoManejo de sistemas operativo
Manejo de sistemas operativojohanaalineE
 
Unidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosUnidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosChulinneitor
 
Seguridad en los sistemas de archivos
Seguridad en los sistemas de archivosSeguridad en los sistemas de archivos
Seguridad en los sistemas de archivosANDRES SALAZAR
 

La actualidad más candente (14)

Instrucciones de máquina
Instrucciones de máquinaInstrucciones de máquina
Instrucciones de máquina
 
Administracion archivos sena
Administracion archivos senaAdministracion archivos sena
Administracion archivos sena
 
Administracion archivos sena
Administracion archivos senaAdministracion archivos sena
Administracion archivos sena
 
Controladora de perifericos Monousuario
Controladora de perifericos MonousuarioControladora de perifericos Monousuario
Controladora de perifericos Monousuario
 
2.9. conceptos de usuarios grupos y admin de permisos
2.9. conceptos de usuarios grupos y admin de permisos   2.9. conceptos de usuarios grupos y admin de permisos
2.9. conceptos de usuarios grupos y admin de permisos
 
Semana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposSemana 16 usuarios_y_grupos
Semana 16 usuarios_y_grupos
 
Controladora de perifericos
Controladora de perifericos Controladora de perifericos
Controladora de perifericos
 
Particionar un disco duro ana ochoa 5e
Particionar un disco duro ana ochoa 5eParticionar un disco duro ana ochoa 5e
Particionar un disco duro ana ochoa 5e
 
Controladora de perifericos indice
Controladora de perifericos indiceControladora de perifericos indice
Controladora de perifericos indice
 
Presentación linux
Presentación linuxPresentación linux
Presentación linux
 
Manejo de sistemas operativo
Manejo de sistemas operativoManejo de sistemas operativo
Manejo de sistemas operativo
 
Unidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas OperativosUnidad 6 Yb 7 Sistemas Operativos
Unidad 6 Yb 7 Sistemas Operativos
 
Seguridad en los sistemas de archivos
Seguridad en los sistemas de archivosSeguridad en los sistemas de archivos
Seguridad en los sistemas de archivos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 

Destacado

Rätsel
RätselRätsel
Rätseltini_74
 
Electricidad Y Apicaciones
Electricidad Y ApicacionesElectricidad Y Apicaciones
Electricidad Y Apicacionesdavidteje
 
Proyecto formulacion de problemas
Proyecto formulacion de problemasProyecto formulacion de problemas
Proyecto formulacion de problemasstarprinces
 
Autores Historia de la Filosofía 2º Bach.
Autores Historia de la Filosofía 2º Bach.Autores Historia de la Filosofía 2º Bach.
Autores Historia de la Filosofía 2º Bach.filolacabrera
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informaticaSilvia Lemus
 
Estandar...
Estandar...Estandar...
Estandar...IZA05
 
Filosofía hermenutico
Filosofía hermenuticoFilosofía hermenutico
Filosofía hermenuticoYara Abarca
 
Ramas de la filosofía
Ramas de la filosofíaRamas de la filosofía
Ramas de la filosofíaYara Abarca
 
Presentación1
Presentación1Presentación1
Presentación1Jhoirlis
 
La fotografia diapositiva 1
La fotografia diapositiva 1La fotografia diapositiva 1
La fotografia diapositiva 1CULTURAWAYUU1971
 
Google+
Google+Google+
Google+Daryi
 
Trabajo de informatica 11 A
Trabajo de informatica 11 ATrabajo de informatica 11 A
Trabajo de informatica 11 AKelly Muñoz
 
Informe de pasantia de gabriel en bcv
Informe de pasantia de gabriel en bcvInforme de pasantia de gabriel en bcv
Informe de pasantia de gabriel en bcvmedicen_gabi
 
El emprendimiento social como marco de analisis, el liderazgo de los emprendi...
El emprendimiento social como marco de analisis, el liderazgo de los emprendi...El emprendimiento social como marco de analisis, el liderazgo de los emprendi...
El emprendimiento social como marco de analisis, el liderazgo de los emprendi...vcmm1021239
 

Destacado (20)

Rätsel
RätselRätsel
Rätsel
 
Taller Liberando Alas
Taller Liberando AlasTaller Liberando Alas
Taller Liberando Alas
 
Geología general4
Geología general4Geología general4
Geología general4
 
Electricidad Y Apicaciones
Electricidad Y ApicacionesElectricidad Y Apicaciones
Electricidad Y Apicaciones
 
Portico
PorticoPortico
Portico
 
Laura proyecto (2)
Laura proyecto (2)Laura proyecto (2)
Laura proyecto (2)
 
Proyecto formulacion de problemas
Proyecto formulacion de problemasProyecto formulacion de problemas
Proyecto formulacion de problemas
 
Autores Historia de la Filosofía 2º Bach.
Autores Historia de la Filosofía 2º Bach.Autores Historia de la Filosofía 2º Bach.
Autores Historia de la Filosofía 2º Bach.
 
Skydrive 1104
Skydrive 1104Skydrive 1104
Skydrive 1104
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Estandar...
Estandar...Estandar...
Estandar...
 
Filosofía hermenutico
Filosofía hermenuticoFilosofía hermenutico
Filosofía hermenutico
 
Ramas de la filosofía
Ramas de la filosofíaRamas de la filosofía
Ramas de la filosofía
 
Presentación1
Presentación1Presentación1
Presentación1
 
La fotografia diapositiva 1
La fotografia diapositiva 1La fotografia diapositiva 1
La fotografia diapositiva 1
 
Google+
Google+Google+
Google+
 
Presentacion santana
Presentacion santanaPresentacion santana
Presentacion santana
 
Trabajo de informatica 11 A
Trabajo de informatica 11 ATrabajo de informatica 11 A
Trabajo de informatica 11 A
 
Informe de pasantia de gabriel en bcv
Informe de pasantia de gabriel en bcvInforme de pasantia de gabriel en bcv
Informe de pasantia de gabriel en bcv
 
El emprendimiento social como marco de analisis, el liderazgo de los emprendi...
El emprendimiento social como marco de analisis, el liderazgo de los emprendi...El emprendimiento social como marco de analisis, el liderazgo de los emprendi...
El emprendimiento social como marco de analisis, el liderazgo de los emprendi...
 

Similar a 3 users and groups

Conceptos y comandos básicos de linux
Conceptos y comandos básicos de linuxConceptos y comandos básicos de linux
Conceptos y comandos básicos de linuxTicsUtr
 
ADMINISTRACIÓN DE USUARIOS Y GRUPOS
ADMINISTRACIÓN DE USUARIOS Y GRUPOSADMINISTRACIÓN DE USUARIOS Y GRUPOS
ADMINISTRACIÓN DE USUARIOS Y GRUPOSEfrain Calle Chambe
 
330884555 apuntes-de-linux-8-nov-16
330884555 apuntes-de-linux-8-nov-16330884555 apuntes-de-linux-8-nov-16
330884555 apuntes-de-linux-8-nov-16Kevin Owen Tajia
 
Quasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUXQuasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUXdegarden
 
Apuntes de linux 8 nov 16 1
Apuntes de linux  8 nov 16 1Apuntes de linux  8 nov 16 1
Apuntes de linux 8 nov 16 1Angel Rene
 
Apuntes de-linux-8-nov-16-3
Apuntes de-linux-8-nov-16-3Apuntes de-linux-8-nov-16-3
Apuntes de-linux-8-nov-16-3Steffany Sanchez
 
Administración de usuarios y permisos de archivos en ubuntu
Administración de usuarios y permisos de archivos en ubuntuAdministración de usuarios y permisos de archivos en ubuntu
Administración de usuarios y permisos de archivos en ubunturiveravega12
 
Linux ud5 - gestion de usuarios
Linux   ud5 - gestion de usuariosLinux   ud5 - gestion de usuarios
Linux ud5 - gestion de usuariosJavier Muñoz
 
ADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOSADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOSRonny Ramos Diaz
 
Administración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y PermisosAdministración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y PermisosKramer Garay Gómez
 
Linux seguridad proteccion
Linux seguridad proteccionLinux seguridad proteccion
Linux seguridad proteccionKrlitos Xavier
 
7.gestiondeusuarios
7.gestiondeusuarios7.gestiondeusuarios
7.gestiondeusuariosGRUPO TECNO
 
Unidad 10 - Puesta en marcha del sistema
Unidad 10 - Puesta en marcha del sistemaUnidad 10 - Puesta en marcha del sistema
Unidad 10 - Puesta en marcha del sistemavverdu
 
Sistemas de ficheros
Sistemas de ficherosSistemas de ficheros
Sistemas de ficherosdaniimc
 
Controladora de periféricos
Controladora de periféricosControladora de periféricos
Controladora de periféricossteven_azu
 

Similar a 3 users and groups (20)

Tipos de usuarios
Tipos de usuariosTipos de usuarios
Tipos de usuarios
 
Conceptos y comandos básicos de linux
Conceptos y comandos básicos de linuxConceptos y comandos básicos de linux
Conceptos y comandos básicos de linux
 
ADMINISTRACIÓN DE USUARIOS Y GRUPOS
ADMINISTRACIÓN DE USUARIOS Y GRUPOSADMINISTRACIÓN DE USUARIOS Y GRUPOS
ADMINISTRACIÓN DE USUARIOS Y GRUPOS
 
330884555 apuntes-de-linux-8-nov-16
330884555 apuntes-de-linux-8-nov-16330884555 apuntes-de-linux-8-nov-16
330884555 apuntes-de-linux-8-nov-16
 
Quasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUXQuasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUX
 
Apuntes de linux 8 nov 16 1
Apuntes de linux  8 nov 16 1Apuntes de linux  8 nov 16 1
Apuntes de linux 8 nov 16 1
 
Apuntes de-linux-8-nov-16-3
Apuntes de-linux-8-nov-16-3Apuntes de-linux-8-nov-16-3
Apuntes de-linux-8-nov-16-3
 
Administración de usuarios y permisos de archivos en ubuntu
Administración de usuarios y permisos de archivos en ubuntuAdministración de usuarios y permisos de archivos en ubuntu
Administración de usuarios y permisos de archivos en ubuntu
 
Apuntes de linux
Apuntes de linux Apuntes de linux
Apuntes de linux
 
Linux ud5 - gestion de usuarios
Linux   ud5 - gestion de usuariosLinux   ud5 - gestion de usuarios
Linux ud5 - gestion de usuarios
 
ADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOSADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOS
 
Administración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y PermisosAdministración de Usuarios, Grupos y Permisos
Administración de Usuarios, Grupos y Permisos
 
Linux seguridad proteccion
Linux seguridad proteccionLinux seguridad proteccion
Linux seguridad proteccion
 
Usuarios grupospermisos
Usuarios grupospermisosUsuarios grupospermisos
Usuarios grupospermisos
 
7.gestiondeusuarios
7.gestiondeusuarios7.gestiondeusuarios
7.gestiondeusuarios
 
Unidad 10 - Puesta en marcha del sistema
Unidad 10 - Puesta en marcha del sistemaUnidad 10 - Puesta en marcha del sistema
Unidad 10 - Puesta en marcha del sistema
 
Sistemas de ficheros
Sistemas de ficherosSistemas de ficheros
Sistemas de ficheros
 
Comandos
ComandosComandos
Comandos
 
Linux
LinuxLinux
Linux
 
Controladora de periféricos
Controladora de periféricosControladora de periféricos
Controladora de periféricos
 

Más de Juan Camilo

Instalación de un sistema Voip corporativo basado en asterisk
Instalación de un sistema Voip corporativo basado en asteriskInstalación de un sistema Voip corporativo basado en asterisk
Instalación de un sistema Voip corporativo basado en asteriskJuan Camilo
 
10 network applications
10 network applications10 network applications
10 network applicationsJuan Camilo
 
9 managing processes
9  managing processes9  managing processes
9 managing processesJuan Camilo
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de stringJuan Camilo
 
7 standard io and pipes
7 standard io and pipes7 standard io and pipes
7 standard io and pipesJuan Camilo
 
5 the linux filesystem
5 the linux filesystem5 the linux filesystem
5 the linux filesystemJuan Camilo
 
4 file ownerships and permissions
4 file ownerships and permissions4 file ownerships and permissions
4 file ownerships and permissionsJuan Camilo
 
2 filesystem basics
2 filesystem basics2 filesystem basics
2 filesystem basicsJuan Camilo
 

Más de Juan Camilo (11)

Instalación de un sistema Voip corporativo basado en asterisk
Instalación de un sistema Voip corporativo basado en asteriskInstalación de un sistema Voip corporativo basado en asterisk
Instalación de un sistema Voip corporativo basado en asterisk
 
10 network applications
10 network applications10 network applications
10 network applications
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de string
 
7 standard io and pipes
7 standard io and pipes7 standard io and pipes
7 standard io and pipes
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
5 the linux filesystem
5 the linux filesystem5 the linux filesystem
5 the linux filesystem
 
4 file ownerships and permissions
4 file ownerships and permissions4 file ownerships and permissions
4 file ownerships and permissions
 
2 filesystem basics
2 filesystem basics2 filesystem basics
2 filesystem basics
 
11 suplemments
11 suplemments11 suplemments
11 suplemments
 
1 quick tours
1 quick tours1 quick tours
1 quick tours
 

Último

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 

Último (20)

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 

3 users and groups

  • 1. 1 Users and Groups Capítulo 1 Usuarios de Linux y el archivo /etc/passwd Conceptos clave • • • • • • 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/passwdasigna 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 . Los usuarios de Linux y el archivo /etc/passwd. Cuando se utiliza un sistema Linux, usted primero se identifica al entrar con un nombre particular de usuario nombre de usuario. Su nombre de usuario lo representa a usted. Está asociado con las cosas que usted hace: cada proceso que se ejecuta en el sistema tiene un nombre de usuario asociado. Está asociado con las cosas que usted grabe: cada archivo en el sistema está rotulado como propiedad de un usuario particular. Está asociado con las cosas que usted utiliza: la cantidad de espacio en el disco que utiliza o la cantidad de tiempo del procesador que usa, pueden ser rastreados por el nombre de usuario. Cada usuario en el sistema no sólo tiene un nombre de usuario único, sino también un userid, a menudo abreviado como uid. Linux rastrea los userids como un número entero de 32bits, es decir que puede haber más de 2^32 o cerca de 4 mil millones de usuarios. Mientras que a la gente le gusta pensar en términos de palabras (nombres de usuarios), al Kernel de Linux se le facilita pensar en términos de números (uids). Cuando el kernel mantiene el rastro de quién es el dueño del proceso o del archivo, éste recuerda el uid en lugar del nombre del usuario. Sólamente cuando algún comando produce salida para que la gente lea, el uid se convierte en el nombre de usuario. 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 . Linux, al igual que Unix, tiene una afortunada tradición: incluso los archivos principales de configuración en el sistema se mantienen en un texto leíble por humanos y se pueden modificar con un editor de textos. Los usuarios y administradores pueden usar herramientas sencillas para manejar texto, tales como los paginadores para examinar las bases de datos. La mayoría de los usuarios en el sistema tiene permisos para leer, pero no para modificar este archivo. A continuación se verán unas lineas de un archivo típico/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 webalizer:x:67:67:Webalizer:/var/www/html/usage:/sbin/nologin
  • 2. 2 Users and Groups elvis:x:501:501::/home/elvis:/bin/bash prince:x:502:502::/home/prince:/bin/bash madonna:x:504:504::/home/madonna:/bin/bash blondie:x:505:505::/home/blondie:/bin/bash sleepy:x:507:507::/home/sleepy:/bin/bash grumpy:x:509:509::/home/grumpy:/bin/bash doc:x:510:510::/home/doc:/bin/bash El archivo /etc/passwd es una configuración de archivo con base en líneas, en donde cada línea define un usuario en el sistema. Las líneas están divididas internamente en siete campos y cada campo está separado por una coma. La siguiente tabla explica el uso de cada uno de estos campos. Nombre de Num campo Nombre de usuario Contraseña Propósito 1 El nombre de usuario se utiliza para dar un nombre leíble al usuario. 2 En los sistemas Unix más antiguos este campo contiene la contraseña del usuario encriptada. Por defecto, Red Hat Enterprise Linux no hace uso de este campo por razones de seguridad. Id del 3 usuario (uid) El número entero que el kernel de Linux utiliza para identificar al usuario. Groupid Primario (gid) 4 El número entero que el kernel de Linux utiliza para identificar al grupo primario del usuario. Las membresías del grupo se estudiarán en la siguiente sección. 5 Este campo con ese nombre tan raro ya no sirve su propósito original, el cual era importante para el entorno de desarrollo original de Unix. En estos días, el campo se utiliza para almacenar texto simple que ayuda a identificar al usuario, generalmente un nombre completo, pero algunas veces también incluye el número telefónico o la dirección. GECOS Directorio de 6 inicio Cuando un usuario inicia sesión, su shell de inicio la utilizará como su directorio actual de trabajo. Este es uno de los pocos directorios en los que los usuarios estándar pueden escribir y generalmente son de uso privado para el usuario. Shell de inicio de sesión La shell de inicio de sesión es la shell predeterminada para los usuarios al iniciar la sesión. En Red Hat Enterprise Linux es generalmente /bin/bash. 7 Los usuarios rara vez modifican este archivo directamente pero presentaremos varios comandos que le permitirán al usuario cambiar ciertos campos. Si alguna vez necesita refrescar su memoria; los campos están documentados en la página man passwd(5). Las contraseñas y el archivo /etc/shadow. Como se mencionó anteriormente la contraseña encriptada del usuario se solía almacenar en el segundo campo del archivo /etc/passwd. Debido a que el archivo
  • 3. 3 Users and Groups /etc/passwd no solo contiene contraseñas, sino mucha más información, es necesario que todos puedan leerlo. Sin embargo, con el moderno poder de la informática, el exponer la forma encriptada de su contraseña es peligroso. Sin mucho esfuerzo, las máquinas modernas pueden tratar de adivinar su contraseña encriptando todas las combinaciones de cada letra hasta encontrar la combinación exacta. Esto se conoce como un ataque de "fuerza bruta". En cambio los sistemas de Linux y Unix almacenan las contraseñas utilizando una nueva técnica llamada "Shadow Passwords", donde las contraseñas de los usuarios se almacenan en un archivo especializado /etc/shadow. Debido a que el archivo contiene sólo información relacionada con las contraseñas, sus permisos no permiten ver su contenido. Para mayores detalles vaya a la página man shadow(5) para obtener mayores detalles. Los usuarios pueden cambiar su contraseña con un simple comando llamado passwd. Si usted no es el usuario de root, el comando passwd no aceptará argumentos ni opciones. Su uso individual permite al usuario cambiar su propia contraseña: [madonna@station madonna]$ passwd Changing password for user madonna. Changing password for madonna (current) UNIX password: New password: Retype new password: passwd: all authentication tokens updated successfully. Observe que los usuarios necesitan suministrar su contraseña antes de poder cambiarla. Esto evita que alguien tome aprovecho de una terminal abandonada por sólo unos segundos. ¡Recuerde su contraseña! Si cambia su contraseña de Linux, ¡asegúrese de recordarla! Su contraseña nunca se almacenará en el sistema en texto comprensible, incluso su administrador de sistemas no puede conocer su contraseña. Si usted la olvida, alguien con privilegios de root le puede crear una nueva. Selección de una contraseña "segura" Al escoger una nueva contraseña, con frecuencia los usuarios son amonestados con un mensaje de BAD PASSWORD. Tradicionalmente, las contraseñas son susceptibles a un tipo de ataque conocido como un ataque de "diccionarios", en donde un atacante encripta un diccionario completo (tal como /usr/share/dict/words) y compara la salida encriptada con el contenido del archivo/etc/shadow. Para ayudar a evitar ataques de diccionarios, el comando passwd impedirá que los usuarios utilicen contraseñas demasiado sencillas o fáciles de encontrar en un diccionario. Hay tres tipos de usuarios: normal, root y sistema
  • 4. 4 Users and Groups Los usuarios de Linux suelen agruparse en tres clases. Usuarios normales Los usuarios normales representan gente real que utiliza el sistema, estos usuarios normales generalmente tienen un /bin/bash como shell de inicio de sesión y un directorio de inicio dentro del directorio /home. Por lo general, los usuarios normales pueden crear archivos únicamente dentro de sus directorios de inicio y directorios temporales en todo el sistema, tales como /tmp y /var/tmp.En Red Hat Enterprise Linux, los usuarios normales tienen uids mayores a 500. El usuario root El uid 0 está reservado para root, algunas veces llamado el superusuario. El root es el rey del sistema: puede modificar o remover cualquier archivo; ejecutar cualquier comando; matar cualquier proceso. El usuario root está encargado de añadir y mantener otros usuarios, configurar el hardware y agregar el software del sistema. Aunque puede crear archivos en cualquier parte del sistema, generalmente utiliza su directorio de inicio /root. Usuarios del sistema La mayoría de los sistemas de Linux reservan un rango de valor bajo de uids para actuar como usuarios del sistema. Los usuarios del sistema no representan gente, sino componentes del sistema. Por ejemplo, los procesos que manejan el correo electrónico usualmente operan como el nombre de usuario correo. Los procesos que ejecutan el servidor de red Apache operan como el usuario apache. Los usuarios del sistema por lo general no tienen una shell de inicio de sesión porque no representan gente real. Asimismo, los directorios de inicio de los usuarios del sistema rara vez residen en /home, sino que por lo general son directorios de sistema que pertenecen a la aplicación relevante. Por ejemplo, el usuario Apache, tiene un directorio de inicio /var/www. En Red Hat Enterprise Linux, los usuarios del sistema tienen uids que van de 1 a 499. Table 1. Ids de usuarios de Red Hat Enterprise Linux Rango de uid Tipo de usuario 0 el usuario root 1-499 usuarios del sistema 500+ usuarios normales Ejemplos Examen de los userids de procesos
  • 5. 5 Users and Groups El usuario elvis quiere averiguar que otra gente está utilizando el sistema Linux y lo que están haciendo. Lista todos los procesos que están ejecutándose en la máquina actualmente. [elvis@station elvis]$ ps aux USER PID %CPU %MEM VSZ root 1 0.0 0.0 1380 root 2 0.0 0.0 0 [keventd] root 3 0.0 0.0 0 ... root 872 0.0 0.1 5932 [sendmail] smmsp 881 0.0 0.1 5732 [sendmail] root 891 0.0 0.0 1420 ps/2 -m /d root 900 0.0 0.0 1572 xfs 973 0.0 0.0 4812 root 992 0.0 0.0 3412 -interval root 999 0.0 0.0 1356 /sbin/mingetty tt ... prince 1066 0.0 1.4 18428 /usr/bin/gnome-se prince 1116 0.0 0.4 6136 /usr/libexec/bono prince 1118 0.0 0.6 17380 settings-da prince 1123 0.0 0.1 2688 prince 1128 0.0 0.4 3816 xscreensaver -nos prince 1135 0.0 2.1 20220 panel --smprince 1137 0.0 3.9 86176 nautilus --no-def prince 1145 0.1 3.0 26132 /usr/bin/python / root 1146 0.0 0.0 1412 [pam_timestamp_c] prince 1160 0.1 3.4 23208 /usr/bin/gnome-te prince 1161 0.0 0.1 1852 pty-helpe] prince 1162 0.0 0.1 4368 prince 1210 0.0 0.3 4372 prince 2262 0.4 8.0 99276 /usr/bin/galeon-b prince 2266 0.0 0.5 5652 ac-activat prince 2818 0.0 0.3 4368 prince 3673 0.1 0.5 4356 root 3699 0.0 0.3 4112 elvis 3702 0.0 0.5 4312 elvis 3736 1.1 4.0 24572 evolution RSS TTY 76 ? 0 ? STAT START S 03:33 SW 03:33 TIME COMMAND 0:04 init [ 0:00 SW 03:33 0:00 [kapmd] 440 ? S 03:34 0:00 312 ? S 03:34 0:00 56 ? S 03:34 0:00 gpm -t 128 ? 236 ? 4 ? S S S 03:34 03:34 03:34 0:00 crond 0:00 [xfs] 0:00 rhnsd - S 03:34 0:00 3704 ? S 03:37 0:00 1084 ? S 03:37 0:00 1716 ? S 03:37 0:00 gnome- 388 ? 1032 ? S S 03:37 03:37 0:00 [fam] 0:02 5440 ? S 03:37 0:06 gnome- 10048 ? S 03:37 0:04 7900 ? S 03:37 0:13 156 ? S 03:37 0:00 8844 ? S 03:38 0:11 284 ? S 03:38 0:00 [gnome- 340 pts/0 964 pts/1 20476 pts/0 S S S 03:38 03:39 03:42 0:00 bash 0:01 bash 0:36 1480 ? S 03:42 0:00 oafd -- 864 pts/2 1444 pts/4 952 pts/4 1416 pts/4 10316 pts/4 S S S S S 04:17 05:46 05:46 05:46 05:46 0:00 0:00 0:00 0:00 0:00 0 ? 4 tty1 bash bash [su] -bash
  • 6. 6 Users and Groups elvis 3739 0.4 ac-activat elvis 3742 0.5 --oaf-acti elvis 3746 0.3 moniker-xm elvis 3753 1.0 evolution-mail -elvis 3755 0.0 /usr/bin/gconfd-1 elvis 3762 0.6 evolution-address elvis 3766 0.5 evolution-calenda elvis 3771 0.5 evolution-alarm-n elvis 3773 0.6 evolution-executi root 3785 0.0 madonna 3788 0.1 madonna 3822 11.4 /usr/lib/mozillaroot 3852 0.0 elvis 3855 0.6 elvis 3891 0.0 0.8 5664 2260 ? S 05:46 0:00 oafd -- 2.3 22548 6100 ? S 05:46 0:00 wombat 1.6 11296 4288 ? S 05:46 0:00 bonobo- 3.4 57400 8916 ? S 05:46 0:00 0.5 3260 1440 ? S 05:46 0:00 2.5 23052 6628 ? S 05:46 0:00 2.5 23516 6560 ? S 05:46 0:00 2.2 21336 5860 ? S 05:46 0:00 2.3 21740 6104 ? S 05:46 0:00 0.3 4108 948 pts/3 0.5 4308 1412 pts/3 8.7 89140 22320 pts/3 S S S 05:46 05:46 05:46 0:00 [su] 0:00 -bash 0:05 0.3 0.5 0.2 S S R 05:47 05:47 05:47 0:00 [su] 0:00 -bash 0:00 ps aux 4112 968 pts/2 4304 1392 pts/2 2668 716 pts/2 Algunas de las líneas en esta lista bastante larga fueron editadas y remplazadas por "...". La primera columna de la lista muestra el nombre de usuario que está operando un proceso. Además de prince, madonna y elvis, - elvis asume que son nombres de usuarios asociados con gente real, elvis observa que muchos de los procesos en el sistema están ejecutando como el usuario de root y también como usuarios smmsp y xfs. Examen de los propietarios de archivo por nombre de usuario y userid. La usuaria blondie está examinando el directorio /home y observa que cada directorio de inicio de usuario le pertenece al nombre de usuario apropiado. Luego utiliza el comando ls -ln para listar el directorio de propietarios "numéricamente"o por userid en lugar de por nombre de usuario. Preste mucha atención a la tercera columna en la siguiente lista, la cual muestra un propietario de archivo. [blondie@station blondie]$ ls -l /home/ total 48 drwx-----4 blondie blondie 4096 drwx-----4 doc doc 4096 drwx-----4 elvis elvis 4096 drwx-----4 grumpy grumpy 4096 drwx-----4 madonna madonna 4096 drwx-----4 prince prince 4096 drwx-----4 sleepy sleepy 4096 [blondie@station blondie]$ ls -ln /home/ total 48 drwx-----4 505 505 4096 drwx-----4 510 510 4096 May May May May May May May 14 14 14 14 14 14 14 06:35 06:32 06:31 06:32 06:31 06:31 06:32 blondie doc elvis grumpy madonna prince sleepy May 14 06:35 blondie May 14 06:32 doc
  • 7. 7 Users and Groups drwx-----drwx-----drwx-----drwx-----drwx------ 4 4 4 4 4 501 509 504 502 507 501 509 504 502 507 4096 4096 4096 4096 4096 May May May May May 14 14 14 14 14 06:31 06:32 06:31 06:31 06:32 elvis grumpy madonna prince sleepy En la lista ls -l, los propietarios de archivo son vistos por nombre de usuario. En la lista ls -ln, los propietarios de archivo aparecen por userid. Cambio de un nombre de usuario como root El administrador de la máquina, actuando como root, desea editar el archivo /etc/passwd. Primero, root tomará un ls -l de los archivos en el directorio /home. Luego, root cambiará el nombre del usuario sleepy en la base de datos de usuarios y por último, mirará otra vez la salida del comando ls -l. [root@station total 48 drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----[root@station root]# ls -l /home/ 4 blondie blondie 4 doc doc 4 elvis elvis 4 grumpy grumpy 4 madonna madonna 4 prince prince 4 sleepy sleepy root]# nano /etc/passwd 4096 May 14 06:40 blondie 4096 May 14 06:32 doc 4096 May 14 06:31 elvis 4096 May 14 06:32 grumpy 4096 May 14 06:31 madonna 4096 May 14 06:31 prince 4096 May 14 06:32 sleepy (root edits the /etc/passwd file, so that the line ... sleepy:x:507:507::/home/sleepy:/bin/bash ... now reads ... sleepier:x:507:507::/home/sleepy:/bin/bash ... ) [root@station total 48 drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----drwx------ root]# ls -l /home/ 4 4 4 4 4 4 4 blondie doc elvis grumpy madonna prince sleepier blondie doc elvis grumpy madonna prince sleepy 4096 May 14 06:40 blondie 4096 May 14 06:32 doc 4096 May 14 06:31 elvis 4096 May 14 06:32 grumpy 4096 May 14 06:31 madonna 4096 May 14 06:31 prince 4096 May 14 06:32 sleepy En el primer caso el usuario propietario del directorio de inicio de sleepy /home/sleepy aparece en la lista como sleepy. En el segundo caso, el usuario propietario del directorio de inicio de sleepy aparecerá en la lista como sleepier. ¿Qué se puede aprender de este ejemplo? root no cambió nada en /home/sleepy, sólo la base de datos de usuarios. Sin embargo, tan pronto como el archivo modificado
  • 8. 8 Users and Groups /etc/passwd se grabó, el comando ls -l comenzó a reportar la nueva información. Esto sugiere lo siguiente: 1. El kernel de Linux no almacena el nombre de usuario del que posee el archivo, sino el número entero del userid, (del ejemplo anterior, ¿cuál userid es propietario del directorio /home/sleepy ?). 2. Cada vez que ejecuta el comando ls, debe buscar los trazados del nombre de usuario/userid en el archivo /etc/passwd para anexar los nombres de usuario a los propietarios de userid provistos por el kernel. Ejercicios en línea Determinación de información del usuario Lab Exercise Objetivo:Determinar los parámetros relacionados con el usuario tales como userid y shell de inicio. Estimated Time: 10 mins. Especificaciones Al examinar el primer, tercer y último campo (séptimo) del archivo /etc/passwd, determine el userid y la shell de inicio para su nombre de usuario, el usuario root, y el usuario nobody (sí, hay un usuario de sistema con el nombre de usuario"nobody"). Cree archivos sencillos en su directorio de inicio llamado my.uid,my.shell, root.uid, root.shell, nobody.uid, y nobody.shell que contengan sólo la información apropiada en una sola línea. Por ejemplo, si el shell de inicio de sesión del usuario nobody fuera /bin/bash, el siguiente comando crearía fácilmente el archivo apropiado. [student@station student]$ echo /bin/bash > nobody.shell [student@station student]$ cat nobody.shell /bin/bash Deliverables Question 1 Al terminar, los siguientes seis archivos deberían estar en su directorio de inicio, el cual contiene sólo la siguiente información: filename my.uid Contenido Su número entero de userid de cuenta
  • 9. 9 Users and Groups my.shell Su shell de inicio root.uid El número entero de userid de root root.shell La shell de inicio del usuario root nobody.uid El userid entero del usuario nobody nobody.shell La shell de inicio del usuario nobody Capítulo 2 Los grupos Linux y el archivo/etc/group. Conceptos clave • • • • • • 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. Grupos de Linux La lección anterior presentó el hecho de que cada proceso se ejecuta bajo el contexto de un usuario dado. Además, 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. Además, los usuarios pueden ser miembros de cero o más grupos secundarios. Las implicaciones de los grupos primarios o secundarios se presentan a continuación. El archivo /etc/group. Para el kernel de Linux, un grupo es nombrado usando un id de grupo (GID) de 32 bits, (note la similitud con que el kernel referencia los usuarios). El archivo /etc/groupasocia nombres de grupo con GIDs (para humanos) y define los usuarios que pertenecen a cada grupo. El archivo /etc/group, juega un papel similar para los grupos así como el archivo /etc/passwd lo es para los usuarios, tiene una estructura similar, y un nombre más razonable. Es un archivo de configuración con base en líneas, cada línea consta de campos separados por una coma así como se demuestra a continuación. wrestle:x:201:ventura,hogan,elvis physics:x:202:einstein,maxwell,elvis
  • 10. 10 Users and Groups 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: Los cuatro campos proporcionan la siguiente información: Nombre campo de 1 Groupname Contraseña grupo Num Propósito de El nombre de grupo se utiliza para dar al grupo un nombre legible. 2 Los grupos pueden contar con una contraseña de grupo aunque esto sucede raras veces. Grupo ID (GID) 3 El número entero de grupo id. Miembros grupo Una lista de nombres de usuarios separados por comas que define los miembros del grupo. de 4 ¿Por qué grupos? Las membresías de grupo se utilizan muy a menudo para determinar quién tiene acceso a qué en el sistema de archivo. Los dwarfs que se encuentran en el siguiente ejemplo del archivo /etc/group doc, grumpy, y sleepy, podrían estar trabajando en mis prospectos y no querrán que otros usuarios tengan acceso a su información. Los archivos que están utilizando (y los directorios en los que están almacenándolos) pueden organizarse de tal manera que cada miembro del grupo dwarfs tenga acceso a ellos, pero otros usuarios no. El hecho de que cada archivo en el sistema pertenezca a un usuario ya se ha mencionado anteriormente. Cada archivo en el sistema también pertenece a un grupo, al cual se alude como "grupo propietario". En la siguiente lista de archivos ls -len el directorio /var/prospects, la tercera columna lista al usuario propietario de los archivos y la cuarta columna el grupo propietario. [doc@station prospects]# ls -l /var/prospects/ total 12 -rw-rw---1 doc dwarfs 143 May 15 07:38 doc.txt -rw-rw---1 grumpy dwarfs 29 May 15 07:38 grumpy.txt -rw-rw---1 sleepy dwarfs 2027 May 15 07:38 sleepy.txt Mientras que los usuarios individuales poseen sus propios archivos, cada archivo tiene al grupo dwarfs como su propietario de grupo o en otras palabras, cada archivo es "propiedad" del grupo dwarfs. La primera columma especifica los permisos que tienen el usuario propietario y los miembros del grupo dueños del archivo. ¿Pueden leerlo? ¿Pueden modificarlo? ¿Cómo interpretar y manejar estos permisos es el tema del próximo cuaderno. Por ahora, tenga en cuenta quecada archivo en el sistema de archivos tiene un usuario propietario y un grupo propietario.
  • 11. 11 Users and Groups 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 primariodel usuario. Un grupo de usuario primario se define en el cuarto campo de una entrada de usuario /etc/passwd. Aparte del grupo primario, los usuarios pueden optar también por pertenecer a otros grupos. Estos grupos se llaman grupos secundariosy están definidos (por coincidencia) en el cuarto campo del archivo /etc/group file. Considere los siguientes extractos de los archivos /etc/passwd file y /etc/group. [elvis@station elvis]$ tail /etc/passwd grumpy:x:509:509::/home/grumpy:/bin/bash doc:x:510:510::/home/doc:/bin/bash student:x:2299:2299::/home/student:/bin/bash ventura:x:511:511::/home/ventura:/bin/bash hogan:x:512 :512 ::/home/hogan:/bin/bash pataki:x:513:513::/home/pataki:/bin/bash einstein:x:514:514::/home/einstein:/bin/bash maxwell:x:515:515::/home/maxwell:/bin/bash nero:x:516:516::/home/nero:/bin/bash julius:x:517:517::/home/julius:/bin/bash [elvis@station elvis]$ cat /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 ... hogan:x:512: pataki:x:513: einstein:x:514: maxwell:x:515: nero:x:516: julius:x:517: En la toma de pantalla anterior se han omitido algunas líneas y se han reemplazado con "...". En el tercer campo encontramos que el usuario hogan tiene un userid de 512. En el cuarto campo encontramos que el usuario hogan tiene un id de grupo primario de 512, (observe que el id del grupo primario hogan es el mismo que su id de usuario. Esto no tiene que ser el caso, pero lo es a menudo debido a la forma en que se adicionan los usuarios en Red Hat Enterprise Linux). Aunque sabemos que el grupo primario de hogan es 512 desde el archivo /etc/passwd, no podemos conocer el nombre del grupo hasta examinar el archivo/etc/group. Aquí encontramos que el nombre de grupo del grupo 512 es hogan. En Red Hat Enterprise Linux,el grupo primario de un usuario casi siempre tiene el mismo nombre del nombre de usuario.
  • 12. 12 Users and Groups Aquí encontramos que hogan también es miembro del grupo wrestlers. El grupo wrestlers es un grupo secundario. En resumen, se puede decir lo siguiente acerca de los grupos primarios y secundarios. • • Un groupid primario se define en el cuarto campo del archivo/etc/passwd. Luego, el nombre del usuario del grupo primario se asocia con el groupid en el archivo /etc/group. Los usuarios de grupos secundarios se definen al adicionar el nombre de usuario al cuarto campo de las líneas apropiadas en el archivo/etc/group. ¿Cómo puedo cambiar mis membresías de grupo? Los usuarios estándar no tienen permiso para editar el archivo /etc/passwd ni el archivo /etc/group y por lo tanto, no pueden cambiar las membresías de grupo. Únicamente el usuario administrativo root, puede cambiar las membresías de grupo. Si usted no tiene acceso a la máquina como root, las asociaciones de grupo se pueden modificar utilizando los comandos usermod y groupmod o la utilidad gráfica systemconfig-users. El uso de estos comandos se verá en otro curso. Ejemplos ¿Quiénes son miembros de ese grupo? En la siguiente lista del directorio /var/spool, prince observa que el grupo "sys" es propietario del directorio /var/spool/cups. [prince@station total 64 ... drwx-----2 drwx-----3 drwxr-xr-x 23 drwxrwxr-x 2 ... prince]$ ls -l /var/spool/ root lp root root root sys root mail 4096 8192 4096 4096 Feb May Jan May 19 21 24 21 08:39 12:36 18:52 10:55 cron cups lpd mail El usuario prince ahora se está preguntando cuál de los usuarios del sistema es miembro de los grupos sys. Con el fin de averiguarlo, examina el archivo /etc/group. [prince@station prince]$ head /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9:
  • 13. 13 Users and Groups Al examinar la cuarta línea, prince determina que los usuarios root, bin y adm son los miembros actuales del grupo sys. ¿A qué grupos pertenece el usuario ? El usuario prince desea averiguar a qué grupos pertenece el usuario root. Debido al formato del archivo /etc/group, no puede determinar la respuesta al examinar una sola línea. Decide, entonces, buscar la palabra "root" en el archivo. [prince@station prince]$ cat /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9: wheel:x:10:root ... Después de una inspección tediosa de la salida, prince decide que root pertenece a los siguientes grupos: root, bin, daemon, sys, adm, disk y wheel y piensa para sí que "debe haber una forma más fácil", (esperemos que prince lea la siguiente lección). Ejercicios en línea Determinación de membresías de grupo Lab Exercise Objetivo: determinar las membresías de grupos localmente definidos. Estimated Time: 10 mins. Especificaciones Crea un archivo en su directorio de inicio llamado physics.txt, el cual contiene una lista de los miembros del grupo physics, separados por espacios. Por ejemplo, si elvis, blondie, y prince fueran los miembros de un grupo physics, el siguiente comando crearía fácilmente dicho archivo. [student@station student]$ echo "blondie elvis prince" > physics.txt [student@station student]$ cat physics.txt blondie elvis prince Deliverables
  • 14. 14 Users and Groups Question 1 1. Un archivo ~/physics.txt que contenga una lista del grupo physics, separado por espacios. Determinación de los grupos a los que un usuario está suscritos (la forma difícil) Lab Exercise Objetivo:Determinar los grupos a los cuales pertenece un usuario definido localmente. Estimated Time: 10 mins. Especificaciones Crea un archivo en su directorio de inicio llamado elvisgrp.txt, el cual contiene una lista de los grupos a los que el usuario elvis pertenece. Por ejemplo, si elvis perteneció a los grupos sys, music, y elvis, entonces el siguiente comando crearía fácilmente dicho archivo. [student@station student]$ echo "elvis music sys" > elvisgrp.txt [student@station student]$ cat elvisgrp.txt elvis music sys Deliverables Question 1 1. El archivo ~/elvisgrp.txtque contiene una lista de los grupos a los que el usuario elvis pertenece. Capítulo 3 Revisar la información del usuario Conceptos clave • • • • 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. Identificacion de usuarios: el comando id.
  • 15. 15 Users and Groups La lección anterior presentó los conceptos de grupos y la manera cómo los archivos /etc/passwd y /etc/Group definen las membresías de grupo. Debido a que la determinación de las membresías de grupos desde estos archivos no se hace directamente, los usuarios suelen utilizar el comando id para determinar la información sobre un usuario. id [[-g] | [-G] | [-u]] [-n] [NOMBRE DE USUARIO] Escribe información para el NOMBRE DE USUARIO o el usuario actual. Opción Efecto -g,--grupo Escribe únicamente el id de grupo 'G,--grupos Escribe todos los ids de grupo -u, --user Escribe sólo el identificador de usuario efectivo -n, --name Imprime el nombre del usuario o del grupo en lugar del número. 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. [elvis@station elvis]$ id uid=501(elvis) gid=501(elvis) groups=501(elvis),203(emperors),205(music) [elvis@station elvis]$ id blondie uid=505(blondie) gid=505(blondie) groups=505(blondie),205(music) Por defecto, el comando presenta el identificador de usuario, el grupo primario y todos los grupos (primario y secundario) a los cuales pertenece el usuario, tanto por nombre de grupo como por id de grupo. La salida del comando id puede calificarse con las opciones, como se resume en la tabla anterior. Por ejemplo, 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. Estas líneas de comando son muy útiles cuando el comando id se utilizado en scripts. [elvis@station elvis]$ id -g blondie 505 [elvis@station elvis]$ id -gn blondie blondie [elvis@station elvis]$ id -Gn blondie blondie music El comando whoami . El comando whoami simplemente entrega el nombre del usuario actual.
  • 16. 16 Users and Groups whoami Escribe 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. El intérprete de comandos es configurable, sin embargo, en otros sistemas de Linux y Unix o en otros entornos (tales como shells de rescate), la identidad del usuario podría no ser tan obvia. También el comando whoami puede estar insertado en un script, el cual podría tener un comportamiento diferente dependiendo de quién lo está ejecutando. ¿Quién tiene una sesión abierta? Los comandos users, wy 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. Puede que el usuario elvis quiera saber quién más está conectado a la máquina. [elvis@station elvis]$ users blondie elvis elvis elvis elvis elvis prince root El comando reporta que blondie, elvis, prince y root están actualmente conectados a la máquina. ¿Por qué elvis aparece en la lista cinco veces? Unix tradicionalmente asocia toda la actividad desde una sola terminal con lo que técnicamente se llama "sesión". Al utilizar el entorno gráfico X, cada ventana de una terminal abierta se considera una terminal distinta y por lo tanto, una sesión diferente. El usuario elvis probablemente está usando terminales múltiples dentro de X windows. w [[-h] | [-s] | [-f]] [NOMBRE DE USUARIO] Escribe información detallada de quien está actualmente conectado o para el usuario si es dado. USERNAME, Efecto Opción -h salta la cabecera -s una lista corta -f no muestra el campo "FROM".
  • 17. 17 Users and Groups 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: [elvis@station elvis]$ w 12:58:58 up 1 day, 3:32, 8 users, load average: 0.01, 0.04, USER TTY FROM LOGIN@ IDLE JCPU PCPU root tty2 12:45pm 13:19 0.05s 0.05s prince tty1 12:45pm 13:01 4.63s 4.60s elvis rain.rdu station.redhat.c 9:44am 0.00s 5:42 1.58s /usr/bin/gnome elvis pts/0 station.redhat.c 9:59am 1:05m 5.33s 3.05s elvis pts/2 station.redhat.c 11:24am 1.00s 0.99s 57.08s /usr/bin/gnome elvis pts/4 station.redhat.c 11:10am 1:05m 0.20s 0.20s elvis pts/5 station.redhat.c 11:29am 12:37 15.90s 0.16s root blondie pts/6 station.redhat.c 12:46pm 12:37 0.05s 0.05s 0.04 WHAT -bash top mutt bash ssh -bash 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. El comando luego presenta una tabla con la siguiente información. Columna Información USER El nombre de usuario del usuario que está conectado. TTY La terminal desde donde el usuario está conectado, (la interpretación de las terminales se discute en el cuaderno 1). FROM Si el usuario está conectado a la red, el nombre del anfitrión desde donde el usuario está conectado. LOGIN@ La hora en que el usuario inició la sesión. IDLE El tiempo que ha transcurrido desde la última interacción en la terminal. JCPU La cantidad de tiempo CPU consumido por todos los procesos que están ejecutándose en el momento asociados con la sesión de la terminal. PCPU La cantidad de tiempo de CPU consumido por sólo el proceso actual, como se le llama en el campo "WHAT". WHAT El proceso del usuario, ejecutándose actualmente. 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. El comando who también está diseñado para reportar eventos del sistema tal como el nivel de ejecución actual, ajustes al sistema del reloj y procesos generados por el proceso /sbin/init. Mucha de esta información va más allá del alcance de este curso. Revisión de usuarios: el comando finger. Uso del comando finger.
  • 18. 18 Users and Groups El comando fingerse 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]] [USUARIO...] [USER@HOST ...] Escribe la información sumaria acerca del usuario específico, incluyendo si ha entrado al sistema, si ha revisado su correo o hace una lista de todos los usuarios en el sistema si no se proporciona ninguno. Opción Efecto -s Salida en formato sumario -l Salida en formato largo -p No muestre la información ".plan", ".project", etc. A manera de ejemplo, el usuario elvis usa el comando finger para ver quién está en el sistema. [elvis@station elvis]$ finger Login Name Tty Idle Phone madonna *:0 madonna pts/0 28 madonna pts/1 20 madonna pts/2 madonna pts/3 3 elvis tty1 prince tty2 Login Time May May May May May May May 26 26 26 26 26 26 26 06:40 06:40 06:41 06:50 07:04 07:09 07:10 Office Office (:0.0) (:0.0) (:0.0) (:0.0) 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. Ahora elvis nota que su amiga blondie no está conectada y decide buscar más información acerca de ella. [elvis@station elvis]$ finger blondie Login: blondie Name: (null) Directory: /home/blondie Shell: /bin/bash Never logged in. No mail. No Plan. En este caso el comando finger entrega información sumaria sobre la usuaria blondie, incluyendo el hecho de que ella nunca ha estado en el sistema y que no tiene correo en espera. Personalización de la salida del comando finger.
  • 19. 19 Users and Groups Cuando elvis decide chequear al usuario prince, el comando finger proporciona mucha más información. [elvis@station elvis]$ finger prince Login: prince Name: (null) Directory: /home/prince Shell: /bin/bash On since Mon May 26 07:10 (EDT) on tty2 10 minutes 30 seconds idle New mail received Mon May 26 07:17 2003 (EDT) Unread since Wed May 14 06:31 2003 (EDT) Plan: 12:00 - 1:00 lunch 1:00 - 3:00 in class 3:30 - 4:30 ultimate frisbee Debido a que prince está conectado en el momento, el comando finger entrega al usuario, la terminal, la hora de acceso al sistema y el tiempo de inactividad. El comando finger reporta la úĺtima hora en que el usuario recibió correo y la última vez que lo leyó, (observe que no sólo funciona si la máquina está configurada para recibir correo-e directamente, sino que utiliza una cuenta POP provista de un proveedor del servicio de Internet). El usuario prince ha creado un archivo ~/.plan que el comando finger reporta. Un usuario puede personalizar la información que otra persona ve cuando está en finger, creando archivos ocultos en su directorio de inicio. El comando finger conoce los siguientes archivos. Nombre de archivo Propósito .plan Aparece en pantalla con el comando finger bajo el título "Plan:". .project Aparece en pantalla con el comando finger bajo el título "Project:". .pgpkey Aparece en la pantalla gracias al comando finger bajo el título "PGP Key:". Sirve para que el usuario publique una parte de la clave pública de una clave pública/privada que se utiliza en la encripción de la clave pública. Permiso de acceso a su directorio de inicio Por defecto en Red Hat Enterprise Linux, el directorio de inicio de un usuario no tiene acceso a los otros directorios de inicio que se encuentran en el sistema . Para que el comando finger encuentre estos archivos, un usuario debe habilitar los permisos de ejecución en su directorio de inicio usando un comando similar al siguiente: [prince@station prince]$ chmod o+x ~ Este tema se tratará a profundidad en el Cuaderno 4.
  • 20. 20 Users and Groups 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. [elvis@station elvis]$ finger pataki@nimbus.example.com Login: pataki Name: (null) Directory: /home/pataki Shell: /bin/bash Never logged in. New mail received Mon May 26 07:41 2003 (EDT) Unread since Wed May 14 15:34 2003 (EDT) Plan: Balance the budget. Para que este comando funcione, la máquina remota nimbus.example.com debe optar por utilizar el servicio finger. En los comienzos del Internet, las máquinas Unix comúnmente prestaban este servicio. Ahora que el Internet ha crecido y las solicitudes de seguridad a menudo pesan más que el espíritu de la comunidad, la mayoría de los administradores deciden no utilizar ese servicio. El servicio está disponible en Red Hat Enterprise Linux, pero se encuentra desactivado por defecto. Ejemplos Utilización del comando idpara determinar las membresías de grupo. La usuaria blondie ha enviado un correo electronico a su administrador pidiendo unirse al grupo de music. Al entrar el siguiente día, quiere saber si el administrador lo hizo. Para averiguarlo, blondie ejecuta el comando id. [blondie@station blondie]$ id uid=505(blondie) gid=505(blondie) groups=505(blondie),205(music) blondie ve que ha sido agregada al grupo music. Ponerse al corriente con elvis. La usuaria blondie quiere ponerse al corriente con el usuario elvis. Ella averigua si elvis está conectado al sistema utilizando el comando w. [blondie@station blondie]$ w 08:05:50 up 1:28, 7 users, USER TTY FROM prince tty2 elvis tty1 blondie :0 /usr/bin/gnomeblondie pts/0 :0.0 blondie pts/1 :0.0 blondie pts/2 :0.0 /usr/bin/gnome- load average: 0.00, 0.15, LOGIN@ IDLE JCPU 9:10am 55:48 0.05s 9:09am 55:52 0.01s 8:40am ? 0.00s 8:40am 8:41am 8:50am 8:27 10.23s 2:03 0.54s 0.00s 0.56s 0.34 PCPU 0.05s 0.01s 0.83s 0.10s 0.54s 8.06s WHAT -bash -bash bash bash
  • 21. 21 Users and Groups blondie pts/3 /usr/bin/gnome- :0.0 9:04am 59:28 0.20s 8.06s Blondie observa que elvis está conectado pero tiene un tiempo inactivo de cerca de una hora. Al tratar de decidir si elvis está realmente sentado frente a la terminal, utiliza el comandofinger. [blondie@station blondie]$ finger elvis Login: elvis Name: (null) Directory: /home/elvis Shell: /bin/bash On since Mon May 26 07:09 (EDT) on tty1 1 hour 6 minutes idle New mail received Mon May 26 06:53 2003 (EDT) Unread since Wed May 14 06:31 2003 (EDT) Plan: 9:30 - 10:30 Team meeting 12:30 - 1:30 Lunch Al ver que elvis ha puesto en la lista una reunión a las 9;30, blondie asume que elvis no está en la terminal, pero que quedó conectado. Personalización de la información de finger. El usuario prince desea personalizar lo que los usuarios ven si ellos ejecutan finger. El sabe que primero necesita permitir el acceso a su directorio de inicio. [prince@station prince]$ chmod o+x ~ Luego, prince genera un archivo .plan. [prince@station prince]$ nano ~/.plan ...( dentro del editor nano, prince crea el siguiente archivo )... Convertirse en la primera persona en instalar Red Hat Enterprise Linux en la luna. ...( y guarda el archivo como ~/.plan) ... [prince@station prince]$ cat ~/.plan Convertirse en la primera persona en instalar Red Hat Enterprise Linux en la luna. Por último, prince rutinariamente firma su correo-e con la clave privada GPG. Le gustaría que el comando finger reportara su clave pública para que la gente pudiera verificar su firma. [prince@station prince]$ gpg --export -a prince > ~/.pgpkey Para confirmar su configuración, él decide ejecutar el comando finger para sí mismo. [prince@station prince]$ finger prince Login: prince Name: (null)
  • 22. 22 Users and Groups Directory: /home/prince Shell: /bin/bash On since Mon May 26 07:10 (EDT) on tty2 New mail received Mon May 26 07:17 2003 (EDT) Unread since Wed May 14 06:31 2003 (EDT) PGP key: -----BEGIN PGP PUBLIC KEY BLOCK----Version: GnuPG v1.2.1 (GNU/Linux) mQGiBD7SCMcRBADqfVCpDz/h4ky/K0y2aJoJXaBMRn1KG5fro8PRXa/mH8/ToR9h n3PdJGCV4glJnMfG2II6+HTm5kgTbg+ACZyvP9JBDGqMpbA2kCQk2RjEEArkL8d4 ... R1ujp1rJ8gCfUtM9p6A5yx5FpPQrsCtKRuurixo= =315x -----END PGP PUBLIC KEY BLOCK----Plan: Become the first person to install Red Hat Enterprise Linux on the moon. Observe que se han borrado varias líneas y se remplazaron con "...". Contactar el servidor de finger, finger.kernel.org Algunas veces, los sitios de Internet reconfigurarán su servicio finger de esta manera que en vez de listar a todos los usuarios conectados en ese momento, el servicio presente una pequeña cantidad de información. (por lo general cambiante). La usuaria Madonna utiliza el comando finger para preguntarle a finger.kernel.org por las últimas versiones del kernel de Linux. [madonna@station madonna]$ finger @finger.kernel.org The latest stable version of the Linux kernel is: The latest prepatch for the stable Linux kernel tree is: The latest beta version of the Linux kernel is: The latest snapshot for the beta Linux kernel tree is: bk19 The latest 2.2 version of the Linux kernel is: The latest 2.0 version of the Linux kernel is: The latest prepatch for the 2.0 Linux kernel tree is: The latest -ac patch to the stable Linux kernels is: rc2-ac3 The latest -ac patch to the beta Linux kernels is: The latest -dj patch to the beta Linux kernels is: Ejercicios en línea Listado de grupos con el comando id. Lab Exercise Objetivo: Listar las membresías de grupo con el comando id. Tiempo estimado: 5 minutos. Especificaciones 2.4.20 2.4.21-rc3 2.5.69 2.5.692.2.25 2.0.39 2.0.40-rc6 2.4.212.5.69-ac1 2.5.69-dj1
  • 23. 23 Users and Groups Redireccione la salida del comando id para crear un archivo en su directorio de inicio llamado mygroups.txt. Utilice el comando apropiado para cambiar la línea de comando, de tal manera que sus grupos suscritos (primarios y secundarios) aparezcan en una sola línea, separados por un solo espacio. Por ejemplo, si los ejercicios se han completado correctamente, el archivo debería tener un formato similar al siguiente. [student@station student]$ cat mygroups.txt student wrestle physics Deliverables Question 1 1. Un archivo ~/mygroups.txtque contenga sus grupos suscritos, separados por un espacio en una sola línea. Creación de un .plan para el comandofinger. Lab Exercise Objetivo: Crear una respuesta personalizada para el comando finger. Estimated Time: 10 mins. Especificaciones Utilización de un editor de texto o una redirección sencilla del comando echo para crear un archivo .plan, de tal manera que cuando los usuarios utilicen el comando finger, puedan ver los contenidos de su plan. Utilice una de sus cuentas alternas para confirmar su configuración. Para que este ejercicio funcione, usted debe permitir que otros usuarios tengan acceso a su directorio de inicio utilizando el comando chmod o+x ~. Deliverables Question 1 1. Permisos en su directorio de inicio autorizando a otros usuarios la entrada a archivos dentro de éste. 2. Un archivo llamado ~/.planen su directorio de inicio con contenido que se puede ver con el comando finger.
  • 24. 24 Users and Groups Possible Solution El siguiente comando da una posible solución a este ejercicio. [student@station student]$ chmod o+x ~ [student@station student]$ echo "Complete exercise two successfully" > ~/.plan [student@station student]$ cat ~/.plan Ejercicio 2 completo a satisfacción Al entrar en la consola virtual con una de sus cuentas alternas, debería poder ver su plan como salida del comandofinger. [student_a@station student_a]$ finger student Login: student Name: (null) Directory: /home/student Shell: /bin/bash Never logged in. No mail. Plan: Complete exercise two successfully Limpieza Al final de este ejercicio, usted puede cerrar su directorio de inicio restaurando los permisos originales con chmod o-x ~ (¿Qué ven los otros usuarios en respuesta al comando fingeren este caso?). Capítulo 4 Cambio de identidad Conceptos clave • • • 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. Cambio de identidad A menudo en Linux, a un usuario le gustaría convertirse temporalmente en otro usuario. Puede que necesite cambiar los permisos a un archivo del cual no es dueño o puede que un amigo quiera utilizar su terminal por un momento. El comando que le permite temporalmente cambiar su id de usuario se llama su. su [[-] | [-c] | [-m, -p] | [-s, --shell=SHELL]] [USER [ARG]] Cambie el userid al USUARIO específicado o a root si ahora el USUARIO se especifica.
  • 25. 25 Users and Groups Opción Efecto - haga de la shell una shell de inicio. -c ejecute el comando específico y regrese -m,-p Preserve el entorno actual -s, --shell=SHELL Utilice SHELL como la nueva shell de usuario Convertirse temporalmente en otro usuario puede ser tan simple como "su" a ese usuario. [elvis@station elvis]$ su prince Password: [prince@station elvis]$ Observe los obvios problemas de seguridad. Las propiedades y permisos de usuarios no tendrían sentido si los usuarios pudieran usar su cuando quisieran. Para convertirse en el usuario prince, era necesario que elvis conociera la contraseña de prince. Al utilizar el comando su, la nueva shell se convierte en la shell de prince y los procesos iniciados desde la shell le pertenecen a prince. Sin embargo, la shell se llama una shell de no-inicio, prince no se registró totalmente- el intérprete de comandos indica que él aún está en el directorio de inicio de elvis. Aunque la shell y todo lo que ésta inicie, pertenece a prince gran parte del entorno de la shell fue heredado de elvis. 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. [elvis@station elvis]$ su - prince Password: [prince@station prince]$ En este caso prince ha ingresado efectivamente, para que el nuevo directorio de trabajo actual de la shell sea el directorio de inicio de prince, y el entorno de prince se haya inicializado desde su propia configuración. La diferencia entre una shell de inicio y una de no-inicio y el uso de las variables de entorno, se verá con más detalle en otro cuaderno. Por ahora, sólo tenga en cuenta que para llegar a ser completamente un nuevo usuario, el comando su debería llevar un - y un nombre de usuario. Convertirse en root Usualmente,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. [elvis@station elvis]$ su -
  • 26. 26 Users and Groups Password: [root@station root]# Debido a que el comando su se llamó con un -, la nueva shell de root comienza en el directorio de inicio. También observe el cambio sutil en el intérprete de comandos bash. Cuando la shell está se ejecuta como root, el intérprete de comandos usa "#" en lugar de "$". El "superusuario" En Linux y Unix, la cuenta de root se conoce algunas veces como el "superusuario". Este término probablemente surgió de un malentendido del significado de las letras del comando su, las cuales se utilizan para convertirse en root. En lugar de superusuario, las letras significan switch userid - cambio de userid. Cambio de grupo primario con el comando newgrp (o sg). En las lecciones anteriores hablamos del papel del grupo primario. Para repasar, cada usuario tiene un grupo primario como se define en el archivo/etc/passwd y los archivos recién creados son grupos pertenecientes a un usuario del grupo primario. 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. En la siguiente secuencia de comandos, prince creará un nuevo archivo, luego utilizará el comando newgrppara 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. [prince@station uid=502(prince) [prince@station [prince@station total 4 -rw-rw-r-1 [prince@station [prince@station uid=502(prince) [prince@station [prince@station total 8 -rw-r--r-1 -rw-rw-r-1 [prince@station prince]$ id gid=502(prince) groups=502(prince),205(music) prince]$ date > foo prince]$ ls -l prince prince 29 May 26 12:26 foo prince]$ newgrp music prince]$ id gid=205(music) groups=502(prince),205(music) prince]$ date > biz prince]$ ls -l prince music prince prince prince]$ exit 29 May 26 12:26 biz 29 May 26 12:26 foo
  • 27. 27 Users and Groups Observe que después de ejecutar el comandonewgrp, el comando id está reportando al grupo primario de prince como "music". El archivo biz, creado cuando el grupo primario de prince era music, es propiedad del grupo music. Ejercicios en línea Utilización del comando newgrppara cambiar grupos primarios. Lab Exercise Objetivo: Uso del comando newgrp para cambiar los grupos primarios y crear un grupo de archivos de propiedad de un nuevo grupo. Estimated Time: 10 mins. Especificaciones Use el comando idpara confirmar que su cuenta es miembro del grupo secundario music. [student@station student]$ id uid=2299(student) gid=2299(student) groups=2299(student),201(wrestle),205(music) En su directorio de inicio, cree un archivo llamado music.txt, el cual es de propiedad de grupo music y otro archivowrestle.txt, el cual es de propiedad de grupo wrestle. Para poder hacer esto, cambie a su grupo primario con el comandonewgrp. El contenido de los archivos en realidad no tiene importancia. Si el ejercicio se ha completado correctamente, un listado largo (ls -l) de su directorio de inicio debería dar una salida similar a lo siguiente: [student@station student]$ ls -l total 8 -rw-r--r-1 student music -rw-r--r-1 student wrestle 29 May 27 08:57 music.txt 29 May 27 08:57 wrestle.txt Deliverables Question 1 1. Un archivo titulado ~/music.txt perteneciente al grupo music. 2. Un archivo titulado ~/wrestle.txtperteneciente al grupo wrestle. Possible Solution
  • 28. 28 Users and Groups La siguiente secuencia de comandos brinda una solución posible para crear el archivomusic.txt. [student@station student]$ id uid=2299(student) gid=2299(student) groups=2299(student),201(wrestle),205(music) [student@station student]$ newgrp music [student@station student]$ id uid=2299(student) gid=205(music) groups=2299(student),201(wrestle),205(music) [student@station student]$ date > music.txt [student@station student]$ exit exit [student@station student]$