Je voudrais savoir s'il existe une simple commande shell pour changer le répertoire personnel de l'utilisateur sous Linux / Unix (similaire à chsh qui change le shell de connexion par défaut d'un utilisateur valide existant) sans toucher au /etc/passwd
fichier. Merci
203
/etc/passwd
fichier? Vous en aurez besoin!usermod -d /home/userxx /home/useryy
pour changer le répertoire de connexion par défaut de linux en / home / useryychsh
ne changez pas le shell de connexion par défaut , mais seulement le shell de connexion d'un utilisateur donné ... Pour changer le nomHOME
d'un utilisateur particulier, il suffit de modifier/etc/passwd
Réponses:
Le commentaire d'Ibrahim sur l'autre réponse est la bonne façon de modifier le répertoire personnel d'un utilisateur existant.
Modifiez le répertoire personnel de l'utilisateur:
usermod
est la commande pour modifier un utilisateur existant.-d
(abréviation de--home
) changera le répertoire personnel de l'utilisateur.Modifier le répertoire personnel de l'utilisateur + Déplacer le contenu du répertoire actuel de l'utilisateur:
-m
(abréviation de--move-home
) déplacera le contenu du répertoire actuel de l'utilisateur vers le nouveau répertoire.la source
/home/username
généralement) est supprimé./newhome/username
argument sera le répertoire personnel de l'utilisateur. Vous pouvez le remettre dans leur répertoire personnel précédent si vous savez de quoi il s'agit, mais il n'y a pas d'option "annuler".usermod -m -d /newhome/username username
travaux.Depuis Linux, modifiez le répertoire de base de l'utilisateur par défaut lors de l'ajout d'un nouvel utilisateur :
la source
usermod -m -d /path/to/new/login/home/dir user
change le répertoire personnel de l'utilisateur existant en un nouveau répertoire de connexion qui est créé s'il n'existe pas déjà, l'option -m déplace le contenu du répertoire personnel actuel vers le nouveau répertoire personnelLa 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:
Vous n'avez pas besoin de créer le dossier avec le nom d'utilisateur et cela déplacera également vos fichiers du dossier utilisateur initial vers le dossier / newhome / username.
la source
Au cas où d'autres lecteurs chercheraient des informations sur la
adduser
commande.Éditer
/etc/adduser.conf
Définir la
DHOME
variablela source
A découvert que cela casse certaines applications, la meilleure façon de le faire est
En plus du lien symbolique, sur les distributions et les systèmes de fichiers plus récents, en tant que root, vous pouvez également utiliser bind-mount:
Ceci est utile pour permettre l'accès "via" le répertoire / home à des sous-répertoires via des démons qui sont autrement configurés pour éviter de parcourir les liens symboliques (apache, ftpd, etc.).
Vous devez vous souvenir (ou script init) de vous lier au redémarrage, bien sûr.
Un exemple de script init dans
/etc/fstab
estla source
usermod -m -d / newhome nom d'utilisateur
la source