Você está na página 1de 12

LECCION 3.

2 ACCESO A LA CUENTA

La Cuenta Root
La cuenta root es la cuenta del administrador y no hay limitaciones para éste usuario. Por razones de
seguridad, un administrador raramente debería ingresar como root en el sistema. El administrador debiera
ingresar como un usuario normal y entrar como superusuario, así minimizando los riesgos de daños al sistema
inadvertidamente. Esto es lo primero y más veces repetido: ¡No use la cuenta root habitualmente!. Sólo se
debe emplear para realizar tareas administrativas. Si se comete un error siendo root, el sistema no le
detendrá. Si tienes la duda de como quien estas logueado en el sistema puedes escribir el comando “id” el
cual regresara su Efective User ID (EUID). Similarmente, el comando whoami regresa el usuario efectivo.

La formula habitual, si se requieren los poderes del root, es utilizar el comando «su». Este comando eje-
cuta una shell con identificadores de usuario y grupo distintos. Lo que quiere decir que permite a un usuario
convertirse temporalmente en otro usuario. Si no se especifica ningún nombre de usuario, por defecto se usa
root. El shell a ejecutar se toma de la entrada correspondiente al usuario en el fichero de contraseñas, o /bin/sh
si no está especificada en dicho fichero. La ejecución de “su” solicitará la contraseña del usuario, a menos
que se ejecute por el root.

Muchas funciones de los sistemas de administración son realizados utilizando la cuenta root. Root no
tiene restricciones de acceso a ningún lado. Algunas cuentas adicionales son utilizadas para administrar sub-
sistemas. Debe utilizar estas cuentas para asegurar que las propiedad de los archivos y sus permisos son
correctos para los subsistemas.

El administrador será también el encargado de la realización de cambios en el sistema. Cualquier cambio


deberá ser cuidadosamente planificado y probado en un entorno controlado antes de implantarlo en
produc- ción. Es imposible evaluar todas las posibles variables y condiciones que se generarán al llegar los
usuarios al día siguiente de realizar ese cambio tan importante. Pero inténtelo, la responsabilidad es suya.

El administrador debe ser el que provee las soluciones, si su actividad genera problemas, tenga previsto
como restaurar una condición estable en el mínimo lapso de tiempo. No sólo debe pensar como implementar
el nuevo cambio, además tenga previsto un plan de recuperación de emergencia, por si algo sale mal. En
Sistemas de muchos hosts y servidores, la administración podría ser realizada por varias personas. Es impe-
rativo que multiples administradores coordinen sus actividades. Es posible que una persona deshaga o
corrompa el trabajo hecho por otro.

También es buena idea plantear gradualmente las mejoras, es más fácil volver atrás si los cambios son
menores que cuando se cambian de golpe gran número de cosas. No sabrá que falló ni porque si hizo todos
los cambios a la vez. Y no digamos si afectan a gran parte del equipo. Podrá diagnosticar un problema si sólo
tocó un par de cosas y comprobó el funcionamiento antes de seguir adelante.

Cada cambio debe ser anunciado con suficiente antelación cuando afecte a los usuarios, de manera que
sepan como comportarse ante la novedad. El mejor sistema, funcionando correctamente puede ocasionar una
pequeña revuelta si los usuarios ven afectado su trabajo, aunque sólo hablemos de pequeños cambios de
forma. Infórmeles con antelación de lo que va a ocurrir y documente, si es necesario, las nociones sobre el
manejo (o lo que sea) que necesiten.

1
Sin importar si las maquinas están en un área de acceso restringida (como una sala de computadores),
Nunca puede ingresar en la consola del sistema como root. Algunos administradores inhabilitan el acceso
como root en otras terminales para prevenir que multiples usuarios trabajen como root en el sistema. Esto
podría ser una buena idea, la consola se bloqueará y no habrá manera de trabajar como root, así seria una
buena idea dejar por lo menos una u otra terminal con permisos de acceso restringido de root.

UsandoGNU/Linux
Modo Gráfico - Modo Consola
Como ya dijimos anteriormente, GNU/Linux puede utilizar el Modo Gráfico, si utiliza la
aplicación XFree86. Por otro lado, llamamos Modo Consola, al modo que es puramente texto. Gran
cantidad de los temas que se enseñan en este curso se pueden probar en modo consola, o bien
en una consola gráfica, dentro del modo gráfico.

Comenzando la Sesión
Dado que UNIX es un sistema multiusuario, para poder comenzar a utilizarlo debemos
ingresar el usuario y password que nos identifica. Esto lo podemos hacer tanto en modo gráfico
como en modo consola. Muchas veces, cuando ingresemos nuestra contraseña a un sistema UNIX,
no veremos los caracteres (ni siquiera un ’*’). Esto se debe a que de esta manera es más difícil que
un observador sepa la cantidad de caracteres que contiene nuestra contraseña.

Una vez que hayamos ingresado, tendremos acceso a nuestros archivos, y podremos ejecutar
una gran cantidad de aplicaciones, según los permisos que se le hayan dado a nuestro usuario. Es
decir que, cada usuario que utilice el sistema tendrá un tratamiento distinto. A esto nos
referimos Cuando decimos que todo sistema derivado de UNIX es multiusuario.

En particular, existe un usuario que es el encargado de administrar el sistema, es el usuario


que tiene acceso a los archivos de configuración, a instalar y desinstalar el sistema. Este usuario
suele tener el nombre de root, o también superusuario.

Primer paso del administrador


En el caso de que muchas personas tengan acceso al sistema, es necesario que el administrador
administre a los usuarios. Para esto, se deben conocer los comandos usuales y los archivos que se
configurarán.

Debe conocer los siguientes archivos importantes:

• el archivo /etc/passwd
• el archivo /etc/group

2
El archivo /etc/passwd
El archivo /etc/passwd contiene toda la información relacionada con el usuario (registro, contraseña,
etc.). Sólo el superusuario (raíz) puede cambiarla. Por lo tanto, es necesario cambiar los derechos de este
archivo para que sólo puedan leerlo los demás usuarios.

Este archivo posee un formato especial que permite marcar a cada usuario y cada una de sus líneas tiene
el siguiente formato:

nombre_de_cuenta : contraseña : numero_de_usuario : numero_de_grupo : comentario :


directorio : programa_de_inicio
Se especifican siete campos separados por el carácter ":":

• El nombre de cuenta del usuario


• La contraseña del usuario (codificada, por supuesto)
• El número entero que identifica al usuario para el sistema operativo (UID = ID del usuario,
identificación del usuario)
• El número entero que identifica al grupo del usuario (GID = ID del grupo, identificación del
grupo)
• El comentario en el que se puede encontrar la información sobre el usuario o simplemente su
nombre real
• El directorio de conexión, que es el directorio que se abre cuando se conecta al sistema
• El comando es el que se ejecuta después de la conexión al sistema (con frecuencia éste es el
intérprete de comandos)

A continuación encontrará un ejemplo de un archivo passwd:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash
cquoi:x:500:100:Cool......:/home/cquoi:/bin/bash

Es importante saber que las contraseñas ubicadas en este archivo están codificadas. Por lo tanto, es inútil
editar y reemplazar el campo password al introducir directamente la contraseña. Esto sólo provocaría el
bloqueo de la cuenta.

Una vez que el usuario se conecta, el programa de inicio de sesión compara la contraseña que el usuario
introdujo (después de codificarla) con la contraseña almacenada en el archivo passwd. Si no coinciden,
no se puede establecer la conexión.

Para prohibir el uso, sólo se debe reemplazar la contraseña codificada por una estrella: "*".

3
Se puede tener acceso a una cuenta al dejar el campo password abierto. Entonces cualquier persona que
desee conectarse por medio de la cuenta puede hacerlo.
Para poder modificar la contraseña de una cuenta con el comando passwd, debe ser el administrador del
sistema o el dueño de la cuenta (después el sistema le solicitará al usuario que introduzca la contraseña
antigua antes de pedirle que introduzca la contraseña nueva dos veces).

UID: Identificador (único) de cada cuenta de usuario. Con frecuencia los números entre el 0 y el 99 se
reservan para las cuentas propias del equipo. Los números mayores a 100 se reservan para las cuentas de
usuario.

GID: Identificador de grupos. El grupo predeterminado (denominado grupo) posee el número 50. Este
identificador se usa junto con los derechos de acceso a los archivos. Este tema sólo le interesará si su
sistema posee más de un grupo de usuarios. (En tal caso, debe tener en cuenta el archivo /etc/group).

Es posible modificar el intérprete de comandos desde la shell. Para hacerlo, debe usar el comando chsh
o el comando passwd -s. Linux buscará el programa que se especificó en el archivo /etc/shells. Sólo se
aceptarán los comandos que estén presentes en este archivo y se reemplazará el valor actual del campo
programa_de_inicio. Estas restricciones no se aplican a la cuenta del superusuario.
Asegúrese de que los derechos de acceso al archivo /etc/shells sean los mismo que los del archivo
/etc/passwd.
El superusuario no siempre tiene que llamarse raíz. Para cambiar esto, sólo debe reemplazar el nombre
de la cuenta raíz por el nombre deseado.
Una cuenta privilegiada es aquella cuyo identificador (UID, ID del usuario) es cero.

El archivo /etc/group
El archivo /etc/group contiene una lista de los usuarios que pertenecen a los diferentes grupos. De
hecho, cada vez que un gran número de usuarios puede tener acceso al sistema, frecuentemente se los
ubica en grupos diferentes, cada uno de los cuales posee sus propios derechos de acceso a los archivos y
directorios.

Tiene diferentes campos separados por ":":

nombre_de_grupo : campo_especial : numero_de_grupo: miembro1, miembro2

Con frecuencia, el campo especial está vacío.


El número de grupo corresponde al número del vínculo entre los archivos /etc/group y los archivos
/etc/passwd.

A continuación encontrará un ejemplo de un archivo /etc/group:

root:x:0:root
bin:x:1:root,bin,daemon

4
daemon:x:2:
tty:x:5:
disk:x:6:
lp:x:7:
wwwadmin:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:cyrus
news:x:13:news

• Cuando el comando ls se utiliza con la opción -1, el número de grupo se muestra junto con el del
usuario al que pertenece el archivo (o directorio). Este número único corresponde al nombre de
grupo único (a menudo tiene un máximo de 8 caracteres).
• El mismo usuario puede aparecer en varios grupos. Cuando se conecta al sistema, el usuario
pertenece a un grupo especificado en el archivo/etc/passwd (en el campo GID). Puede
modificarlo usando el comando newgrp. Luego se definen los derechos de acceso de archivo.
• Las protecciones del archivo deben impedir que los usuarios sin privilegios puedan modificar los
archivos.
• Para añadir un grupo, el administrador puede cambiar el archivo /etc/group con un editor de
texto. También puede usar el comando addgroup o groupadd (no siempre presentes). En el
primer caso, sólo tendrá que añadir las líneas relacionadas con los grupos. Por ejemplo, la línea:

admin : : 56 : ccm

• Para agregar un usuario a un grupo, sólo debe editar el archivo /etc/group y agregar el nombre al
final de la línea separando los nombres de los miembros con una coma.
• Para eliminar un grupo, sólo debe editar el archivo /etc/group y eliminar la línea correspondiente.
Tenga en cuenta: /etc/passwd, Si ese grupo tenía usuarios, no olvide cambiar los números (GID)
del grupo eliminado. También es importante buscar los archivos y directorios de este grupo para
cambiarlos (de lo contrario, los archivos y directorios pueden volverse inaccesibles).

Cómo personalizar la shell


Para configurar la shell, se debe utilizar el archivo /etc/profile. Éste le pertenece a todos los usuarios.

En primer lugar, encontrará las variables de la shell, como OPENWINHOME, PATH, etc.
Después, se definen el tipo de terminal y la variable TERM.
Una de las partes se reserva para el indicador de la shell y la última permite definir los colores del
comando ls.

Al iniciar el sistema Linux, se recomienda tener iluminado el teclado numérico, el cual no está
predeterminado.
Por lo tanto, debe agregar las siguientes líneas al archivo /etc/profile:

5
INITTY=/dev/tty[1-7]
for tty in $INITTY;
do setleds -D +num < $tty
done

Una vez que se conecta a la shell, lo primero que aparece es el indicador del sistema, que puede
configurarse a discreción del usuario.
Si el administrador desea un indicador que diga: "Buen día#", sólo debe editar el archivo /etc/profile.
Este archivo contiene una variable denominada PS1. Todas las líneas que pertenezcan a esta variable
deben estar precedidas por un símbolo de número: #. Se debe agregar la línea PS1='Buen día#'.

Simplemente guarde la información y vuelva a registrarse. Se notarán algunos cambios.


Consejo: Para mejorar la lectura, deje un espacio en blanco después del indicador.

También se pueden usar variables en el indicador del sistema (por ejemplo, mostrar la hora o el nombre
del equipo, etc.):

\d Para agregar la fecha (formato en inglés)


\t Para agregar la hora (HH:MM:SS)
\u Para agregar el nombre de usuario
\r Para regresar a la línea
\w Para agregar la ruta completa del directorio actual
\W Para agregar el directorio actual
\h Para agregar el nombre del equipo

El color también puede cambiarse. Para esto, debe usar la variable PS1 de la siguiente manera:
PSI=’\[\´033[num_couleurm] voulu\033[0m]’

PS1='\[\033[num_colorm]desired_prompt\033[0m]'

En la siguiente lista se muestra el número de los colores:

Negro 0;30 0;30


Rojo 0;31 0;31
Verde 0;32 0;32
Marrón 0;33 0;33
Azul 0;34 0;34
Violeta 0;35 0;35
Cian 0;36 0;36
Gris claro 0;37 0;37

6
Gris 1;30 1;30
Rosa 1;31 1;31
Verde claro 1;32 1;32
Marrón claro 1;33 1;33
Celeste 1;34 1;34
Violeta claro 1;35 1;35
Cian claro 1;36 1;36
Blanco 1;37 1;37

A continuación encontrará un ejemplo que muestra la hora seguida del nombre del usuario en rojo:

PS1='\t \[\033[0;31m]\u\033[0m]'

El control de los usuarios y grupos está en el núcleo de la administración del sistema de Red Hat Linux.

Los usuarios pueden ser gente real (cuentas ligadas a un usuario físico en particular) o usuarios lógicos
(cuentas existentes para aplicaciones particulares). Ambos tipos de usuarios, reales o lógicos, tienen un
ID de usuario y un ID de grupo. Los IDs de usuario habitualmente son únicos (pero no tienen por qué
serlo).

Los grupos son siempre expresiones lógicas de organización. Los usuarios forman grupos y los grupos
forman fundaciones de usuarios ligados a los que les dan permisos de lectura, escritura o de ejecución de
un archivo determinado.

Cualquier archivo creado se asigna a un usuario y a un grupo cuando se crea, de la misma manera que se
asignan la lectura, la escritura y la ejecución de permisos para el propietario del archivo, para el grupo
asignado al archivo y para cualquier otro usuario en un host. El usuario y el grupo de un archivo
particular, así como los permisos en ese archivo, pueden ser cambiados por un root o, en menor grado,
por el creador de un archivo.

Una de las tareas más importantes de cualquier administrador del sistema, es la de gestionar los usuarios
y grupos, así como asignar y revocar permisos.

7
Usuarios estándar
En la Tabla 6-1, puede econtrarse la lista de usuarios estándar creada por el proceso de instalación
(como puede ver en el archivo /etc/passwd). El ID de grupo (GID) en esta tabla es el grupo primario
para el usuario. Véase la la sección de nombre Grupos privados de usuarios para más información sobre
cómo se utilizan los grupos.

Tabla 6-1. Usuarios estándar

Usuario Directorio principal Shell


ID ID
root /root /bin/bash

bin /bin

daemon /sbin

adm /var/adm

lp /var/spool/lpd

sync /sbin /bin/sync

shutdown /sbin /sbin/shutdown

halt /sbin /sbin/halt

mail /var/spool/mail
2

news /var/spool/news
3
uucp /var/spool/uucp
0 4
operator /root
1

games /usr/games
2 00
gopher /usr/lib/gopher-

8
Usuario Directorio principal Shell
ID ID
3 0 data

ftp /var/ftp
4 0
nobody /
9 9
apache /var/www
8 8
named /var/named
5 5
piranha /etc/sysconfig/ha
0 0
amanda var/lib/amanda/
3

ident / /sbin/nologin
8 8
rpc /
2 2
wnn /var/lib/wnn
9 9
xfs /etc/X11/fs
3 3
mailnull /var/spool/mqueue
7 7
pvm /usr/share/pvm3 /bin/bash
4 4
ldap /var/lib/ldap
5 5
mysql /var/lib/mysql
7 7
rpcuser /var/lib/nfs /sbin/nologin
9 9
nsfnobody /var/lib/nfs /sbin/nologin
5534 5534
junkbust /etc/junkbuster
3 3

9
Usuario Directorio principal Shell
ID ID
gdm /var/gdm
2 2
squid /var/spool/squid /dev/null
3 3
nscd /
8 8
rpm /var/lib/rpm
7 7
mailman /var/mailman
1 1
radvd /
5 5
postgres /var/lib/pgsql
6 6

Grupos estándar
En la Tabla 6-2, encontrará los grupos estándar configurados en el proceso de instalación (como puede
ver en el fichero /etc/group).

Tabla 6-2. Grupos estándar

Grupo GID Miembros


root 0 root
bin 1 root, bin,
daemon
daemon 2 root, bin,
daemon
sys 3 root, bin,
adm
adm 4 root, adm,
daemon
tty 5
disk 6 root

10
Grupo GID Miembros
lp 7 daemon, lp
mem 8
kmem 9
wheel 10 root
mail 12 mail
news 13 news
uucp 14 uucp
man 15
games 20
gopher 30
dip 40
ftp 50
nobody 99
users 100
piranha 60 piranha
ident 98 ident
rpc 32 rpc
pvm 24 pvm
floppy 19
utmp 22
slocate 21
pppusers 44
popusers 45
slipusers 46
rpm 37 rpm
postgres 26 postgres
nscd 28 nscd
wnn 49 wnn
mailnull 47 mailnull

11
Grupo GID Miembros
rpcusers 29
nfsnobody 65534
xfs 43 xfs
gdm 42 gdm
apache 48 apache
squid 23 squid
named 25 named
junkbust 73 junkbust
mysql 27 mysql
mailman 41 mailman
ldap 55 ldap

12

Você também pode gostar