¿Cómo hago esto? Creé un usuario sin un directorio de inicio y ahora quiero crear uno. No solo una carpeta llamada new_user, quiero el directorio de inicio predeterminado con todas sus carpetas y archivos ocultos, etc.
command-line
home-directory
Jo Rijo
fuente
fuente

su new_user: Dsudo -i -u new_userpero no funciona. Creo que necesitamos "simular un inicio de sesión X" ... no sé cómo hacerlo.Respuestas:
Use lo siguiente (como root, o con sudo si no es root):
Para que esto funcione, la carpeta
/home/usernameno debe existir.Para las carpetas relacionadas con X (escritorio, descargas, etc.), deberá iniciar sesión en un entorno gráfico; se generarán automáticamente la primera vez que inicie sesión.
fuente
ls -l /home. Descubrí que todos los demás usuarios podían leer el nuevo directorio, así que eliminé esos permisos conchmod go-r-x /home/username.Los subdirectorios (Documentos, Descargas, etc.) se crean automáticamente cuando el usuario inicia sesión por primera vez a través de GNOME, siempre que el directorio de inicio se cree con los permisos correctos. Aquí hay una demostración:
Puede verificar que el directorio de inicio del usuario esté configurado correctamente al ingresar la entrada
/etc/passwd. Debería, de forma predeterminada, ver el directorio de inicio establecido en/home/testinguser:Si no ve el directorio de inicio
/home/testinguserallí, deberá ejecutar el comandosudo usermod -d /home/testinguser testinguserpara actualizarlo, aunque no es necesario que use este comando porque debe estar configurado de manera predeterminada (de acuerdo conuseraddlas páginas de manual).Luego salí de mi cuenta y volví a iniciar sesión
testinguser, y aquí están los subdirectorios creados automáticamente:No necesitaba copiar el contenido de
/etc/skel.Si es posible, ¿puede intentar seguir estos pasos y crear otro usuario nuevo? Una vez que haya terminado, puede eliminar a este nuevo usuario
sudo deluser testinguser && sudo rm -r /home/testinguser.Si todo esto no funcionó contigo, entonces supongo que es un error.
fuente
useradd, el directorio de inicio predeterminado para el nuevo usuario no se establece automáticamente en/home/username. Entonces, primero debes estar seguro de eso.useradd: "useradd usará el directorio base especificado por la variable HOME en/etc/default/useradd, o/homepor defecto". La variable HOME en/etc/default/useraddno está definida de manera predeterminada, por lo que useradd siempre la usará/home. De todos modos, editaré mi respuesta y moveré la parte para verificar/etc/passwd./bin/shen la línea de usuario/etc/passwd, debe agregar un shell para ese usuario, por ejemplo, el shell predeterminado conusermod -s /bin/sh testuserACTUALIZACIÓN: La solución está rota y no funciona para mí también.
Si desea crear el directorio de inicio del usuario si no existe, ejecute el
useraddcomando con el-mindicador. Esto copiará todos los archivos del/etc/skeldirectorio.Es posible que deba configurar los ajustes de su sistema. Según la página del manual:
y además indica:
fuente
-mbandera al crear un nuevo usuario de todos modos, y no funcionó; solo copia los archivos de esqueleto./etc/skelno crea los subdirectorios en el directorio de inicio. Además,useradd -mse usa al crear un nuevo usuario, no cuando el usuario ya está agregado.Si creó el nuevo usuario con el
addusercomando, no necesita crear un directorio de inicio para el nuevo usuario. Se/homecreará automáticamente un directorio de inicio con el nombre del usuario en el directorio, con los siguientes subdirectorios: Escritorio, Descargas, Documentos, Música, Imágenes, Videos (y otros), para el nuevo usuario.Si creó el nuevo usuario con el
useraddcomando, ejecute los siguientes comandos en la terminal:para editar el
/etc/passwdarchivo como root (este es el paso más importante). Busque la línea con el nombre del nuevo usuario y configure el directorio de inicio predeterminado para él de la siguiente manera:En esta línea también puede agregar un nombre real para el nuevo usuario o establecer el shell predeterminado. Algo como esto:
Tenga cuidado, no haga ningún otro cambio.
Después de guardar el archivo, antes de salir de la cuenta raíz, ejecute los siguientes comandos:
Después de todo esto, la carpeta de inicio para el nuevo usuario se completará automáticamente después del primer inicio de sesión.
Consulte también: ¿Cómo crear la carpeta de inicio del usuario después de la creación de la cuenta?
fuente
/etc/passwd(si aún no está allí). Una vez que el usuario inicia sesión, la carpeta de inicio se completará automáticamente con esos subdirectorios. Sin embargo, todo esto se soluciona si alguien agrega un usuario usandoadduser, en lugar deuseradd.adduser: la carpeta de inicio se crea automáticamente. Y, de hecho, la carpeta de inicio se completará automáticamente después del primer inicio de sesión.cp /etc/skel/* /home/new_username? Además, ¿hay alguna razón por la que usa doschowncomandos consecutivos ?Todo lo que necesitas realmente es la carpeta de inicio para que funcione. Como root,
Iniciar sesión por primera vez debería crear todos los archivos necesarios, que parecen ser esos:
fuente