Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 1
  • 1

Problem z przeniesieniem katalogu domowego wraz z zawartością.

Po wykonaniu komendy: usermod -m -d /domowy/test test otrzymuję komunikat: nie można zmienić nazwy katalogu z /home/test na /domowy/test.

Wpis w /etc/passwd dla użytkownika 'test' zmienia się na /domowy/test jednak nowy katalog nie zostaje założony.

Po zalogowaniu się na użytkownika test:

a) W konsoli (su - test): przed znakiem prompt nie mam nazwy użytkownika lecz nazwę powłoki (bash-4.2) i komunikat "nie można zmienić katalogu na /home/test - taki katalog nie istnieje". Nie działa np mc, gdyż nie ma gdzie utworzyć swoich plików itp.

b) W powłoce graficznej po wpisaniu hasła wracam do logowania.

Jeśli założę ręcznie katalog: mkdir -pm 0777 /domowy/test to:

a) Z konsoli (su - test) loguję się na użytkownika i widzę przed prompt bash-4.2 zamiast test#, jednak nie ma już ostrzeżenia "nie można zmienić katalogu na /home/test - taki katalog nie istnieje". mc działa i wygląda, że jest ok.

b) W powłoce graficznej po zalogowaniu następuje wstępna konfiguracja profilu i też wszystko wydaje się być ok.

 

Pytanie: jak zatem powinna działać komenda usermod -m -d /nowy_katalog_domowy użytkownik?

Wydawało mi się, że powinien zostać założony nowy katalog, do niego przeniesione wszystkie pliki z dotychczasowego katalogu domowego i zmieniona ścieżka w passwd.

Testy zrobione na Centos 7 z poziomu root'a.

Zapomniałem dodać, w żadnych z powyższych przypadków pliki z /home/test nie są kopiowane do nowej lokalizacji.

 

Zbigniew_Pustuł
  • Zapytał
  • @ Zbigniew_Pustuł | 16.12.2017
    • 1
    • 0
    • 0

Odpowiedź (1)

  • 0

Z tego co mi wiadomo usermod nie ma funkcjonalności przenoszenia katalogu domowego. Trzeba przenoszenie zrealizować więc dwuetapowo - zmiana wpisu w bazie użytkowników (tutaj /etc/passwd) - tym zajmuje się komenda usermod, oraz - fizyczne przeniesienie katalogu. Czyli:

usermod -d /nowy_katalog_domowy uzytkownik
mv /stary_katalog_domowy /nowy_katalog_domowy.

Błąd przy ręcznym założeniu katalogu wynikł z faktu, iż po pierwsze - nowy katalog został założony z właścicielem root (czyli należałoby zmienić właściciela) - a po drugie - brakuje w nim plików z /etc/skel - "wzorcowych plików, które powinny znajdować się w katalogu użytkownika. Można oczywiście je skopiować i powinno działać.

W sytuacji, gdy nie jest wyłączony seLinux - prawdopodobnie należałoby jeszcze dodać regułę mówiącą, że nowy katalog domowy jest katalogiem domowym (czyli user_home_t).

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 26.12.2017
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169