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

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: “*“.

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
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:

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
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]’

Bloquear el acceso del usuario por shell

Debemos cambiar en el archivo /etc/passwd el valor /bin/bash por este otro:

operator:x:11:0:operator:/root:/bin/nologin