Estoy tratando de entender la administración del sistema en Ubuntu. Entonces, como ejemplo, creo un usuario ficticio usando
sudo useradd -d /home/linda linday passwdpara crear la contraseña. Compruebo que se ha realizado una entrada utilizandocat /etc/passwd
linda:x:1004:1004::/home/linda:/bin/shSin embargo, cuando su - lindayo 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

adduserpero aún el directorio de inicio creado solo contiene un archivoexamples.desktopy nada más. ¿Cómo puedo hacer que Ubuntu cree las carpetas predeterminadas Escritorio, Descargas, etc.? (Estoy conectado vía ssh)addusertampoco creará el directorio si alguien ha cambiado CREATE_HOME en /etc/login.defs a "no". Puede anular esto con la-mbandera.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/lindaopció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/useraddsi 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-sessionpara 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
-mlugar de-d, por lo que el directorio se creará para usted:sudo useradd -m lindaAdemás, si
lindaes un usuario normal, es posible que desee que lo use/bin/bashpor defectoshell:sudo useradd -m linda -s /bin/bashfuente
Agregue la entrada a continuación
/etc/login.defsy guarde:Ahora, intente crear cuentas de usuario. Creará el directorio de inicio.
fuente
Utilizar
adduser.useraddtienes que agregar todas las opciones tú mismo. Incluyendo permisos y algunas otras cosas.adduserhace 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/lindano 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 yesen/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 lindaLos valores predeterminados para adduser se eligen
/etc/adduser.confsi--homeno se especifica la opción. Tenga en cuenta que también copia los/etc/skelcontenidos.Use adduser con
--homeIgual 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
useraddordenar:Use login.defs: modifique
/etc/login.defsy 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_mkhomedirpágina, agregue la siguiente línea a/etc/pam.d/login:fuente