Estoy tratando de crear un nuevo usuario en Ubuntu 14.04 LTS desde la línea de comando bash. Yo uso los siguientes comandos:
sudo useradd -c "Samwise the Brave" sam
sudo passwd sam
Enter new UNIX password: hello-1234
Retype new UNIX password: hello-1234
passwd: password updated successfully
Después de crear este nuevo usuario, encontré 3 problemas:
No puedo iniciar sesión en Ubuntu con el usuario sam. Cada vez que inicio sesión, me devuelven a la pantalla de inicio de sesión.
Cuando miro el
/etc/passwd
archivo, puedo ver que no hay shells predeterminados definidos para el usuario sam:cat /etc/passwd | grep sam sam:x:1003:1003:Samwise the Brave:/home/sam:
La carpeta de inicio de Sam no se creó, es decir
/home/sam
, no existe.
¿Alguna pista sobre lo que podría causar todos estos problemas?
Debo señalar aquí que cuando creo un usuario usando el Centro de control de Unity, estos problemas no ocurren. Pero me gustaría poder usar la línea de comando ya que tengo docenas de usuarios para crear.
fuente
Crear usuario
Crear directorio de inicio del usuario
Definir shell de inicio de sesión
Borrar usuario
Directorio de inicio del usuario de Deleter
fuente
Si bien faltan indicadores y las otras respuestas no son necesariamente incorrectas, considere ejecutar adduser si lo desea más completo en el futuro. Es una versión más bonita de useradd. Es decir, creará un directorio de inicio de forma predeterminada a diferencia de useradd. También tenga en cuenta que cuando pide un montón de cosas, almacena esa línea en el archivo / etc / passwd y no tiene que completar nada.
fuente
Gracias a todos. Con sus respuestas, he podido solucionar el problema usando las siguientes líneas de comando.
La contraseña está configurada
passwd
para que ya esté encriptada (de lo contrario, "hello-1234" no aparecerá encriptada en / etc / passwd).fuente
Le faltan banderas en el comando useradd. '-m' para crear el directorio de usuarios, '-s / bin / bash' para agregar el shell bash. El valor predeterminado es no crear un directorio de usuarios y asignar el shell predeterminado. Mi sistema hizo lo mismo cuando lo probé, por lo que parece que ubuntu 14.04 usa blank como el shell predeterminado. No puede iniciar sesión porque no tiene shell.
Crear un directorio de inicio predeterminado para el usuario existente en la terminal (Pregunta 335961, 3ra respuesta)
Desde Ubuntu Manpage para useradd
¿Cómo se cambia el shell predeterminado para TODOS LOS USUARIOS a bash? Pregunta 335961
fuente