Je suis actuellement connecté à un serveur CentOS et je voudrais changer mon répertoire personnel de /home/myuserName/
à/var/www/html/
J'ai essayé la commande ci-dessous:
> sudo usermod -d /var/www/html myuserName
Mais cela me donne une erreur:
usermod: user myUserName is currently logged in
HOME=/var/www/html
changera pour la session votre répertoire d'origine.Réponses:
réponse courte : vous ne pouvez pas.
réponse longue :
HOME
dir est défini dans le/etc/passwd
6ème champ. Il est lu lors de la connexion, votre shell est démarré avec ce répertoire home.La bonne façon de changer le répertoire personnel de joe est:
usermod -d /new/home joe
pour changer le répertoire personnel pour la session suivante.Une fois la session exécutée, vous devez faire deux choses:
$HOME
pour changer le répertoire personnel de la session (à répéter sur toutes les sessions actives).sudo vipw
pour modifier le répertoire personnel pour la prochaine sessionSachez également que vous pourriez avoir un problème avec les autorisations / propriété sur
/var/www/html
la source
La commande usermod ne fonctionnera pas si vous êtes connecté avec l'utilisateur sur lequel vous essayez d'apporter des modifications.
À partir de la page de manuel sur usermod, il est dit:
Essayez de vous connecter avec un autre utilisateur et de réexécuter la commande.
Si ce n'est pas possible, vous pouvez éditer manuellement le fichier / etc / passwd (qui est en fait ce que fait la commande usermod). Si vous faites cela, assurez-vous de sauvegarder le fichier au cas où vous feriez par inadvertance quelque chose de stupide.
la source
Vous devez modifier le
/etc/passwd
fichier pour changer le répertoire personnel des utilisateurs actuellement connectés.Modifiez le répertoire personnel
/etc/passwd
withsudo vipw
et changez de l'utilisateur.vipw
fortement recommandé autre quevim
ou d'autres éditeurs carvipw
définira le verrouillage pour éviter toute corruption de données.la source
Quelques solutions de contournement possibles, selon ce que vous espérez résoudre:
Option 1. Ajoutez
HOME=/var/www/html
à votre .bashrcOption 2. Renommez
/home/myusername
, puis créez un lien symbolique vers le répertoire souhaité.la source
Vous ne pouvez le faire que temporairement. Cela signifie que chaque fois que vous vous connectez en tant qu'utilisateur, vous devez exécuter cette commande:
De cette façon, vous pouvez faire croire à la plupart des applications que votre répertoire personnel correspond à l'emplacement que vous utilisez ci-dessus.
~
va également commencer à pointer vers/var/www/html
.Les applications avec lesquelles cela a fonctionné pour moi étaient NPM et Maven.
la source