¿Qué pasos para agregar un usuario a un sistema sin usar useradd / adduser?

10

Estaba examinando algunas preguntas de Linux y vi esta pregunta interesante.

¿Qué pasos para agregar un usuario a un sistema sin usar useradd/ adduser?

La única forma posible que me viene a la mente es:

  • Agregue una entrada para el usuario en el /etc/passwdarchivo.
  • Agregue una entrada para el grupo en el /etc/grouparchivo.
  • Cree el directorio de inicio para el usuario agregado.
  • Establezca la nueva contraseña de usuario con el passwdcomando.

Probé el enfoque anterior y funcionó bien.

¿Es esta la única forma posible o hay alguna otra solución para lograr esto?

Ramesh
fuente
44
Buena pregunta, pero ¿dónde sería útil?
Nidal
1
@Networker, desde el mismo enlace que publiqué en la respuesta, también encontré esta información. A veces es necesario crear cuentas ficticias que no utilizan las personas. Por ejemplo, para configurar un servidor FTP anónimo .
Ramesh
2
@Networker, pueden ser casos prácticos, puede ser inútil. Sin embargo, todavía es útil en algunas preguntas de la entrevista, que es donde originalmente obtuve esta pregunta. serverfault.com/a/225954
Ramesh
1
gracias por esta explicación, y su respuesta es realmente útil, lo intentaré en el futuro.
Nidal
2
@Networker: aquí un caso de uso: WSL Ubuntu en Win10 se niega a trabajar, se queja de bloquear archivos y continúa negándose a trabajar después de eliminar dichos archivos (trabajando como root). Apuesto a que está relacionado con la versión Win10, pero no puedo actualizar en este momento. Entonces, ese es un caso en el que usaría este método.
runlevel0

Respuestas:

13

La posible forma de agregar un usuario es más o menos similar a lo que había puesto en la pregunta. Tengo este enfoque desde aquí .

Para crear una nueva cuenta manualmente, siga estos pasos:

Edite /etc/passwdcon vipwy agregue una nueva línea para la nueva cuenta. Ten cuidado con la sintaxis. No edite directamente con un editor. vipwbloquea el archivo para que otros comandos no intenten actualizarlo al mismo tiempo. Debe hacer que el campo de contraseña sea `* ', de modo que sea imposible iniciar sesión.

Del mismo modo, edite /etc/groupcon vigr, si necesita crear un nuevo grupo también.

Cree el directorio de inicio del usuario con mkdir.

Copie los archivos del /etc/skelnuevo directorio de inicio.

Arregla las propiedades y permisos con chowny chmod. La -Ropción es más útil. Los permisos correctos varían un poco de un sitio a otro, pero generalmente los siguientes comandos hacen lo correcto:

  • cd /home/newusername
  • chown -R username.group .
  • chmod -R go=u,go-w .
  • chmod go= .

Establece la contraseña con passwd.

Después de establecer la contraseña en el último paso, la cuenta funcionará. No debe configurarlo hasta que se haya hecho todo lo demás, de lo contrario, el usuario puede iniciar sesión inadvertidamente mientras todavía está copiando los archivos.

Ramesh
fuente
no :debería usarse en lugar de .separar el nombre de usuario del grupo?
pqnet
@pqnet sí, uso :.
joni
tnx @Ramesh para esta pregunta y materiales.
Karthik Nedunchezhiyan