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
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.
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.
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.
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
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.
Si d’autres lecteurs recherchent des informations sur la commande adduser
.
Éditer /etc/adduser.conf
Définir la variable DHOME
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