Estoy tratando de entender la administración del sistema en Ubuntu. Entonces, como ejemplo, creo un usuario ficticio usando
sudo useradd -d /home/linda linda
y passwd
para crear la contraseña. Compruebo que se ha realizado una entrada utilizandocat /etc/passwd
linda:x:1004:1004::/home/linda:/bin/sh
Sin embargo, cuando su - linda
yo consigo
No directory, logging in with HOME=/
y de hecho, no se ha creado un directorio de inicio. ¿Qué me estoy perdiendo?
Gracias.
command-line
bash
users
home-directory
tchakravarty
fuente
fuente
adduser
pero aún el directorio de inicio creado solo contiene un archivoexamples.desktop
y nada más. ¿Cómo puedo hacer que Ubuntu cree las carpetas predeterminadas Escritorio, Descargas, etc.? (Estoy conectado vía ssh)adduser
tampoco creará el directorio si alguien ha cambiado CREATE_HOME en /etc/login.defs a "no". Puede anular esto con la-m
bandera.puedes arreglar esto simplemente creando el directorio de inicio.
intente iniciar sesión nuevamente y esto debería funcionar.
fuente
De acuerdo con
man useradd
, la-d /home/linda
opción no creará el directorio/home/linda
, si esto falta. Entonces, tienes que crearlo manualmente. Para hacer esto, ejecute los siguientes comandos en la terminal:Consulte también: ¿Cómo crear la carpeta de inicio del usuario después de la creación de la cuenta?
fuente
Mire
/etc/defaults/useradd
si desea cambiar los valores predeterminados. Utilizar:useradd -m -d /home/joe -s /bin/bash
.fuente
-m, --create-home Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory. useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no.
@astrojuanluTambién puede modificar
/etc/pam.d/common-session
para que se cree el directorio de inicio de un usuario en el primer inicio de sesión. Agregue la siguiente línea a ese archivo.Esto es particularmente útil si su sistema está en una red donde los usuarios son administrados externamente a su máquina, por ejemplo, LDAP.
fuente
Use en
-m
lugar de-d
, por lo que el directorio se creará para usted:sudo useradd -m linda
Además, si
linda
es un usuario normal, es posible que desee que lo use/bin/bash
por defectoshell
:sudo useradd -m linda -s /bin/bash
fuente
Agregue la entrada a continuación
/etc/login.defs
y guarde:Ahora, intente crear cuentas de usuario. Creará el directorio de inicio.
fuente
Utilizar
adduser
.useradd
tienes que agregar todas las opciones tú mismo. Incluyendo permisos y algunas otras cosas.adduser
hace esto basado en valores predeterminados sanos (y también agrega el directorio de inicio por sí mismo).Si necesita usar adduser, probablemente necesite la opción -b junto con la opción -d.
fuente
Si
/home/linda
no está presente antes de agregar linda como usuario, también debería agregar--create-home
.fuente
La razón más probable por la que usted no tiene el directorio principal creado es porque no tiene la
CREATE_HOME yes
en/etc/login.defs
.Puede solucionar esto siguiendo lo que @OmPS o @Radu Rădeanu habían sugerido.
Pero hay muchas maneras de superar este problema en el futuro utilizando uno de los siguientes comandos:
Resultado de
sudo adduser linda
Los valores predeterminados para adduser se eligen
/etc/adduser.conf
si--home
no se especifica la opción. Tenga en cuenta que también copia los/etc/skel
contenidos.Use adduser con
--home
Igual que la opción anterior, excepto que es posible que desee esto si el directorio de inicio de los usuarios es diferente al nombre de usuario que asignó.
Especifique el directorio base para
useradd
ordenar:Use login.defs: modifique
/etc/login.defs
y agregue la siguiente línea antes de hacersudo useradd
:Nota: si lo haces
man login.defs
, actualmente dicePAM maneja gran parte de la funcionalidad que solía proporcionar el conjunto de contraseñas shadow. Por lo tanto, / etc / login.defs ya no es utilizado por passwd (1), o menos utilizado por login (1), y su (1). En su lugar, consulte los archivos de configuración PAM correspondientes.
Utilice el módulo PAM pam_mkhomedir: desde la
man pam_mkhomedir
página, agregue la siguiente línea a/etc/pam.d/login
:fuente