¿Cómo agregar un usuario sin el comando useradd?

11

¿Es posible agregar un usuario en ubuntu linux sin el comando useradd? Creo que es posible agregando las entradas, /etc/passwd and /etc/shadowpero no sé los pasos exactos para hacerlo y el usuario también debe obtener su directorio de inicio y bash shell.

mr_eclair
fuente

Respuestas:

19

No se recomienda modificar manualmente /etc/passwd, /etc/shadow, /etc/groupo /etc/gshadowporque el riesgo de rotura. Si está buscando un comando alternativo que sea más fácil de usar, eche un vistazo adduser(8). Todo lo que tienes que correr es:

sudo adduser user

El shell será /bin/bashpor defecto por /etc/adduser.conf.

Por lo general, si desea agregar un usuario con el shell bash, y así crear un directorio de inicio /home/usery un grupo de usuarios, usaría:

sudo useradd --create-home --shell /bin/bash --user-group user

Este comando básicamente determina una ID de usuario $UIDy una ID de grupo libres $GIDy luego ejecuta los siguientes comandos:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

..y posiblemente haciendo una copia de seguridad de los archivos.

Las siguientes páginas del manual sobre los formatos de archivo pueden ser de su interés:

Lekensteyn
fuente
Hola, Lekensteyn, ¿te perdiste esta primera parte de su publicación? "¿Es posible agregar un usuario en ubuntu linux sin el comando useradd ..." Quieren una solución sin useradd: /
Thomas Ward
1
@TheEvilPhoenix: pensé que estaba preguntando por una alternativa adduser. Ahora he incluido addusercomo respuesta. De hecho, es "sin useradd" :)
Lekensteyn
No hay problema, quería señalarlo es todo. y perdóname por ser semiconfroncional ... los días largos y malos en el trabajo con la falla del servidor en cascada te hacen eso ...
Thomas Ward
@Todo lo que quiero es crear un usuario sin useradd agregando posibles entradas en / etc / passwd y / etc / shadow
mr_eclair
2
@ m59 >>intenta abrir un archivo como el usuario actual (no root) que fallará con un error de Permiso denegado. Usando sudo teeeso pasa por alto. Alternativamente, puede ajustar el comando en un sudo sh -c '...'para evitar ese problema.
Lekensteyn
1

Aunque generalmente no es necesario o recomendado, la respuesta a la pregunta de Cómo agregar usuarios sin el comando useradd es usarsudo vipw

Esto iniciará su editor definido por el sistema mientras bloquea el archivo passwd. Ingrese una línea para un nuevo usuario. (En vi, shift-G para llegar a la última línea yy p para duplicarla). Edite el nombre de usuario y cree un número de identificación de usuario único.

Después de guardar el archivo y salir del editor, se le pedirá que edite / etc / shadow. Use la misma técnica para crear una nueva línea y use "*" para el hash de contraseña. La nueva cuenta está bloqueada. Use passwd usernamepara desbloquearlo y establecer una contraseña.

También es necesario crear un directorio de inicio, copiar archivos desde el directorio de esqueleto, establecer permisos de grupo, etc. Pero vipwes su recurso principal. Ver también vigr.

Fuente: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/ (sí, estos comandos funcionan en varios tipos de * nix)

DrumEater
fuente
0

Cuando el usuario se crea en el sistema, tiene efecto en los archivos como / etc / pass, / etc / group, / etc / shadow, así que revise estos archivos y realice la entrada manual. Y finalmente, desde el archivo / etc / skel, agregue el esqueleto para el usuario en el directorio de inicio del usuario que debe crear en el directorio de inicio.

govind saraf
fuente