7.4.2.- Modificar cuentas de usuario

Podemos modificar las cuentas de usuario de varias maneras:

  • Editar directamente ficheros críticos como /etc/passwd, modificar ficheros de configuración específicos del usuario del directorio home de la cuenta.
  • Emplear utilidades del sistema como las empleadas para configurar cuentas.

Lo normal es modificar una cuenta de usuario existente por petición de éste o para añadir una nueva política o cambio en el sistema, como pasar los directorios home a un nuevo disco duro. No obstante, a veces, deberá modificar una cuenta justo tras haberla creado para poder personalizar ésta de un modo válido para las herramientas de creación de cuentas o porque se ha olvidado un parámetro de useradd.

Definir una contraseña

Aunque la orden useradd ofrece el parámetro -p para definir una contraseña, esta herramienta no es muy útil cuando cuando se añade directamente un usuario, porque requiere de una contraseña pre-encriptada. Por consiguiente, suele ser más fácil crear una cuenta de forma desactivada (sin utilizar -p con useradd) y definir la contraseña tras crear la cuenta. Podemos hacer esto con el comando passwd, que definimos las siguientes sintaxis:

passwd_1

tux_maestro_derAunque passwd se utiliza, con frecuencia, para definir o cambiar contraseñas, algunas de sus acciones no le solicitan ésta. En lugar de ello, modifican la contraseña de maneras predecibles, como vamos a ver en breve. En estos casos, se muestra un prompt para que escriba una nueva contraseña (dos veces, para evitar errores de escritura).

Veamos los parámetros arriba mencionado para el uso de esta herramienta:

Actualizar las cuentas expiradas:

passwd_k

Bloquear cuentas:

passwd_l

Desbloquear cuentas:

passwd_u

Borrar la contraseña de una cuenta:

passwd_d

Mostrar la información de la cuenta:

passwd_s

Los usuarios normales pueden utilizar passwd para cambiar sus contraseñas, pero muchos de sus parámetros sólo los puede utilizar root. Concretamente, -l, -u, -f y -d que quedan fuera del alcance de los usuarios normales. De manera similar, sólo root puede especificar un nombre de usuario a passwd. Cuando los usuarios normales ejecuten el programa, deberán omitir sus nombres de usuario; passwd cambiará la contraseña del usuario que ejecutó el programa. Como medida de seguridad, passwd preguntara por la tux_interroganteantigua contraseña del usuario antes de cambiar ésta cuando el programa lo ejecute un usuario normal. Esta precaución no se toma si el usuario que ejecuta el programa es root, de modo que el superusuario puede cambiar la contraseña de un usuario sin conocer la contraseña original. Esto es necesario, porque normalmente el administrador no conoce las contraseñas de los usuarios. También proporciona un medio al administrador del sistema para ayudar a los usuarios que han olvidado su contraseña; el administrador puede escribir passwd nombre_usuario e introducir una nueva contraseña para el usuario.

Las contraseñas de Linux pueden contener letras, números y signos de puntuación. Linux distingue entre mayúsculas y minúsculas en las contraseñas, lo que significa que puede mezclar letras de ambos tipos con números y signos de puntuación para mejorar su seguridad.

El ejercicio que veremos a continuación nos servirá para practicar con la creación de cuentas en un sistema Linux. Al acabar el ejercicio, deberíamos estar familiarizado con las herramientas de creación de cuentas en modo texto de Linux y ser capaz de crear nuevas cuentas, incluyendo la preparación de los directorios home de los nuevos usuarios. Sigamos los pasos siguientes:

  1. Acceda al sistema Linux como usuario normal.
  2. Inicie el terminal xterm desde el sistema de menús del entorno de escritorio, si hemos utilizado el método GUI de acceso.
    xterm_1
  3. Obtenga privilegios root. Para ello, puede escribir sudo su para ejecutar los comandos de los siguientes pasos.
    xterm_sudo
  4. Escriba useradd -m nombre_usuario, donde nombre_usuario es el nombre que desea asociar con la cuenta. Este comando crea una cuenta. El parámetro -m le indica a Linux que cree un directorio home para el usuario y lo rellene con los ficheros de configuración por defecto de la cuenta.
    xterm_4
  5. Escriba passwd nombre_usuario. Se le solicitará  que introduzca una contraseña para el usuario y que la escriba una segunda vez. Introduzca una cadena aleatoria o escoja una contraseña según lo descrito anteriormente.
    xterm_5
  6. Pulse Control-Alt-F2 para pasar a una nueva pantalla de acceso de tipo texto (si ya está utilizando varias terminales virtuales, puede que tenga que emplear una tecla de función con un número superior a F2). En Ubuntu podemos verlo haciendo clic con el ratón en el símbolo de apagar el sistema y veremos que tenemos un nuevo usuario llamado antonia.
  7. Pruebe a acceder como nuevo usuario para verificar que la cuenta funciona correctamente.

En la práctica la creación de cuentas puede que requiera alguna variación sobre este procedimiento. Puede que tenga que emplear opciones adicionales en el paso 4, por ejemplo; consulte la sección sobre la incorporación  de usuarios o la página man de useradd para conocer los detalles de estas opciones. Puede que la definición de la contraseña sea diferente. En un sistema pequeño con pocos usuarios, quizá sea posible crear cuentas en presencia de sus futuros usuarios, en cuyo caso el usuario podrá escribir la contraseña en el paso 5. En otros sistemas puede que tenga que generar las contraseñas por su cuenta y pasárselas después a los usuarios de algún modo.

TEMARIO: