25.5. Configuración de usuarios desde la línea de comandos

Si prefiere las herramientas de línea de comandos o no tiene el sistema X Window instalado, use este capítulo para configurar usuarios y grupos.

25.5.1. Añadir un usuario

Para añadir un usuario al sistema:

  1. Emita el comando useradd para crear una cuenta de usuario bloqueada:

    useradd <username>
  2. Desbloquee la cuenta ejecutando el comando passwd para asignar una contraseña y configurar el vencimiento de la misma:

    passwd <username>

Las opciones de línea de comandos para useradd están en la Tabla 25-1.

OpciónDescripción
-c comentarioComentario para el usuario
-d home-dirDirectorio principal a ser usado en vez del directorio predeterminado /home/nombredeusuario
-e fechaFecha en que la cuenta será desactivada usando el formato de fecha YYYY-MM-DD
-f díasNúmero de días que pasarán después que la contraseña ha caducado hasta que la cuenta se desactivará (Si se especifica 0, la cuenta será desactivada inmediatamente después que la contraseña expire. Si se especifica -1, la cuenta no se desactivará después que la contraseña caduque.)
-g nombredegrupoNombre o número del grupo para el grupo predeterminado del usuario (El grupo debe existir.)
-G listadegrupoLista de nombres de los grupos adicionales (además del predeterminado), separados por comas, de los cuales el usuario es miembro (Los grupos deben existir.)
-mCrea el directorio principal si no existe
-MNo crea el directorio principal
-nNo crea un grupo de usuario privado para el usuario
-rCrea una cuenta de sistema con un UID menor que 500 y dentro del directorio principal.
-p contraseñaLa contraseña encriptada con crypt
-sLínea de comando de conexión del usuario, predeterminada a /bin/bash
-u uidID de usuario, el cual debe ser único y mayor que 499

Tabla 25-1. Opciones de línea de comandos para useradd

25.5.2. Añadir un grupo

Para agregar un grupo al sistema, use el comando groupadd:

groupadd <nombredegrupo>

Las opciones de línea de comando para groupadd están en la Tabla 25-2.

OpciónDescripción
-g gidID para el grupo, el cual debe ser único y mayor que 499.
-rCrea un grupo de sistema con un GID menor que 500.
-fSale con un error si el grupo ya existe. (El grupo no es alterado.) Si se especifica -g y -f, pero el grupo ya existe, la opción -g es ignorada.

Tabla 25-2. Opciones de línea de comando para groupadd

25.5.3. Vencimiento de la contraseña

Si las contraseña dentro de la organización son creadas centralmente por el administrador, al agregar nuevos usuarios significa que el administrador debe configurar la cuenta del usuario de manera que cuando el usuario se conecte por primera vez, el sistema le pedirá que cree una contraseña. Esto se puede hacer cuando se añade o modifica un usuario en la pestaña Información de contraseña del Administrador de usuarios.

Para configurar el vencimiento de la contraseña para un usuario desde el intérprete de comandos, use el comando chage, seguido de una opción desde la Tabla 25-3, seguido por el 'nombredeusuario' del usuario.

ImportanteImportante
 

La contraseña oculta debe estar activada para poder usar el comando chage.

OpciónDescripción
-m díasEspecifica el número mínimo de días entre los cuales el usuario debe cambiar su contraseña. Si el valor es 0, la contraseña no caduca.
-M díasEspecifica el número máximo de días durante los cuales la contraseña es válida. Cuando el número de días especificado por esta opción más el número de días especificado con la opción -d es menor que el día actual, el usuario debe cambiar su contraseña antes de usar la cuenta.
-d díasEspecifica el número de días desde Enero 1, 1970 que la contraseña fué cambiada.
-I díasEspecifica el número de días inactivos después de la expiración de la contraseña antes de bloquear la cuenta. Si el valor es 0, la cuenta no es bloqueada después que la contraseña caduca.
-E fechaEspecifica la fecha en la cual la cuenta es bloqueada, en el formato YYYY-MM-DD. También se puede usar el número de días transcurridos desde Enero 1, 1970 en lugar de la fecha.
-W díasEspecifica el número de días antes de la fecha de expiración de la contraseña para advertir al usuario.

Tabla 25-3. Opciones de línea de comando de change

SugerenciaSugerencia
 

Si el comando chage está seguido directamente por un nombre de usuario (sin opciones), se visualizará los valores de vencimiento de la contraseña actual y le permite cambiar estos valores.

Si el administrador del sistema desea que un usuario configure su contraseña la primera vez que éste se conecte, la contraseña del usuario puede ser configurada a que expire de inmediato, obligando al usuario a cambiarla inmediatamente después de conectarse la primera vez.

Para obligar al usuario a configurar su contraseña la primera vez que se conecte en la consola, siga los pasos siguientes. Este proceso no funciona si el usuario se conecta usando el protocolo SSH.

  1. Bloquear la contraseña del usuario — Si el usuario no existe, use el comando useradd para crear la cuenta del usuario, pero no le de la contraseña para que así permanezca bloqueada.

    Si la contraseña ya está activa, bloquéela con el comando:

    usermod -L nombredeusuario
  2. Obligar el vencimiento inmediato de la contraseña — Escriba el comando siguiente:

    chage -d 0 nombredeusuario

    Este comando coloca el valor para la fecha en que la contraseña fué cambiada la última vez (Enero 1, 1970). Este valor obliga a la expiración inmediata de la contraseña sin tomar en cuenta la política de vencimiento, si existe alguna.

  3. Desbloquear la cuenta — Hay dos formas comunes para realizar este paso. El administrador puede asignar una contraseña inicial o puede asignar una contraseña nula.

    AvisoAviso
     

    No use passwd para configurar una contraseña porque desactivará el vencimiento inmediato que se acaba de configurar.

    Para asignar una contraseña inicial, siga los pasos siguientes:

    • Arranque el intérprete de línea de comandos python con el comando python. Se mostrará lo siguiente:

      Python 2.2.2 (#1, Dec 10 2002, 09:57:09)
      [GCC 3.2.1 20021207 (Red Hat Linux 8.0 3.2.1-2)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
    • En la línea de comandos, escriba lo siguiente (sustituyendo contraseña con la contraseña a encriptar y salt con una combinación de exáctamente 2 caracteres en mayúsculas o minúsculas, números, y el caractes punto (.) o la barra (/)):

      import crypt; print
      crypt.crypt("password","salt")

      La salida es la contraseña encriptada similar a 12CsGd8FRcMSM.

    • Presione [Ctrl]-[D] para salir del intérprete Python.

    • Corte o pegue la salida exacta de la contraseña encriptada, sin dejar espacios en blanco al principio o final, en el siguiente comando:

      usermod -p "contraseña-encriptada"
      nombredeusuario

    En vez de asignar una contraseña inicial, se puede asignar una contraseña nula con el comando:

    usermod -p "" username

    AtenciónAtención
     

    A pesar de que el uso de una contraseña nula es conveniente tanto para el administrador como para el usuario, existe el pequeño riesgo de que un tercero se conecte primero y accese el sistema. Para minimizar esta amenaza, se recomienda que los administradores verifiquen que el usuario está listo para conectarse cuando desbloqueen la cuenta.

    En cualquier caso, luego de la conexión inicial, se le pedirá al usuario una nueva contraseña.