SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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                                   Propósito
 campo
Nombre de          El nombre de usuario se utiliza para dar un nombre leíble al
             1
usuario            usuario.
                   En los sistemas Unix más antiguos este campo contiene la
Contraseña   2     contraseña del usuario encriptada. Por defecto, Red Hat Enterprise
                   Linux no hace uso de este campo por razones de seguridad.
Id del             El número entero que el kernel de Linux utiliza para identificar al
              3
usuario (uid)      usuario.
Groupid            El número entero que el kernel de Linux utiliza para identificar al
Primario     4     grupo primario del usuario. Las membresías del grupo se estudiarán
(gid)              en la siguiente sección.
                   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
GECOS        5
                   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.
                   Cuando un usuario inicia sesión, su shell de inicio la utilizará como
Directorio de      su directorio actual de trabajo. Este es uno de los pocos directorios
              6
inicio             en los que los usuarios estándar pueden escribir y generalmente son
                   de uso privado para el usuario.
Shell de           La shell de inicio de sesión es la shell predeterminada para los
inicio de    7     usuarios al iniciar la sesión. En Red Hat Enterprise Linux es
sesión             generalmente /bin/bash.

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          RSS TTY          STAT START      TIME COMMAND
root          1 0.0 0.0 1380             76 ?            S    03:33      0:04 init [
root          2 0.0 0.0       0           0 ?            SW   03:33      0:00
[keventd]
root          3 0.0 0.0       0            0 ?           SW      03:33   0:00 [kapmd]
...
root        872 0.0 0.1 5932            440 ?            S       03:34   0:00
[sendmail]
smmsp       881 0.0 0.1 5732            312 ?            S       03:34   0:00
[sendmail]
root        891 0.0 0.0 1420             56 ?            S       03:34   0:00 gpm -t
ps/2 -m /d
root        900 0.0 0.0 1572            128 ?            S       03:34   0:00 crond
xfs         973 0.0 0.0 4812            236 ?            S       03:34   0:00 [xfs]
root        992 0.0 0.0 3412              4 ?            S       03:34   0:00 rhnsd -
-interval
root        999 0.0 0.0 1356               4 tty1        S       03:34   0:00
/sbin/mingetty tt
...
prince     1066 0.0 1.4 18428          3704 ?            S       03:37   0:00
/usr/bin/gnome-se
prince     1116 0.0 0.4 6136           1084 ?            S       03:37   0:00
/usr/libexec/bono
prince     1118 0.0 0.6 17380          1716 ?            S       03:37   0:00 gnome-
settings-da
prince     1123 0.0 0.1 2688            388 ?            S       03:37   0:00 [fam]
prince     1128 0.0 0.4 3816           1032 ?            S       03:37   0:02
xscreensaver -nos
prince     1135 0.0 2.1 20220          5440 ?            S       03:37   0:06 gnome-
panel --sm-
prince     1137 0.0 3.9 86176          10048 ?           S       03:37   0:04
nautilus --no-def
prince     1145 0.1 3.0 26132          7900 ?            S       03:37   0:13
/usr/bin/python /
root       1146 0.0 0.0 1412            156 ?            S       03:37   0:00
[pam_timestamp_c]
prince     1160 0.1 3.4 23208          8844 ?            S       03:38   0:11
/usr/bin/gnome-te
prince     1161 0.0 0.1 1852            284 ?            S       03:38   0:00 [gnome-
pty-helpe]
prince     1162 0.0 0.1 4368            340 pts/0        S       03:38   0:00 bash
prince     1210 0.0 0.3 4372            964 pts/1        S       03:39   0:01 bash
prince     2262 0.4 8.0 99276          20476 pts/0       S       03:42   0:36
/usr/bin/galeon-b
prince     2266 0.0 0.5 5652           1480 ?            S       03:42   0:00 oafd --
ac-activat
prince     2818 0.0 0.3 4368            864 pts/2        S       04:17   0:00    bash
prince     3673 0.1 0.5 4356           1444 pts/4        S       05:46   0:00    bash
root       3699 0.0 0.3 4112            952 pts/4        S       05:46   0:00    [su]
elvis      3702 0.0 0.5 4312           1416 pts/4        S       05:46   0:00    -bash
elvis      3736 1.1 4.0 24572          10316 pts/4       S       05:46   0:00
evolution
6

                                                           Users and Groups

elvis      3739 0.4       0.8   5664 2260 ?            S        05:46     0:00 oafd --
ac-activat
elvis      3742 0.5       2.3 22548 6100 ?             S        05:46     0:00 wombat
--oaf-acti
elvis      3746 0.3       1.6 11296 4288 ?             S        05:46     0:00 bonobo-
moniker-xm
elvis      3753 1.0       3.4 57400 8916 ?             S        05:46     0:00
evolution-mail --
elvis      3755 0.0       0.5   3260 1440 ?            S        05:46     0:00
/usr/bin/gconfd-1
elvis      3762 0.6       2.5 23052 6628 ?             S        05:46     0:00
evolution-address
elvis      3766 0.5       2.5 23516 6560 ?             S        05:46     0:00
evolution-calenda
elvis      3771 0.5       2.2 21336 5860 ?             S        05:46     0:00
evolution-alarm-n
elvis      3773 0.6       2.3 21740 6104 ?             S        05:46     0:00
evolution-executi
root       3785 0.0       0.3 4108 948 pts/3           S        05:46     0:00 [su]
madonna    3788 0.1       0.5 4308 1412 pts/3          S        05:46     0:00 -bash
madonna    3822 11.4      8.7 89140 22320 pts/3        S        05:46     0:05
/usr/lib/mozilla-
root       3852 0.0       0.3   4112 968 pts/2         S        05:47     0:00 [su]
elvis      3855 0.6       0.5   4304 1392 pts/2        S        05:47     0:00 -bash
elvis      3891 0.0       0.2   2668 716 pts/2         R        05:47     0:00 ps aux

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           May   14   06:35   blondie
drwx------    4 doc      doc          4096           May   14   06:32   doc
drwx------    4 elvis    elvis        4096           May   14   06:31   elvis
drwx------    4 grumpy   grumpy       4096           May   14   06:32   grumpy
drwx------    4 madonna madonna       4096           May   14   06:31   madonna
drwx------    4 prince   prince       4096           May   14   06:31   prince
drwx------    4 sleepy   sleepy       4096           May   14   06:32   sleepy
[blondie@station blondie]$ ls -ln /home/
total 48
drwx------    4 505      505          4096           May 14 06:35 blondie
drwx------    4 510      510          4096           May 14 06:32 doc
7

                                                               Users and Groups

drwx------        4   501        501              4096   May   14   06:31   elvis
drwx------        4   509        509              4096   May   14   06:32   grumpy
drwx------        4   504        504              4096   May   14   06:31   madonna
drwx------        4   502        502              4096   May   14   06:31   prince
drwx------        4   507        507              4096   May   14   06:32   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     root]# ls -l /home/
total 48
drwx------        4 blondie blondie               4096 May 14 06:40 blondie
drwx------        4 doc      doc                  4096 May 14 06:32 doc
drwx------        4 elvis    elvis                4096 May 14 06:31 elvis
drwx------        4 grumpy   grumpy               4096 May 14 06:32 grumpy
drwx------        4 madonna madonna               4096 May 14 06:31 madonna
drwx------        4 prince   prince               4096 May 14 06:31 prince
drwx------        4 sleepy    sleepy               4096 May 14 06:32 sleepy
[root@station     root]# nano /etc/passwd

(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     root]# ls -l /home/
total 48
drwx------        4   blondie    blondie          4096 May 14 06:40 blondie
drwx------        4   doc        doc              4096 May 14 06:32 doc
drwx------        4   elvis      elvis            4096 May 14 06:31 elvis
drwx------        4   grumpy     grumpy           4096 May 14 06:32 grumpy
drwx------        4   madonna    madonna          4096 May 14 06:31 madonna
drwx------        4   prince     prince           4096 May 14 06:31 prince
drwx------        4   sleepier    sleepy           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                    Contenido
my.uid           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         de
                    Num Propósito
campo
                        El nombre de grupo se utiliza para dar al grupo un nombre
Groupname           1
                        legible.
Contraseña     de       Los grupos pueden contar con una contraseña de grupo aunque
                    2
grupo                   esto sucede raras veces.
Grupo ID (GID) 3        El número entero de grupo id.
Miembros       de       Una lista de nombres de usuarios separados por comas que
                    4
grupo                   define los miembros del grupo.

¿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 system-
config-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      prince]$ ls -l /var/spool/
total 64
...
drwx------    2      root       root           4096   Feb   19   08:39   cron
drwx------    3      lp         sys            8192   May   21   12:36   cups
drwxr-xr-x   23      root       root           4096   Jan   24   18:52   lpd
drwxrwxr-x    2      root       mail           4096   May   21   10:55   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
USERNAME,  si es dado.

Opción                  Efecto
-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,                      0.04
USER     TTY      FROM              LOGIN@   IDLE  JCPU  PCPU                     WHAT
root     tty2     -                12:45pm 13:19  0.05s 0.05s                     -bash
prince   tty1     -                12:45pm 13:01  4.63s 4.60s                     top
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                       mutt
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                      bash
elvis    pts/5    station.redhat.c 11:29am 12:37 15.90s 0.16s                     ssh
root
blondie pts/6     station.redhat.c 12:46pm 12:37  0.05s 0.05s                     -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.
           La terminal desde donde el usuario está conectado, (la interpretación de las
TTY
           terminales se discute en el cuaderno 1).
           Si el usuario está conectado a la red, el nombre del anfitrión desde donde el
FROM
           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.
           La cantidad de tiempo CPU consumido por todos los procesos que están
JCPU
           ejecutándose en el momento asociados con la sesión de la terminal.
           La cantidad de tiempo de CPU consumido por sólo el proceso actual, como
PCPU
           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            Login Time         Office      Office
Phone
madonna             *:0                       May   26   06:40
madonna              pts/0      28            May   26   06:40   (:0.0)
madonna              pts/1      20            May   26   06:41   (:0.0)
madonna              pts/2                    May   26   06:50   (:0.0)
madonna              pts/3       3            May   26   07:04   (:0.0)
elvis                tty1                     May   26   07:09
prince               tty2                     May   26   07:10

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
                                                Propósito
    archivo
.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:".
                    Aparece en la pantalla gracias al comando finger bajo el título
.pgpkey
                    "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,              load average: 0.00, 0.15,        0.34
USER     TTY      FROM                       LOGIN@   IDLE   JCPU          PCPU    WHAT
prince   tty2     -                          9:10am 55:48   0.05s         0.05s    -bash
elvis    tty1     -                          9:09am 55:52   0.01s         0.01s    -bash
blondie :0        -                          8:40am   ?     0.00s         0.83s
/usr/bin/gnome-
blondie pts/0     :0.0                        8:40am    8:27 10.23s       0.10s    bash
blondie pts/1     :0.0                        8:41am    2:03  0.54s       0.54s    bash
blondie pts/2     :0.0                        8:50am    0.00s 0.56s       8.06s
/usr/bin/gnome-
21

                                                            Users and Groups

blondie pts/3          :0.0                   9:04am 59:28       0.20s    8.06s
/usr/bin/gnome-

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:                       2.4.20
The latest prepatch for the stable Linux kernel tree is:                2.4.21-rc3
The latest beta version of the Linux kernel is:                         2.5.69
The latest snapshot for the beta Linux kernel tree is:                  2.5.69-
bk19
The latest 2.2 version of the Linux kernel is:                          2.2.25
The latest 2.0 version of the Linux kernel is:                          2.0.39
The latest prepatch for the 2.0 Linux kernel tree is:                   2.0.40-rc6
The latest -ac patch to the stable Linux kernels is:                    2.4.21-
rc2-ac3
The latest -ac patch to the beta Linux kernels is:                      2.5.69-ac1
The latest -dj patch to the beta Linux kernels is:                      2.5.69-dj1

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
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      prince]$ id
uid=502(prince)      gid=502(prince) groups=502(prince),205(music)
[prince@station      prince]$ date > foo
[prince@station      prince]$ ls -l
total 4
-rw-rw-r--    1      prince   prince        29 May 26 12:26 foo
[prince@station      prince]$ newgrp music
[prince@station      prince]$ id
uid=502(prince)      gid=205(music) groups=502(prince),205(music)
[prince@station      prince]$ date > biz
[prince@station      prince]$ ls -l
total 8
-rw-r--r--    1      prince   music                29 May 26 12:26 biz
-rw-rw-r--    1      prince   prince              29 May 26 12:26 foo
[prince@station      prince]$ exit
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                      29 May 27 08:57 music.txt
-rw-r--r--    1 student wrestle                    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]$

Weitere ähnliche Inhalte

Was ist angesagt?

Administracion archivos
Administracion archivosAdministracion archivos
Administracion archivosgiovatovar
 
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
 
Controladora de perifericos indice
Controladora de perifericos indiceControladora de perifericos indice
Controladora de perifericos indiceDiego Rivas
 
Controladoras de perifericos ana
Controladoras de perifericos anaControladoras de perifericos ana
Controladoras de perifericos anaanabelffffff
 
Semana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposSemana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposepalomino2012
 
Controladora de periféricos
Controladora de periféricosControladora de periféricos
Controladora de periféricossteven_azu
 
5 the linux filesystem
5 the linux filesystem5 the linux filesystem
5 the linux filesystemcyberleon95
 
Curso De M S
Curso De  M SCurso De  M S
Curso De M Sasocorro
 
Sistemas
SistemasSistemas
Sistemasmartin
 
UNIDAD VI
UNIDAD VIUNIDAD VI
UNIDAD VImartin
 
MONOUSUARIO Y MULTIUSUARIO
MONOUSUARIO Y MULTIUSUARIOMONOUSUARIO Y MULTIUSUARIO
MONOUSUARIO Y MULTIUSUARIOMario__Lema
 

Was ist angesagt? (18)

Monousuario
Monousuario Monousuario
Monousuario
 
Administracion archivos
Administracion archivosAdministracion archivos
Administracion archivos
 
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
 
Prueba2
Prueba2Prueba2
Prueba2
 
Controladora de perifericos indice
Controladora de perifericos indiceControladora de perifericos indice
Controladora de perifericos indice
 
Controladoras de perifericos ana
Controladoras de perifericos anaControladoras de perifericos ana
Controladoras de perifericos ana
 
Semana 16 usuarios_y_grupos
Semana 16 usuarios_y_gruposSemana 16 usuarios_y_grupos
Semana 16 usuarios_y_grupos
 
Controladora de periféricos
Controladora de periféricosControladora de periféricos
Controladora de periféricos
 
5 the linux filesystem
5 the linux filesystem5 the linux filesystem
5 the linux filesystem
 
Curso De M S
Curso De  M SCurso De  M S
Curso De M S
 
Jordy
JordyJordy
Jordy
 
Monousuario
Monousuario Monousuario
Monousuario
 
Clase3 (consola linux)
Clase3 (consola linux)Clase3 (consola linux)
Clase3 (consola linux)
 
Controladoras
ControladorasControladoras
Controladoras
 
Sistemas
SistemasSistemas
Sistemas
 
UNIDAD VI
UNIDAD VIUNIDAD VI
UNIDAD VI
 
MONOUSUARIO Y MULTIUSUARIO
MONOUSUARIO Y MULTIUSUARIOMONOUSUARIO Y MULTIUSUARIO
MONOUSUARIO Y MULTIUSUARIO
 
Linux Para Asterisk
Linux Para AsteriskLinux Para Asterisk
Linux Para Asterisk
 

Andere mochten auch

Andere mochten auch (19)

FJG Herramientas Colaborativas
FJG Herramientas ColaborativasFJG Herramientas Colaborativas
FJG Herramientas Colaborativas
 
Graciela
GracielaGraciela
Graciela
 
Arte e Colaboração Origami
Arte e Colaboração OrigamiArte e Colaboração Origami
Arte e Colaboração Origami
 
Ekipo kuak 1
Ekipo kuak 1Ekipo kuak 1
Ekipo kuak 1
 
Mi Taller Digital - Producción de Videos sesión Nº 8
Mi Taller Digital - Producción de Videos sesión Nº 8Mi Taller Digital - Producción de Videos sesión Nº 8
Mi Taller Digital - Producción de Videos sesión Nº 8
 
Equipo de ayuda
Equipo de ayudaEquipo de ayuda
Equipo de ayuda
 
Rss Y Lectores[1]
Rss Y Lectores[1]Rss Y Lectores[1]
Rss Y Lectores[1]
 
Evert 4 tiempos del diesel
Evert   4 tiempos del dieselEvert   4 tiempos del diesel
Evert 4 tiempos del diesel
 
Extractos
ExtractosExtractos
Extractos
 
Psicologia forense
Psicologia forensePsicologia forense
Psicologia forense
 
Museo de Zamora: la Metalurgia en la Prehistoria
Museo de Zamora: la Metalurgia en la PrehistoriaMuseo de Zamora: la Metalurgia en la Prehistoria
Museo de Zamora: la Metalurgia en la Prehistoria
 
Balance gestion Alcobendas
Balance gestion AlcobendasBalance gestion Alcobendas
Balance gestion Alcobendas
 
Nuestro agua
Nuestro aguaNuestro agua
Nuestro agua
 
Tarta de cola cao
Tarta de cola caoTarta de cola cao
Tarta de cola cao
 
TAREA 2
TAREA 2TAREA 2
TAREA 2
 
FINAL BING BLUEPRINT EDITED 12_08 (To Print)
FINAL BING BLUEPRINT EDITED 12_08 (To Print)FINAL BING BLUEPRINT EDITED 12_08 (To Print)
FINAL BING BLUEPRINT EDITED 12_08 (To Print)
 
Proyecto final diapositivas (1)
Proyecto final diapositivas (1)Proyecto final diapositivas (1)
Proyecto final diapositivas (1)
 
Resume - Ishtiaq Mohammed
Resume - Ishtiaq MohammedResume - Ishtiaq Mohammed
Resume - Ishtiaq Mohammed
 
Colgate
ColgateColgate
Colgate
 

Ähnlich wie UsuariosLinuxArchivoPasswd

3 users and groups
3   users and groups3   users and groups
3 users and groupsyimfer1
 
3 users and groups
3   users and groups3   users and groups
3 users and groupscyberleon95
 
3 users and groups
3   users and groups3   users and groups
3 users and groupsJuan Camilo
 
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
 
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
 
Quasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUXQuasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUXdegarden
 
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 ud5 - gestion de usuarios
Linux   ud5 - gestion de usuariosLinux   ud5 - gestion de usuarios
Linux ud5 - gestion de usuariosJavier Muñoz
 
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
 
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
 
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
 
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
 
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
 
ADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOSADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOSRonny Ramos Diaz
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXJose Pla
 

Ähnlich wie UsuariosLinuxArchivoPasswd (20)

3 users and groups
3   users and groups3   users and groups
3 users and groups
 
3 users and groups
3   users and groups3   users and groups
3 users and groups
 
3 users and groups
3   users and groups3   users and groups
3 users and groups
 
Tipos de usuarios
Tipos de usuariosTipos de usuarios
Tipos de usuarios
 
ADMINISTRACIÓN DE USUARIOS Y GRUPOS
ADMINISTRACIÓN DE USUARIOS Y GRUPOSADMINISTRACIÓN DE USUARIOS Y GRUPOS
ADMINISTRACIÓN DE USUARIOS Y GRUPOS
 
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
 
Quasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUXQuasi - Gestion usuarios LINUX
Quasi - Gestion usuarios LINUX
 
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 ud5 - gestion de usuarios
Linux   ud5 - gestion de usuariosLinux   ud5 - gestion de usuarios
Linux ud5 - gestion de usuarios
 
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
 
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
 
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
 
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
 
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
 
Apuntes de linux
Apuntes de linux Apuntes de linux
Apuntes de linux
 
Sistemas de ficheros
Sistemas de ficherosSistemas de ficheros
Sistemas de ficheros
 
ADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOSADMINISTRACION DE USUARIOS Y GRUPOS
ADMINISTRACION DE USUARIOS Y GRUPOS
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Comandos
ComandosComandos
Comandos
 
Presentación linux
Presentación linuxPresentación linux
Presentación linux
 

Mehr von OpenCourseWare México

LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdfLaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdfOpenCourseWare México
 
Presentacion tutores ingles 7 de junio 2012
Presentacion tutores ingles 7 de junio 2012Presentacion tutores ingles 7 de junio 2012
Presentacion tutores ingles 7 de junio 2012OpenCourseWare México
 
Temario Administración de Usuarios UTS
Temario Administración de Usuarios UTSTemario Administración de Usuarios UTS
Temario Administración de Usuarios UTSOpenCourseWare México
 
Arquitectura de Redes Orientadas a Servicios
Arquitectura de Redes Orientadas a ServiciosArquitectura de Redes Orientadas a Servicios
Arquitectura de Redes Orientadas a ServiciosOpenCourseWare México
 
Introducción a las Redes Convergentes
Introducción a las Redes ConvergentesIntroducción a las Redes Convergentes
Introducción a las Redes ConvergentesOpenCourseWare México
 
Introducción a LDAP y los Servicios de Directorio
Introducción a LDAP y los Servicios de DirectorioIntroducción a LDAP y los Servicios de Directorio
Introducción a LDAP y los Servicios de DirectorioOpenCourseWare México
 

Mehr von OpenCourseWare México (20)

LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdfLaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
LaGuerraEnNumeros-TResearch-HOMICIDIOS-MX (1).pdf
 
Presentacion tutores ingles 7 de junio 2012
Presentacion tutores ingles 7 de junio 2012Presentacion tutores ingles 7 de junio 2012
Presentacion tutores ingles 7 de junio 2012
 
Herramientas de Seguridad en Linux
Herramientas de Seguridad en LinuxHerramientas de Seguridad en Linux
Herramientas de Seguridad en Linux
 
Sistemas de Cableado Estructurado
Sistemas de Cableado EstructuradoSistemas de Cableado Estructurado
Sistemas de Cableado Estructurado
 
Temario Redes Convergentes UTS
Temario Redes Convergentes UTSTemario Redes Convergentes UTS
Temario Redes Convergentes UTS
 
Instalación de phpLDAPadmin
Instalación de phpLDAPadminInstalación de phpLDAPadmin
Instalación de phpLDAPadmin
 
Open LDAP
Open LDAPOpen LDAP
Open LDAP
 
Ejercicios LDAP
Ejercicios LDAPEjercicios LDAP
Ejercicios LDAP
 
Administración de LDAP
Administración de LDAPAdministración de LDAP
Administración de LDAP
 
Introducción a LDAP
Introducción a LDAPIntroducción a LDAP
Introducción a LDAP
 
Temario Administración de Usuarios UTS
Temario Administración de Usuarios UTSTemario Administración de Usuarios UTS
Temario Administración de Usuarios UTS
 
Arquitectura de Redes Orientadas a Servicios
Arquitectura de Redes Orientadas a ServiciosArquitectura de Redes Orientadas a Servicios
Arquitectura de Redes Orientadas a Servicios
 
Introducción a las Redes Convergentes
Introducción a las Redes ConvergentesIntroducción a las Redes Convergentes
Introducción a las Redes Convergentes
 
Diseño de Redes
Diseño de RedesDiseño de Redes
Diseño de Redes
 
Ldap
LdapLdap
Ldap
 
Introducción a LDAP y los Servicios de Directorio
Introducción a LDAP y los Servicios de DirectorioIntroducción a LDAP y los Servicios de Directorio
Introducción a LDAP y los Servicios de Directorio
 
12 servicios webftp_windowsasoitson
12 servicios webftp_windowsasoitson12 servicios webftp_windowsasoitson
12 servicios webftp_windowsasoitson
 
21 dns linux_asoitsonp
21 dns linux_asoitsonp21 dns linux_asoitsonp
21 dns linux_asoitsonp
 
20 dhcp linux_asoitsonp
20 dhcp linux_asoitsonp20 dhcp linux_asoitsonp
20 dhcp linux_asoitsonp
 
18 permisos linuxasoitsonp
18 permisos linuxasoitsonp18 permisos linuxasoitsonp
18 permisos linuxasoitsonp
 

UsuariosLinuxArchivoPasswd

  • 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 Propósito campo Nombre de El nombre de usuario se utiliza para dar un nombre leíble al 1 usuario usuario. En los sistemas Unix más antiguos este campo contiene la Contraseña 2 contraseña del usuario encriptada. Por defecto, Red Hat Enterprise Linux no hace uso de este campo por razones de seguridad. Id del El número entero que el kernel de Linux utiliza para identificar al 3 usuario (uid) usuario. Groupid El número entero que el kernel de Linux utiliza para identificar al Primario 4 grupo primario del usuario. Las membresías del grupo se estudiarán (gid) en la siguiente sección. 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 GECOS 5 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. Cuando un usuario inicia sesión, su shell de inicio la utilizará como Directorio de su directorio actual de trabajo. Este es uno de los pocos directorios 6 inicio en los que los usuarios estándar pueden escribir y generalmente son de uso privado para el usuario. Shell de La shell de inicio de sesión es la shell predeterminada para los inicio de 7 usuarios al iniciar la sesión. En Red Hat Enterprise Linux es sesión generalmente /bin/bash. 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 RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1380 76 ? S 03:33 0:04 init [ root 2 0.0 0.0 0 0 ? SW 03:33 0:00 [keventd] root 3 0.0 0.0 0 0 ? SW 03:33 0:00 [kapmd] ... root 872 0.0 0.1 5932 440 ? S 03:34 0:00 [sendmail] smmsp 881 0.0 0.1 5732 312 ? S 03:34 0:00 [sendmail] root 891 0.0 0.0 1420 56 ? S 03:34 0:00 gpm -t ps/2 -m /d root 900 0.0 0.0 1572 128 ? S 03:34 0:00 crond xfs 973 0.0 0.0 4812 236 ? S 03:34 0:00 [xfs] root 992 0.0 0.0 3412 4 ? S 03:34 0:00 rhnsd - -interval root 999 0.0 0.0 1356 4 tty1 S 03:34 0:00 /sbin/mingetty tt ... prince 1066 0.0 1.4 18428 3704 ? S 03:37 0:00 /usr/bin/gnome-se prince 1116 0.0 0.4 6136 1084 ? S 03:37 0:00 /usr/libexec/bono prince 1118 0.0 0.6 17380 1716 ? S 03:37 0:00 gnome- settings-da prince 1123 0.0 0.1 2688 388 ? S 03:37 0:00 [fam] prince 1128 0.0 0.4 3816 1032 ? S 03:37 0:02 xscreensaver -nos prince 1135 0.0 2.1 20220 5440 ? S 03:37 0:06 gnome- panel --sm- prince 1137 0.0 3.9 86176 10048 ? S 03:37 0:04 nautilus --no-def prince 1145 0.1 3.0 26132 7900 ? S 03:37 0:13 /usr/bin/python / root 1146 0.0 0.0 1412 156 ? S 03:37 0:00 [pam_timestamp_c] prince 1160 0.1 3.4 23208 8844 ? S 03:38 0:11 /usr/bin/gnome-te prince 1161 0.0 0.1 1852 284 ? S 03:38 0:00 [gnome- pty-helpe] prince 1162 0.0 0.1 4368 340 pts/0 S 03:38 0:00 bash prince 1210 0.0 0.3 4372 964 pts/1 S 03:39 0:01 bash prince 2262 0.4 8.0 99276 20476 pts/0 S 03:42 0:36 /usr/bin/galeon-b prince 2266 0.0 0.5 5652 1480 ? S 03:42 0:00 oafd -- ac-activat prince 2818 0.0 0.3 4368 864 pts/2 S 04:17 0:00 bash prince 3673 0.1 0.5 4356 1444 pts/4 S 05:46 0:00 bash root 3699 0.0 0.3 4112 952 pts/4 S 05:46 0:00 [su] elvis 3702 0.0 0.5 4312 1416 pts/4 S 05:46 0:00 -bash elvis 3736 1.1 4.0 24572 10316 pts/4 S 05:46 0:00 evolution
  • 6. 6 Users and Groups elvis 3739 0.4 0.8 5664 2260 ? S 05:46 0:00 oafd -- ac-activat elvis 3742 0.5 2.3 22548 6100 ? S 05:46 0:00 wombat --oaf-acti elvis 3746 0.3 1.6 11296 4288 ? S 05:46 0:00 bonobo- moniker-xm elvis 3753 1.0 3.4 57400 8916 ? S 05:46 0:00 evolution-mail -- elvis 3755 0.0 0.5 3260 1440 ? S 05:46 0:00 /usr/bin/gconfd-1 elvis 3762 0.6 2.5 23052 6628 ? S 05:46 0:00 evolution-address elvis 3766 0.5 2.5 23516 6560 ? S 05:46 0:00 evolution-calenda elvis 3771 0.5 2.2 21336 5860 ? S 05:46 0:00 evolution-alarm-n elvis 3773 0.6 2.3 21740 6104 ? S 05:46 0:00 evolution-executi root 3785 0.0 0.3 4108 948 pts/3 S 05:46 0:00 [su] madonna 3788 0.1 0.5 4308 1412 pts/3 S 05:46 0:00 -bash madonna 3822 11.4 8.7 89140 22320 pts/3 S 05:46 0:05 /usr/lib/mozilla- root 3852 0.0 0.3 4112 968 pts/2 S 05:47 0:00 [su] elvis 3855 0.6 0.5 4304 1392 pts/2 S 05:47 0:00 -bash elvis 3891 0.0 0.2 2668 716 pts/2 R 05:47 0:00 ps aux 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 May 14 06:35 blondie drwx------ 4 doc doc 4096 May 14 06:32 doc drwx------ 4 elvis elvis 4096 May 14 06:31 elvis drwx------ 4 grumpy grumpy 4096 May 14 06:32 grumpy drwx------ 4 madonna madonna 4096 May 14 06:31 madonna drwx------ 4 prince prince 4096 May 14 06:31 prince drwx------ 4 sleepy sleepy 4096 May 14 06:32 sleepy [blondie@station blondie]$ ls -ln /home/ total 48 drwx------ 4 505 505 4096 May 14 06:35 blondie drwx------ 4 510 510 4096 May 14 06:32 doc
  • 7. 7 Users and Groups drwx------ 4 501 501 4096 May 14 06:31 elvis drwx------ 4 509 509 4096 May 14 06:32 grumpy drwx------ 4 504 504 4096 May 14 06:31 madonna drwx------ 4 502 502 4096 May 14 06:31 prince drwx------ 4 507 507 4096 May 14 06:32 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 root]# ls -l /home/ total 48 drwx------ 4 blondie blondie 4096 May 14 06:40 blondie drwx------ 4 doc doc 4096 May 14 06:32 doc drwx------ 4 elvis elvis 4096 May 14 06:31 elvis drwx------ 4 grumpy grumpy 4096 May 14 06:32 grumpy drwx------ 4 madonna madonna 4096 May 14 06:31 madonna drwx------ 4 prince prince 4096 May 14 06:31 prince drwx------ 4 sleepy sleepy 4096 May 14 06:32 sleepy [root@station root]# nano /etc/passwd (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 root]# ls -l /home/ total 48 drwx------ 4 blondie blondie 4096 May 14 06:40 blondie drwx------ 4 doc doc 4096 May 14 06:32 doc drwx------ 4 elvis elvis 4096 May 14 06:31 elvis drwx------ 4 grumpy grumpy 4096 May 14 06:32 grumpy drwx------ 4 madonna madonna 4096 May 14 06:31 madonna drwx------ 4 prince prince 4096 May 14 06:31 prince drwx------ 4 sleepier sleepy 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 Contenido my.uid 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 de Num Propósito campo El nombre de grupo se utiliza para dar al grupo un nombre Groupname 1 legible. Contraseña de Los grupos pueden contar con una contraseña de grupo aunque 2 grupo esto sucede raras veces. Grupo ID (GID) 3 El número entero de grupo id. Miembros de Una lista de nombres de usuarios separados por comas que 4 grupo define los miembros del grupo. ¿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 system- config-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 prince]$ ls -l /var/spool/ total 64 ... drwx------ 2 root root 4096 Feb 19 08:39 cron drwx------ 3 lp sys 8192 May 21 12:36 cups drwxr-xr-x 23 root root 4096 Jan 24 18:52 lpd drwxrwxr-x 2 root mail 4096 May 21 10:55 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 USERNAME, si es dado. Opción Efecto -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, 0.04 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty2 - 12:45pm 13:19 0.05s 0.05s -bash prince tty1 - 12:45pm 13:01 4.63s 4.60s top 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 mutt 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 bash elvis pts/5 station.redhat.c 11:29am 12:37 15.90s 0.16s ssh root blondie pts/6 station.redhat.c 12:46pm 12:37 0.05s 0.05s -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. La terminal desde donde el usuario está conectado, (la interpretación de las TTY terminales se discute en el cuaderno 1). Si el usuario está conectado a la red, el nombre del anfitrión desde donde el FROM 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. La cantidad de tiempo CPU consumido por todos los procesos que están JCPU ejecutándose en el momento asociados con la sesión de la terminal. La cantidad de tiempo de CPU consumido por sólo el proceso actual, como PCPU 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 Login Time Office Office Phone madonna *:0 May 26 06:40 madonna pts/0 28 May 26 06:40 (:0.0) madonna pts/1 20 May 26 06:41 (:0.0) madonna pts/2 May 26 06:50 (:0.0) madonna pts/3 3 May 26 07:04 (:0.0) elvis tty1 May 26 07:09 prince tty2 May 26 07:10 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 Propósito archivo .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:". Aparece en la pantalla gracias al comando finger bajo el título .pgpkey "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, load average: 0.00, 0.15, 0.34 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT prince tty2 - 9:10am 55:48 0.05s 0.05s -bash elvis tty1 - 9:09am 55:52 0.01s 0.01s -bash blondie :0 - 8:40am ? 0.00s 0.83s /usr/bin/gnome- blondie pts/0 :0.0 8:40am 8:27 10.23s 0.10s bash blondie pts/1 :0.0 8:41am 2:03 0.54s 0.54s bash blondie pts/2 :0.0 8:50am 0.00s 0.56s 8.06s /usr/bin/gnome-
  • 21. 21 Users and Groups blondie pts/3 :0.0 9:04am 59:28 0.20s 8.06s /usr/bin/gnome- 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: 2.4.20 The latest prepatch for the stable Linux kernel tree is: 2.4.21-rc3 The latest beta version of the Linux kernel is: 2.5.69 The latest snapshot for the beta Linux kernel tree is: 2.5.69- bk19 The latest 2.2 version of the Linux kernel is: 2.2.25 The latest 2.0 version of the Linux kernel is: 2.0.39 The latest prepatch for the 2.0 Linux kernel tree is: 2.0.40-rc6 The latest -ac patch to the stable Linux kernels is: 2.4.21- rc2-ac3 The latest -ac patch to the beta Linux kernels is: 2.5.69-ac1 The latest -dj patch to the beta Linux kernels is: 2.5.69-dj1 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
  • 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 prince]$ id uid=502(prince) gid=502(prince) groups=502(prince),205(music) [prince@station prince]$ date > foo [prince@station prince]$ ls -l total 4 -rw-rw-r-- 1 prince prince 29 May 26 12:26 foo [prince@station prince]$ newgrp music [prince@station prince]$ id uid=502(prince) gid=205(music) groups=502(prince),205(music) [prince@station prince]$ date > biz [prince@station prince]$ ls -l total 8 -rw-r--r-- 1 prince music 29 May 26 12:26 biz -rw-rw-r-- 1 prince prince 29 May 26 12:26 foo [prince@station prince]$ exit
  • 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 29 May 27 08:57 music.txt -rw-r--r-- 1 student wrestle 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]$