Me gustaría saber si hay algún comando de shell simple para cambiar el directorio de inicio del usuario en Linux / Unix (uno similar a chsh que cambia el shell de inicio de sesión predeterminado de un usuario válido existente) sin tocar el /etc/passwd
archivo. Gracias
203
/etc/passwd
archivo? ¡Tendrás que hacerlo!usermod -d /home/userxx /home/useryy
para cambiar el directorio de inicio de sesión predeterminado de Linux a / home / useryychsh
no cambia el shell de inicio de sesión predeterminado , sino solo el shell de inicio de sesión de un usuario determinado ... Para cambiar elHOME
de un usuario en particular, solo edite/etc/passwd
Respuestas:
El comentario de Ibrahim sobre la otra respuesta es la forma correcta de alterar el directorio de inicio de un usuario existente.
Cambiar el directorio de inicio del usuario:
usermod
es el comando para editar un usuario existente.-d
(abreviatura de--home
) cambiará el directorio de inicio del usuario.Cambiar el directorio de inicio del usuario + Mover el contenido del directorio actual del usuario:
-m
(abreviatura de--move-home
) moverá el contenido del directorio actual del usuario al nuevo directorio.fuente
/home/username
típicamente) se elimina./newhome/username
argumento será el directorio de inicio del usuario. Puede volver a configurarlo en su directorio de inicio anterior si sabe lo que era, pero no hay una opción de "deshacer".usermod -m -d /newhome/username username
trabajos.Desde el directorio de inicio de usuario predeterminado de Linux Change al agregar un nuevo usuario :
fuente
usermod -m -d /path/to/new/login/home/dir user
cambia el directorio de inicio del usuario existente a un nuevo directorio de inicio de sesión que se crea si aún no existe, la opción -m mueve el contenido del directorio de inicio actual al nuevo directorio de inicioLa respuesta aceptada es defectuosa, ya que los contenidos de la carpeta de usuario inicial no se mueven al usarla. Voy a agregar otra respuesta para corregirlo:
No necesita crear la carpeta con nombre de usuario y esto también moverá sus archivos de la carpeta de usuario inicial a la carpeta / newhome / username.
fuente
En caso de que otros lectores busquen información sobre el
adduser
comando.Editar
/etc/adduser.conf
Establecer
DHOME
variablefuente
Descubrimos que esto rompe algunas aplicaciones, la mejor manera de hacerlo es
Además del enlace simbólico, en las distribuciones y sistemas de archivos más recientes, como root también puede usar bind-mount:
Esto es útil para permitir el acceso "a través" del directorio / home a subdirecciones a través de demonios que de otro modo están configurados para evitar la ruta a través de enlaces simbólicos (apache, ftpd, etc.).
Tienes que recordar (o guión de inicio) para vincularte al reiniciar, por supuesto.
Un ejemplo de script de inicio en
/etc/fstab
esfuente
usermod -m -d / newhome nombre de usuario
fuente