Obecnie jestem zalogowany na serwerze CentOS i chciałbym zmienić swój katalog domowy z /home/myuserName/
na/var/www/html/
Wypróbowałem poniższe polecenie:
> sudo usermod -d /var/www/html myuserName
Ale to daje mi błąd:
usermod: user myUserName is currently logged in
HOME=/var/www/html
zmieni na sesję twój domowy reż.Odpowiedzi:
krótka odpowiedź : nie możesz.
długa odpowiedź :
HOME
reż jest ustawiony na/etc/passwd
6 polu. Jest on odczytywany po zalogowaniu, twoja powłoka jest uruchamiana z tym katalogiem domowym.Właściwy sposób zmiany katalogu domowego dla Joe to:
usermod -d /new/home joe
do zmiany katalogu domowego dla następnej sesji.Po uruchomieniu sesji musisz wykonać dwie czynności:
$HOME
aby zmienić katalog główny sesji (powtarzany we wszystkich aktywnych sesjach).sudo vipw
do edycji katalogu domowego dla następnej sesjiPamiętaj też, że możesz mieć problem z uprawnieniami / własnością na
/var/www/html
źródło
Polecenie usermod nie będzie działać, jeśli jesteś zalogowany z użytkownikiem, którego próbujesz wprowadzić zmiany.
Na stronie podręcznika na usermod jest napisane:
Spróbuj zalogować się z innym użytkownikiem i ponownie uruchomić komendę.
Jeśli nie jest to możliwe, możesz ręcznie edytować plik / etc / passwd (co faktycznie robi komenda usermod). Jeśli to zrobisz, pamiętaj o utworzeniu kopii zapasowej pliku na wypadek, gdybyś przypadkowo zrobił coś głupiego.
źródło
Musisz edytować
/etc/passwd
plik, aby zmienić katalog domowy użytkowników, którzy są aktualnie zalogowani.Edytuj za
/etc/passwd
pomocąsudo vipw
i zmień katalog domowy użytkownika.vipw
wysoce zalecane inne niżvim
lub inne edytory, ponieważvipw
ustawią blokadę, aby zapobiec uszkodzeniu danych.źródło
Kilka możliwych obejść, w zależności od tego, co chcesz rozwiązać:
Opcja 1. Dodaj
HOME=/var/www/html
do .bashrcOpcja 2. Zmień nazwę,
/home/myusername
a następnie utwórz dowiązanie symboliczne do żądanego katalogu.źródło
Możesz to zrobić tylko tymczasowo. Oznacza to, że za każdym razem, gdy logujesz się jako ten użytkownik, musisz uruchomić jedno polecenie:
W ten sposób możesz sprawić, że większość aplikacji będzie myśleć, że katalog domowy to dowolna lokalizacja, której używasz powyżej.
~
zacznie również wskazywać/var/www/html
.Aplikacje, z którymi to działało, to NPM i Maven.
źródło