web-dev-qa-db-fra.com

Commande pour changer le répertoire de base par défaut d'un utilisateur

Je voudrais savoir s’il existe une simple commande Shell pour changer le répertoire de base de l’utilisateur sous Linux/Unix (similaire à chsh qui modifie le shell de connexion par défaut d’un utilisateur valide existant) sans toucher au /etc/passwd fichier. Merci

177
Ibrahim Quraish

Le commentaire d'Ibrahim sur l'autre réponse est la bonne façon de modifier le répertoire de base d'un utilisateur existant.

Changer le répertoire de base de l'utilisateur:

usermod -d /newhome/username username

usermod est la commande permettant de modifier un utilisateur existant.
-d (abréviation de --home) modifiera le répertoire de base de l'utilisateur.

Changer le répertoire de base de l'utilisateur + Déplacer le contenu du répertoire actuel de l'utilisateur:

usermod -d -m /newhome/username username

-m (abréviation de --move-home) déplacera le contenu du répertoire actuel de l'utilisateur vers le nouveau répertoire.

309
STW

De répertoire de base de l'utilisateur Linux par défaut lors de l'ajout d'un nouvel utilisateur :

Ouvrez simplement ce fichier en utilisant un éditeur de texte, tapez:

vi /etc/default/useradd

Le répertoire de base par défaut défini par la variable HOME, recherchez la ligne qui se lit comme suit:

HOME=/home

Remplacer par:

HOME=/iscsi/user

Enregistrez et fermez le fichier. Vous pouvez maintenant ajouter un utilisateur en utilisant la commande useradd régulière:

# useradd vivek
# passwd vivek

Vérifier les informations utilisateur:

# finger vivek
26
Maximin

La réponse acceptée est erronée, car le contenu du dossier utilisateur initial n'est pas déplacé à l'aide de celui-ci. Je vais ajouter une autre réponse pour la corriger:

Sudo usermod -d /newhome/username -m username

Vous n'avez pas besoin de créer le dossier avec nom d'utilisateur. Cela déplacera également vos fichiers du dossier utilisateur initial vers le dossier/newhome/nom d'utilisateur.

20
Sukrit Gupta

Si d’autres lecteurs recherchent des informations sur la commande adduser.

Éditer /etc/adduser.conf

Définir la variable DHOME

4
rafaelvalle

Découvert que cela casse certaines applications, la meilleure façon de le faire est

En plus des liens symboliques, sur les distributions et les systèmes de fichiers plus récents, vous pouvez également utiliser en tant que root, bind-mount:

mkdir /home/username 
mount --bind --verbose /extra-home/username /home/username

Ceci est utile pour autoriser l'accès "via" le répertoire/home aux sous-répertoires via des démons configurés d'une autre manière pour éviter de passer par des liens symboliques (Apache, ftpd, etc.).

Vous devez vous rappeler (ou script init) pour vous lier au redémarrage, bien sûr.

Un exemple de script init dans /etc/fstab est

/extra-home/username /home/username none defaults,bind 0 0
0
Wilken