Está en la página 1de 28

1 Users and Groups

Captulo 1 Usuarios de Linux y el archivo /etc/passwd Conceptos clave


A un nivel inferior los usuarios son representados por un nmero 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, contrasea, Id de Grupo (s), directorio de inicio y shell de inicio. La contrasea 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 slo tiene un nombre de usuario nico, sino tambin un userid, a menudo abreviado como uid. Linux rastrea los userids como un nmero entero de 32bits, es decir que puede haber ms de 2^32 o cerca de 4 mil millones de usuarios. Mientras que a la gente le gusta pensar en trminos de palabras (nombres de usuarios), al Kernel de Linux se le facilita pensar en trminos de nmeros (uids). Cuando el kernel mantiene el rastro de quin es el dueo del proceso o del archivo, ste recuerda el uid en lugar del nombre del usuario. Slamente cuando algn 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 configuracin /etc/passwd . Linux, al igual que Unix, tiene una afortunada tradicin: incluso los archivos principales de configuracin en el sistema se mantienen en un texto leble 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 mayora de los usuarios en el sistema tiene permisos para leer, pero no para modificar este archivo. A continuacin se vern unas lineas de un archivo tpico/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 configuracin de archivo con base en lneas, en donde cada lnea define un usuario en el sistema. Las lneas estn divididas internamente en siete campos y cada campo est separado por una coma. La siguiente tabla explica el uso de cada uno de estos campos. Nombre de Num campo Nombre de usuario Contrasea 1 2 Propsito El nombre de usuario se utiliza para dar un nombre leble al usuario. En los sistemas Unix ms antiguos este campo contiene la contrasea del usuario encriptada. Por defecto, Red Hat Enterprise Linux no hace uso de este campo por razones de seguridad. El nmero entero que el kernel de Linux utiliza para identificar al usuario. El nmero entero que el kernel de Linux utiliza para identificar al grupo primario del usuario. Las membresas del grupo se estudiarn en la siguiente seccin. Este campo con ese nombre tan raro ya no sirve su propsito original, el cual era importante para el entorno de desarrollo original de Unix. En estos das, el campo se utiliza para almacenar texto simple que ayuda a identificar al usuario, generalmente un nombre completo, pero algunas veces tambin incluye el nmero telefnico o la direccin. Cuando un usuario inicia sesin, su shell de inicio la utilizar como su directorio actual de trabajo. Este es uno de los pocos directorios en los que los usuarios estndar pueden escribir y generalmente son de uso privado para el usuario. La shell de inicio de sesin es la shell predeterminada para los usuarios al iniciar la sesin. En Red Hat Enterprise Linux es generalmente /bin/bash.

Id del 3 usuario (uid) Groupid Primario (gid) 4

GECOS

Directorio de 6 inicio Shell de inicio de sesin

Los usuarios rara vez modifican este archivo directamente pero presentaremos varios comandos que le permitirn al usuario cambiar ciertos campos. Si alguna vez necesita refrescar su memoria; los campos estn documentados en la pgina man passwd(5). Las contraseas y el archivo /etc/shadow. Como se mencion anteriormente la contrasea encriptada del usuario se sola almacenar en el segundo campo del archivo /etc/passwd. Debido a que el archivo

3 Users and Groups


/etc/passwd no solo contiene contraseas, sino mucha ms informacin, es necesario que todos puedan leerlo. Sin embargo, con el moderno poder de la informtica, el exponer la forma encriptada de su contrasea es peligroso. Sin mucho esfuerzo, las mquinas modernas pueden tratar de adivinar su contrasea encriptando todas las combinaciones de cada letra hasta encontrar la combinacin exacta. Esto se conoce como un ataque de "fuerza bruta".

En cambio los sistemas de Linux y Unix almacenan las contraseas utilizando una nueva tcnica llamada "Shadow Passwords", donde las contraseas de los usuarios se almacenan en un archivo especializado /etc/shadow. Debido a que el archivo contiene slo informacin relacionada con las contraseas, sus permisos no permiten ver su contenido. Para mayores detalles vaya a la pgina man shadow(5) para obtener mayores detalles. Los usuarios pueden cambiar su contrasea 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 contrasea:
[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 contrasea antes de poder cambiarla. Esto evita que alguien tome aprovecho de una terminal abandonada por slo unos segundos. Recuerde su contrasea! Si cambia su contrasea de Linux, asegrese de recordarla! Su contrasea nunca se almacenar en el sistema en texto comprensible, incluso su administrador de sistemas no puede conocer su contrasea. Si usted la olvida, alguien con privilegios de root le puede crear una nueva. Seleccin de una contrasea "segura" Al escoger una nueva contrasea, con frecuencia los usuarios son amonestados con un mensaje de BAD PASSWORD. Tradicionalmente, las contraseas 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 contraseas demasiado sencillas o fciles 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 sesin 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 aadir 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 mayora 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 electrnico 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 sesin 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 aplicacin 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 500+ usuarios del sistema 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 estn haciendo. Lista todos los procesos que estn ejecutndose en la mquina actualmente.
[elvis@station elvis]$ ps aux USER PID %CPU %MEM VSZ root 1 0.0 0.0 1380 root 2 0.0 0.0 0 [keventd] root 3 0.0 0.0 0 ... root 872 0.0 0.1 5932 [sendmail] smmsp 881 0.0 0.1 5732 [sendmail] root 891 0.0 0.0 1420 ps/2 -m /d root 900 0.0 0.0 1572 xfs 973 0.0 0.0 4812 root 992 0.0 0.0 3412 -interval root 999 0.0 0.0 1356 /sbin/mingetty tt ... prince 1066 0.0 1.4 18428 /usr/bin/gnome-se prince 1116 0.0 0.4 6136 /usr/libexec/bono prince 1118 0.0 0.6 17380 settings-da prince 1123 0.0 0.1 2688 prince 1128 0.0 0.4 3816 xscreensaver -nos prince 1135 0.0 2.1 20220 panel --smprince 1137 0.0 3.9 86176 nautilus --no-def prince 1145 0.1 3.0 26132 /usr/bin/python / root 1146 0.0 0.0 1412 [pam_timestamp_c] prince 1160 0.1 3.4 23208 /usr/bin/gnome-te prince 1161 0.0 0.1 1852 pty-helpe] prince 1162 0.0 0.1 4368 prince 1210 0.0 0.3 4372 prince 2262 0.4 8.0 99276 /usr/bin/galeon-b prince 2266 0.0 0.5 5652 ac-activat prince 2818 0.0 0.3 4368 prince 3673 0.1 0.5 4356 root 3699 0.0 0.3 4112 elvis 3702 0.0 0.5 4312 elvis 3736 1.1 4.0 24572 evolution RSS TTY 76 ? 0 ? 0 ? 440 ? 312 ? 56 ? 128 ? 236 ? 4 ? 4 tty1 STAT START S 03:33 SW 03:33 SW S S S S S S S 03:33 03:34 03:34 03:34 03:34 03:34 03:34 03:34 TIME COMMAND 0:04 init [ 0:00 0:00 [kapmd] 0:00 0:00 0:00 gpm -t 0:00 crond 0:00 [xfs] 0:00 rhnsd 0:00

3704 ? 1084 ? 1716 ? 388 ? 1032 ? 5440 ? 10048 ? 7900 ? 156 ? 8844 ? 284 ? 340 pts/0 964 pts/1 20476 pts/0 1480 ? 864 pts/2 1444 pts/4 952 pts/4 1416 pts/4 10316 pts/4

S S S S S S S S S S S S S S S S S S S S

03:37 03:37 03:37 03:37 03:37 03:37 03:37 03:37 03:37 03:38 03:38 03:38 03:39 03:42 03:42 04:17 05:46 05:46 05:46 05:46

0:00 0:00 0:00 gnome0:00 [fam] 0:02 0:06 gnome0:04 0:13 0:00 0:11 0:00 [gnome0:00 bash 0:01 bash 0:36 0:00 oafd -0:00 0:00 0:00 0:00 0:00 bash bash [su] -bash

6 Users and Groups


elvis 3739 0.4 ac-activat elvis 3742 0.5 --oaf-acti elvis 3746 0.3 moniker-xm elvis 3753 1.0 evolution-mail -elvis 3755 0.0 /usr/bin/gconfd-1 elvis 3762 0.6 evolution-address elvis 3766 0.5 evolution-calenda elvis 3771 0.5 evolution-alarm-n elvis 3773 0.6 evolution-executi root 3785 0.0 madonna 3788 0.1 madonna 3822 11.4 /usr/lib/mozillaroot 3852 0.0 elvis 3855 0.6 elvis 3891 0.0 0.8 5664 2260 ? S S S S S S S S S S S S S S R 05:46 05:46 05:46 05:46 05:46 05:46 05:46 05:46 05:46 05:46 05:46 05:46 05:47 05:47 05:47 0:00 oafd -0:00 wombat 0:00 bonobo0:00 0:00 0:00 0:00 0:00 0:00 0:00 [su] 0:00 -bash 0:05 0:00 [su] 0:00 -bash 0:00 ps aux

2.3 22548 6100 ? 1.6 11296 4288 ? 3.4 57400 8916 ? 0.5 3260 1440 ?

2.5 23052 6628 ? 2.5 23516 6560 ? 2.2 21336 5860 ? 2.3 21740 6104 ? 0.3 4108 948 pts/3 0.5 4308 1412 pts/3 8.7 89140 22320 pts/3 0.3 0.5 0.2 4112 968 pts/2 4304 1392 pts/2 2668 716 pts/2

Algunas de las lneas 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. Adems 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 estn ejecutando como el usuario de root y tambin 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 "numricamente"o por userid en lugar de por nombre de usuario. Preste mucha atencin a la tercera columna en la siguiente lista, la cual muestra un propietario de archivo.
[blondie@station blondie]$ ls -l /home/ total 48 drwx-----4 blondie blondie 4096 drwx-----4 doc doc 4096 drwx-----4 elvis elvis 4096 drwx-----4 grumpy grumpy 4096 drwx-----4 madonna madonna 4096 drwx-----4 prince prince 4096 drwx-----4 sleepy sleepy 4096 [blondie@station blondie]$ ls -ln /home/ total 48 drwx-----4 505 505 4096 drwx-----4 510 510 4096

May May May May May May May

14 14 14 14 14 14 14

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

blondie doc elvis grumpy madonna prince sleepy

May 14 06:35 blondie May 14 06:32 doc

7 Users and Groups


drwx-----drwx-----drwx-----drwx-----drwx-----4 4 4 4 4 501 509 504 502 507 501 509 504 502 507 4096 4096 4096 4096 4096 May May May May May 14 14 14 14 14 06:31 06:32 06:31 06:31 06:32 elvis grumpy madonna prince sleepy

En la lista ls -l, los propietarios de archivo son vistos por nombre de usuario. En la lista ls -ln, los propietarios de archivo aparecen por userid. Cambio de un nombre de usuario como root El administrador de la mquina, actuando como root, desea editar el archivo /etc/passwd. Primero, root tomar un ls -l de los archivos en el directorio /home. Luego, root cambiar el nombre del usuario sleepy en la base de datos de usuarios y por ltimo, mirar otra vez la salida del comando ls -l.
[root@station total 48 drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----[root@station root]# ls -l /home/ 4 blondie blondie 4 doc doc 4 elvis elvis 4 grumpy grumpy 4 madonna madonna 4 prince prince 4 sleepy sleepy root]# nano /etc/passwd 4096 May 14 06:40 blondie 4096 May 14 06:32 doc 4096 May 14 06:31 elvis 4096 May 14 06:32 grumpy 4096 May 14 06:31 madonna 4096 May 14 06:31 prince 4096 May 14 06:32 sleepy

(root edits the /etc/passwd file, so that the line ... sleepy:x:507:507::/home/sleepy:/bin/bash ... now reads ... sleepier:x:507:507::/home/sleepy:/bin/bash ... ) [root@station total 48 drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----drwx-----root]# ls -l /home/ 4 4 4 4 4 4 4 blondie doc elvis grumpy madonna prince sleepier blondie doc elvis grumpy madonna prince sleepy 4096 May 14 06:40 blondie 4096 May 14 06:32 doc 4096 May 14 06:31 elvis 4096 May 14 06:32 grumpy 4096 May 14 06:31 madonna 4096 May 14 06:31 prince 4096 May 14 06:32 sleepy

En el primer caso el usuario propietario del directorio de inicio de sleepy /home/sleepy aparece en la lista como sleepy. En el segundo caso, el usuario propietario del directorio de inicio de sleepy aparecer en la lista como sleepier. Qu se puede aprender de este ejemplo? root no cambi nada en /home/sleepy, slo 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 informacin. Esto sugiere lo siguiente:

1. El kernel de Linux no almacena el nombre de usuario del que posee el archivo, sino el nmero entero del userid, (del ejemplo anterior, cul 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 lnea Determinacin de informacin del usuario Lab Exercise Objetivo:Determinar los parmetros relacionados con el usuario tales como userid y shell de inicio. Estimated Time: 10 mins. Especificaciones Al examinar el primer, tercer y ltimo campo (sptimo) 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 slo la informacin apropiada en una sola lnea. Por ejemplo, si el shell de inicio de sesin del usuario nobody fuera /bin/bash, el siguiente comando creara fcilmente 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 deberan estar en su directorio de inicio, el cual contiene slo la siguiente informacin: filename
my.uid

Contenido Su nmero entero de userid de cuenta

9 Users and Groups


my.shell root.uid root.shell nobody.uid nobody.shell

Su shell de inicio El nmero entero de userid de root La shell de inicio del usuario root El userid entero del usuario nobody La shell de inicio del usuario nobody

Captulo 2 Los grupos Linux y el archivo/etc/group. Conceptos clave


Bsicamente, un grupo es solo un group id (gid) de un nmero entero Cada proceso que se ejecuta en el sistema opera bajo una coleccin de grupos (gids). El archivo /etc/groupasigna gids a nombres y a membresas 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 mltiples grupos secundarios definidos en el archivo /etc/groups.

Grupos de Linux La leccin anterior present el hecho de que cada proceso se ejecuta bajo el contexto de un usuario dado. Adems, los usuarios, los procesos que estos operan y los archivos que poseen, pertenecen a la coleccin de grupos-. Las membresas 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. Adems, los usuarios pueden ser miembros de cero o ms grupos secundarios. Las implicaciones de los grupos primarios o secundarios se presentan a continuacin. 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 ms razonable. Es un archivo de configuracin con base en lneas, cada lnea consta de campos separados por una coma as como se demuestra a continuacin.
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 informacin: Nombre campo Groupname Contrasea grupo Miembros grupo de de Num Propsito 1 2 El nombre de grupo se utiliza para dar al grupo un nombre legible. Los grupos pueden contar con una contrasea de grupo aunque esto sucede raras veces. El nmero entero de grupo id. Una lista de nombres de usuarios separados por comas que define los miembros del grupo.

Grupo ID (GID) 3 de 4

Por qu grupos? Las membresas de grupo se utilizan muy a menudo para determinar quin 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, podran estar trabajando en mis prospectos y no querrn que otros usuarios tengan acceso a su informacin. Los archivos que estn utilizando (y los directorios en los que estn almacenndolos) 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 tambin 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 dueos del archivo. Pueden leerlo? Pueden modificarlo? Cmo interpretar y manejar estos permisos es el tema del prximo 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 recin 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 tambin por pertenecer a otros grupos. Estos grupos se llaman grupos secundariosy estn 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 lneas 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 tambin 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 lneas apropiadas en el archivo/etc/group.

Cmo puedo cambiar mis membresas de grupo? Los usuarios estndar no tienen permiso para editar el archivo /etc/passwd ni el archivo /etc/group y por lo tanto, no pueden cambiar las membresas de grupo. nicamente el usuario administrativo root, puede cambiar las membresas de grupo. Si usted no tiene acceso a la mquina como root, las asociaciones de grupo se pueden modificar utilizando los comandos usermod y groupmod o la utilidad grfica systemconfig-users. El uso de estos comandos se ver en otro curso. Ejemplos Quines son miembros de ese grupo? En la siguiente lista del directorio /var/spool, prince observa que el grupo "sys" es propietario del directorio /var/spool/cups.
[prince@station total 64 ... drwx-----2 drwx-----3 drwxr-xr-x 23 drwxrwxr-x 2 ... prince]$ ls -l /var/spool/

root lp root root

root sys root mail

4096 8192 4096 4096

Feb May Jan May

19 21 24 21

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

cron cups lpd mail

El usuario prince ahora se est preguntando cul 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 lnea, 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 lnea. 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 ...

Despus de una inspeccin 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 ms fcil", (esperemos que prince lea la siguiente leccin). Ejercicios en lnea Determinacin de membresas de grupo Lab Exercise Objetivo: determinar las membresas 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 creara fcilmente 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.

Determinacin de los grupos a los que un usuario est suscritos (la forma difcil) 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 creara fcilmente 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.

Captulo 3 Revisar la informacin del usuario Conceptos clave


El comando id muestra la informacin 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 informacin adicional.

Identificacion de usuarios: el comando id.

15 Users and Groups La leccin anterior present los conceptos de grupos y la manera cmo los archivos /etc/passwd y /etc/Group definen las membresas de grupo. Debido a que la determinacin de las membresas de grupos desde estos archivos no se hace directamente, los usuarios suelen utilizar el comando id para determinar la informacin sobre un usuario.

id

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

Escribe informacin para el NOMBRE DE USUARIO o el usuario actual. Opcin Efecto

-g,--grupo Escribe nicamente el id de grupo 'G,--grupos Escribe todos los ids de grupo -u, --user Escribe slo el identificador de usuario efectivo -n, --name Imprime el nombre del usuario o del grupo en lugar del nmero. Si se llama sin argumentos, el comando id entrega un resumen de membresas de grupo para el usuario que lo ejecuta. Si est provisto del nombre de usuario, el comando id entrega informacin del grupo para ese usuario especfico.
[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 podra ser invocado con la opcin -g. Si el usuario quizo conocer el nombre del grupo en lugar del nmero, la opcin -n tambin podra especificarse. De la misma manera, la opcin -G reportar todos los grupos , no slo el grupo primario. Estas lneas 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 intrprete de comandos por defecto bash presenta de inmediato el nombre de usuario del usuario actual. El intrprete 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 podra no ser tan obvia. Tambin el comando whoami puede estar insertado en un script, el cual podra tener un comportamiento diferente dependiendo de quin lo est ejecutando. Quin tiene una sesin abierta? Los comandos users, wy who. Si un usuario quisiera saber quin ms est usando una mquina 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 ms sencillo de estos es el comando users.

users

Hace una lista sencilla de quienes estn conectados al sistema. Puede que el usuario elvis quiera saber quin ms est conectado a la mquina.
[elvis@station elvis]$ users blondie elvis elvis elvis elvis elvis prince root

El comando reporta que blondie, elvis, prince y root estn actualmente conectados a la mquina. Por qu elvis aparece en la lista cinco veces? Unix tradicionalmente asocia toda la actividad desde una sola terminal con lo que tcnicamente se llama "sesin". Al utilizar el entorno grfico X, cada ventana de una terminal abierta se considera una terminal distinta y por lo tanto, una sesin diferente. El usuario elvis probablemente est usando terminales mltiples dentro de X windows.

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

USERNAME,

Escribe informacin detallada de quien est actualmente conectado o para el usuario si es dado.

Efecto Opcin -h salta la cabecera -s -f una lista corta no muestra el campo "FROM".

17 Users and Groups Al igual que el comando users, el comando w lista los usuarios que estn conectados en el sistema, pero provee mucha ms informacin detallada como lo demuestra el usuario elvis:
[elvis@station elvis]$ w 12:58:58 up 1 day, 3:32, 8 users, load average: 0.01, 0.04, USER TTY FROM LOGIN@ IDLE JCPU PCPU root tty2 12:45pm 13:19 0.05s 0.05s prince tty1 12:45pm 13:01 4.63s 4.60s elvis rain.rdu station.redhat.c 9:44am 0.00s 5:42 1.58s /usr/bin/gnome elvis pts/0 station.redhat.c 9:59am 1:05m 5.33s 3.05s elvis pts/2 station.redhat.c 11:24am 1.00s 0.99s 57.08s /usr/bin/gnome elvis pts/4 station.redhat.c 11:10am 1:05m 0.20s 0.20s elvis pts/5 station.redhat.c 11:29am 12:37 15.90s 0.16s root blondie pts/6 station.redhat.c 12:46pm 12:37 0.05s 0.05s 0.04 WHAT -bash top

mutt

bash ssh -bash

La lnea superior da la informacin resumida: el tiempo actual, el tiempo en das, horas y minutos que la mquina ha estado funcionando sin interrupciones, el nmero de usuarios y el promedio actual de carga (como un promedio de 1.5 y 15 minutos) para la mquina. El comando luego presenta una tabla con la siguiente informacin. Columna USER TTY FROM Informacin El nombre de usuario del usuario que est conectado. La terminal desde donde el usuario est conectado, (la interpretacin de las terminales se discute en el cuaderno 1). Si el usuario est conectado a la red, el nombre del anfitrin desde donde el usuario est conectado. El tiempo que ha transcurrido desde la ltima interaccin en la terminal. La cantidad de tiempo CPU consumido por todos los procesos que estn ejecutndose en el momento asociados con la sesin de la terminal. La cantidad de tiempo de CPU consumido por slo el proceso actual, como se le llama en el campo "WHAT". El proceso del usuario, ejecutndose actualmente.

LOGIN@ La hora en que el usuario inici la sesin. IDLE JCPU PCPU WHAT

El ltimo de estos tres comandos similares, who,tambin provee informacin detallada acerca de quin est conectado en el momento. Si se llama sin argumentos, se comporta de una manera similar al comando w. El comando who tambin est diseado para reportar eventos del sistema tal como el nivel de ejecucin actual, ajustes al sistema del reloj y procesos generados por el proceso /sbin/init. Mucha de esta informacin va ms all del alcance de este curso. Revisin de usuarios: el comando finger. Uso del comando finger.

18 Users and Groups El comando fingerse puede utilizar para "chequear" al usuario, no slo para ver si est conectado, sino tambin si ha ledo su correo y la hora en que inici la sesin, entre otras cosas.

finger

[[-s] | [-l] | [-p]] [USUARIO...] [USER@HOST ...]

Escribe la informacin sumaria acerca del usuario especfico, 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. Opcin -s -l -p Efecto Salida en formato sumario Salida en formato largo No muestre la informacin ".plan", ".project", etc.

A manera de ejemplo, el usuario elvis usa el comando finger para ver quin est en el sistema.
[elvis@station elvis]$ finger Login Name Tty Idle Phone madonna *:0 madonna pts/0 28 madonna pts/1 20 madonna pts/2 madonna pts/3 3 elvis tty1 prince tty2 Login Time May May May May May May May 26 26 26 26 26 26 26 06:40 06:40 06:41 06:50 07:04 07:09 07:10 Office Office

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

Sin argumentos el comando finger acta de manera muy parecida al comando who, dando informacin 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 ms informacin 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 informacin sumaria sobre la usuaria blondie, incluyendo el hecho de que ella nunca ha estado en el sistema y que no tiene correo en espera. Personalizacin de la salida del comando finger.

19 Users and Groups Cuando elvis decide chequear al usuario prince, el comando finger proporciona mucha ms informacin.
[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 slo funciona si la mquina 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 informacin que otra persona ve cuando est en finger, creando archivos ocultos en su directorio de inicio. El comando finger conoce los siguientes archivos. Nombre de archivo
.plan .project

Propsito Aparece en pantalla con el comando finger bajo el ttulo "Plan:". Aparece en pantalla con el comando finger bajo el ttulo "Project:". Aparece en la pantalla gracias al comando finger bajo el ttulo "PGP Key:". Sirve para que el usuario publique una parte de la clave pblica de una clave pblica/privada que se utiliza en la encripcin de la clave pblica. 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 ejecucin en su directorio de inicio usando un comando similar al siguiente:
[prince@station prince]$ chmod o+x ~

.pgpkey

Este tema se tratar a profundidad en el Cuaderno 4.

20 Users and Groups Utilizacin del comando finger en la red. El comando finger tambin puede reportar la actividad de un usuario en mquinas remotas. El usuario elvis desea ver lo que va a hacer el usuario pataki en la mquina 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 mquina remota nimbus.example.com debe optar por utilizar el servicio finger. En los comienzos del Internet, las mquinas Unix comnmente prestaban este servicio. Ahora que el Internet ha crecido y las solicitudes de seguridad a menudo pesan ms que el espritu de la comunidad, la mayora de los administradores deciden no utilizar ese servicio. El servicio est disponible en Red Hat Enterprise Linux, pero se encuentra desactivado por defecto. Ejemplos Utilizacin del comando idpara determinar las membresas de grupo. La usuaria blondie ha enviado un correo electronico a su administrador pidiendo unirse al grupo de music. Al entrar el siguiente da, quiere saber si el administrador lo hizo. Para averiguarlo, blondie ejecuta el comando id.
[blondie@station blondie]$ id uid=505(blondie) gid=505(blondie) groups=505(blondie),205(music)

blondie ve que ha sido agregada al grupo music. Ponerse al corriente con elvis. La usuaria blondie quiere ponerse al corriente con el usuario elvis. Ella averigua si elvis est conectado al sistema utilizando el comando w.
[blondie@station blondie]$ w 08:05:50 up 1:28, 7 users, USER TTY FROM prince tty2 elvis tty1 blondie :0 /usr/bin/gnomeblondie pts/0 :0.0 blondie pts/1 :0.0 blondie pts/2 :0.0 /usr/bin/gnomeload average: 0.00, 0.15, LOGIN@ IDLE JCPU 9:10am 55:48 0.05s 9:09am 55:52 0.01s 8:40am ? 0.00s 8:40am 8:41am 8:50am 8:27 10.23s 2:03 0.54s 0.00s 0.56s 0.34 PCPU 0.05s 0.01s 0.83s 0.10s 0.54s 8.06s

WHAT -bash -bash

bash bash

21 Users and Groups


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

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

Al ver que elvis ha puesto en la lista una reunin a las 9;30, blondie asume que elvis no est en la terminal, pero que qued conectado. Personalizacin de la informacin 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 gustara que el comando finger reportara su clave pblica para que la gente pudiera verificar su firma.
[prince@station prince]$ gpg --export -a prince > ~/.pgpkey

Para confirmar su configuracin, 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 lneas y se remplazaron con "...". Contactar el servidor de finger, finger.kernel.org Algunas veces, los sitios de Internet reconfigurarn su servicio finger de esta manera que en vez de listar a todos los usuarios conectados en ese momento, el servicio presente una pequea cantidad de informacin. (por lo general cambiante). La usuaria Madonna utiliza el comando finger para preguntarle a finger.kernel.org por las ltimas versiones del kernel de Linux.
[madonna@station madonna]$ finger @finger.kernel.org The latest stable version of the Linux kernel is: The latest prepatch for the stable Linux kernel tree is: The latest beta version of the Linux kernel is: The latest snapshot for the beta Linux kernel tree is: bk19 The latest 2.2 version of the Linux kernel is: The latest 2.0 version of the Linux kernel is: The latest prepatch for the 2.0 Linux kernel tree is: The latest -ac patch to the stable Linux kernels is: rc2-ac3 The latest -ac patch to the beta Linux kernels is: The latest -dj patch to the beta Linux kernels is: 2.4.20 2.4.21-rc3 2.5.69 2.5.692.2.25 2.0.39 2.0.40-rc6 2.4.212.5.69-ac1 2.5.69-dj1

Ejercicios en lnea Listado de grupos con el comando id. Lab Exercise Objetivo: Listar las membresas 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 lnea de comando, de tal manera que sus grupos suscritos (primarios y secundarios) aparezcan en una sola lnea, separados por un solo espacio. Por ejemplo, si los ejercicios se han completado correctamente, el archivo debera 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 lnea.

Creacin de un .plan para el comandofinger. Lab Exercise Objetivo: Crear una respuesta personalizada para el comando finger. Estimated Time: 10 mins. Especificaciones Utilizacin de un editor de texto o una redireccin 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 configuracin. 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 solucin 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 satisfaccin

Al entrar en la consola virtual con una de sus cuentas alternas, debera 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?). Captulo 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 guin, as como en su -para especificar que, en efecto, el usuario debera iniciar la sesin como el nuevo usuario. El comando newgrp, tambin llamado sg, permite al usuario cambiar el id degrupo primario.

Cambio de identidad A menudo en Linux, a un usuario le gustara convertirse temporalmente en otro usuario. Puede que necesite cambiar los permisos a un archivo del cual no es dueo 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 especficado o a root si ahora el USUARIO se especifica.

25 Users and Groups Opcin -c -m,-p Efecto haga de la shell una shell de inicio. ejecute el comando especfico y regrese 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 tendran sentido si los usuarios pudieran usar su cuando quisieran. Para convertirse en el usuario prince, era necesario que elvis conociera la contrasea 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 intrprete de comandos indica que l an 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 sesin como usuario nuevo puede llamar al comando su con un - (un guin 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 configuracin. La diferencia entre una shell de inicio y una de no-inicio y el uso de las variables de entorno, se ver con ms detalle en otro cuaderno. Por ahora, slo tenga en cuenta que para llegar a ser completamente un nuevo usuario, el comando su debera llevar un - y un nombre de usuario. Convertirse en root Usualmente,un usuario debe ser root para configurar(o arreglar) una mquina Linux. Para convertirse de un usuario normal a un usuario root, el usuario debe conocer la contrasea 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. Tambin observe el cambio sutil en el intrprete de comandos bash. Cuando la shell est se ejecuta como root, el intrprete de comandos usa "#" en lugar de "$". El "superusuario" En Linux y Unix, la cuenta de root se conoce algunas veces como el "superusuario". Este trmino 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 recin 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 recin creados, sean propiedad de ese grupo. El comando newgrp, equivalente al comando llamado sg hace justamente esto.

newgrp

[[GROUP]]

Genera una nueva shell con GROUP como su grupo primario. Si GROUP no se especifica, utilice el grupo primario por defecto. En la siguiente secuencia de comandos, prince crear un nuevo archivo, luego utilizar el comando newgrppara generar una nueva shell con un grupo primario de music. En la nueva shell, prince crear otro archivo, el cual pertenecer al grupo music, prince luego abandonar la nueva shell.
[prince@station uid=502(prince) [prince@station [prince@station total 4 -rw-rw-r-1 [prince@station [prince@station uid=502(prince) [prince@station [prince@station total 8 -rw-r--r-1 -rw-rw-r-1 [prince@station prince]$ id gid=502(prince) groups=502(prince),205(music) prince]$ date > foo prince]$ ls -l prince prince 29 May 26 12:26 foo prince]$ newgrp music prince]$ id gid=205(music) groups=502(prince),205(music) prince]$ date > biz prince]$ ls -l prince music prince prince prince]$ exit 29 May 26 12:26 biz 29 May 26 12:26 foo

27 Users and Groups Observe que despus 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 lnea Utilizacin 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 debera dar una salida similar a lo siguiente:
[student@station student]$ ls -l total 8 -rw-r--r-1 student music -rw-r--r-1 student wrestle

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

Deliverables Question 1

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

Possible Solution

28 Users and Groups La siguiente secuencia de comandos brinda una solucin 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]$

También podría gustarte