Crear usuario

Pasos para crear un usuario manualmente en Linux

En linux existen un par de comandos para dar de alta un usuario: useradd y adduser. En este artículo mostraremos que es lo que hacen. Crearemos un usuario manualmente.

Crear el usuario

Para crear un usuario se debe modificar el archivo /etc/passwd. Podemos hacerlo de forma segura utilizando el comando de linux vipw (sirve para bloquear el archivo mientras lo estés modificando de forma que nadie más pueda editarlo).

vipw /etc/passwd

En este archivo se guardan los usuarios del sistema. Para añadir otro, se crea una nueva línea con esta información:

nombreusuario:*:1000:1000:Nombre,,,:/home/nombreusuario:/bin/bash

nombreusuario - Es el nombre con el que el usuario podrá loguearse
* - Sirve para que la cuenta esté deshabilitada, normalmente este campo contendrá una x que significa que tiene una contraseña asignada en el archivo /etc/shadow
1000 - es el id del usuario (User Id). Es un identificador único que no puede estar repetido.
1000 - es el id del grupo de ese usuario. En linux cada usuario tiene un grupo con el mismo nombre que crearemos luego.
Nombre,,, - Son campos de información del usuario como el Nombre, Apellidos, etc separados por coma.
/home/nombreusuario - es la carpeta que le corresponde al usuario.
/bin/bash - es la shell o aplicación que se ejecutará cuando el usuario se loguee. Por ejemplo, otra forma para que un usuario no pudiera acceder al sistema sería poniendo aquí un programa que no se lo permitiera.

Crear el grupo

En linux cada usuario tiene un grupo con el mismo nombre, ahora crearemos este grupo utilizando el comando vigrp de linux, para bloquear el archivo /etc/groups mientras lo editamos:

vipw /etc/passwd

Hay que añadir el nuevo grupo asegurando que es el mismo nombre que el usuario, y el GID (Id de Grupo) que hemos puesto al crear el usuario

nombreusuario:x:1000:

A los grupos también se les puede asignar passwords, pero en este caso no será necesario y ponemos una x.

Crear directorio home

Ahora hay que crear el directorio de inicio y carpeta personal del usuario

mkdir /home/nombreusuario

Copiar esqueleto

A continuación copiaremos los archivos por defecto que tendrá el usuario en su directorio home. Estos archivos suelen estar en /etc/skel. Hay que copiar también los subdirectorios, por eso utilizamos el atributo -r (recursivo)

cp -r /etc/skel/* /home/nombreusuario

Cambiar de propietario

Como hemos creado las carpetas con un usuario con privilegios de administrador, ahora hace falta cambiar los propietarios de estos directorios ara que el usuario los pueda usar. Recordamos que nombreusuario=nombregrupo.

cd /home/nombreusuario
chown -R nombreusuario.nombregrupo .
chmod -R go=u,go-w .
chmod go= .

Asignarle una password

passwd nombreusuario

Finalmente, ejecutando este comando nos pedirá una password para este usuario que se guardará debidamente encriptada en /etc/shadow.