Est-il possible de redéfinir le répertoire personnel ? par exemple vers /ext1/username
au lieu de /home/username
, c'est-à-dire en développant le ~
vers un autre répertoire (au lieu de changer le répertoire personnel réel où se trouvent les fichiers personnels des utilisateurs).
(Cette question est principalement académique, car cela semble être une mauvaise pratique. Je n'ai pas non plus le choix d'utiliser csh
, malgré la lecture du Top 10.)
Réponse acceptée :
Le tilde ~
est interprété par votre shell. Votre shell interprétera ~
sous forme abrégée de $HOME
.
Essayez (echo ~; HOME=foo; echo ~)
. Cela devrait d'abord imprimer votre vrai répertoire personnel et ensuite "foo", lorsque vous définissez $HOME
à cela.
La valeur par défaut de $HOME
vient de votre configuration système. Utilisez getent passwd
pour répertorier tous les utilisateurs connus et leurs répertoires personnels. Selon la configuration de votre système, ces entrées peuvent provenir de /etc/passwd
ou tout service d'annuaire distant.
Si vous souhaitez uniquement redéfinir temporairement votre répertoire personnel, définissez simplement un autre $HOME
.
Si vous souhaitez le modifier de manière permanente, vous devez modifier l'entrée passwd, par ex. en éditant manuellement /etc/passwd
.