Il s’agit d’un article fonctionnel et peu théorique. Dans cet article, vous apprendrez à déplacer le dossier HomeDirectory d’un utilisateur sur une autre partition. Attention, il ne s’agit pas de déporter le HomeDirectory d’un utilisateur sur un volume distant. Sur ce point, un dossier made in Cupertino est disponible sur le site d’Apple.
Pour commencer, mettons nous d’accord sur les termes : « Home Directory », « Répertoire de départ de l’utilisateur », « Dossier utilisateur », tous désignent dans cet article le dossier de l’utilisateur toto « /Users/toto ». On notera également que /Partition2/ est le point de montage du volume sur lequel vous voulez mettre les comptes utilisateurs [1] . Notons également que les commandes indiquées doivent être lancées avec les droits root, par exemple en les précédant de la commande sudo.
Lorsque vous enregistrez un nouvel utilisateur sur Mac OS X, son répertoire de départ est créé automatiquement dans le dossier « /Users ». Il est parfois nécessaire de déplacer ce dernier sur une autre partition, afin de libérer de l’espace sur la partition d’origine et/ou offrir plus d’espace au répertoire de départ concerné.
Ceci se fait en deux étapes. La première consiste à déplacer le dossier utilisateur toto, la seconde à modifier l’attribut NFSHomeDirectory de l’enregistrement utilisateur toto dans la base locale de gestion des utilisateurs.
Pour ce faire, ouvrez une session en tant qu’administrateur et, comme tout bon administrateur que vous êtes, faites une sauvegarde de la base locale.
Pour les version de Mac OS X jusqu’à la 10.4.x, dans un terminal, tapez la commande suivante pour sauvegarder :
nidump -r / . > /Users/Shared/dateNidump
et pour restaurer la base, utilisez la commande niload -r / . < /Users/Shared/dateNidump
Avec Mac OS X 10.5, il vous faudra sauvegarder le dossier /var/db/dslocal/nodes/Default/ avec, par exemple, la commande tar :
tar zcf ~/Archive-dslocal.tgz /var/db/dslocal/nodes/Default/
Créez un dossier qui va accueillir le dossier de départ de toto :
mkdir /Partition2/Users2
Changez le propriétaire, le groupe et les permissions de ce nouveau dossier :
chown admin /Partition2/Users2
chgrp admin /Partition2/Users2
chmod 1775 /Partition2/Users2
Déplacez le répertoire de toto dans ce nouveau dossier :
mv /Users/toto /Partition2/Users2
Lancez la prochaine commande dscl :
Sous Mac OS X 10.4.x et précédents :
dscl localhost -change /NetInfo/Users/toto NFSHomeDirectory /Users/toto /Partition2/Users2/toto
Sous Mac OS X 10.5 :
dscl localhost -change /Local/Default/Users/toto NFSHomeDirectory /Users/toto /Partition2/Users2/toto
Et voilà ! Maintenant, vous savez comment déplacer les HomeDirectory de vos utilisateurs où bon vous semble.
[1] Vous pouvez consulter l’article La gestion des partitions de Jayce pour savoir comment définir le point de montage.
Bonjour, Je pense avoirs suivi correctement vos indications, mais je rencontre un problème dans la dernière phase d’envoi de la commande dscl ; je copie colle le contenu du terminal…
Last login : Wed Jan 26 19:04:38 on console Welcome to Darwin ! localhost : ND$ nidump -r / . > /Users/Shared/dateNidump localhost : ND$ mkdir /Data1/Utilisateurs mkdir : /Data1 : No such file or directory localhost : ND$ localhost : ND$ mkdir /Data1/NDUB mkdir : /Data1 : No such file or directory localhost : ND$ mkdir /Volumes/Data1/Utilisateurs localhost : ND$ chown admin /Volumes/Data1/Utilisateurs chown : admin : Invalid argument localhost : ND$ chown ? usage : chown [-fhv] [-R -H | -L ] owner[:group] file … chown [-fhv] [-R -H | -L ] :group file … localhost : ND$ chown admin /Volumes/Data1/Utilisateurs chown : admin : Invalid argument localhost : ND$ chgrp admin /Volumes/Data1/Utilisateurs localhost : ND$ mv /Users/ND /Volumes/Data1/Utilisateurs/ND
mv : /Users/ND/.rnd : Permission denied mv : /bin/cp : terminated with 1 (non-zero) status : Cross-device link localhost : ND$ localhost : ND$ localhost : ND$ localhost : ND$ chmod 1775 /Volumes/Data1/Utilisateurs localhost : ND$ dscl localhost -change /Local/Default/Users/ND NFSHomeDirectory /Users/ND /Volumes/Data1/Utilisateurs/ND change : Invalid Path localhost : ND$
Merci de votre attention N. Dubau
Je pense que c’est simplement un problème de droits, je reprends la phrase d’introduction : « Notons également que les commandes indiquées doivent être lancées avec les droits root, par exemple en les précédant de la commande sudo. »
Il faut donc précéder toutes les commandes par la commande sudo, ou alors, lancer une fois au début la commande « sudo -s » pour se connecter en tant que root.