Jak mam to zrobic? Utworzyłem użytkownika bez katalogu domowego i teraz chcę go utworzyć. Nie tylko folder o nazwie new_user, chcę domyślny katalog domowy ze wszystkimi jego folderami i ukrytymi plikami itp.
command-line
home-directory
Jo Rijo
źródło
źródło
su new_user
: Dsudo -i -u new_user
ale to nie działa. Myślę, że musimy „symulować logowanie X” ... nie wiem, jak to zrobić.Odpowiedzi:
Użyj następujących poleceń (jako root lub z sudo, jeśli nie root):
Aby to zadziałało, folder
/home/username
nie może istnieć.W przypadku folderów związanych z X (pulpit, pliki do pobrania itp.) Konieczne będzie zalogowanie się w środowisku graficznym; będą generowane automatycznie przy pierwszym logowaniu.
źródło
ls -l /home
. Odkryłem, że nowy katalog jest czytelny dla wszystkich innych użytkowników, więc usunąłem te uprawnienia za pomocąchmod go-r-x /home/username
.Podkatalogi (dokumenty, pliki do pobrania itp.) Są tworzone automatycznie, gdy użytkownik po raz pierwszy loguje się za pośrednictwem GNOME, pod warunkiem, że katalog domowy jest utworzony z odpowiednimi uprawnieniami. Oto demonstracja:
Możesz sprawdzić, czy katalog domowy użytkownika jest poprawnie ustawiony, sprawdzając wpis w
/etc/passwd
. Domyślnie powinieneś zobaczyć katalog domowy ustawiony na/home/testinguser
:Jeśli nie widzisz
/home/testinguser
tam katalogu domowego , musisz wykonać polecenie,sudo usermod -d /home/testinguser testinguser
aby go zaktualizować, chociaż nie powinieneś używać tego polecenia, ponieważ powinno ono być ustawione domyślnie (zgodnie zeuseradd
stronami podręcznika).Następnie wylogowałem się z mojego konta i zalogowałem ponownie
testinguser
, a tutaj automatycznie tworzone są podkatalogi:Nie musiałem kopiować zawartości
/etc/skel
.Jeśli to możliwe, czy możesz spróbować wykonać następujące kroki, tworząc kolejnego nowego użytkownika? Po zakończeniu możesz usunąć tego nowego użytkownika do
sudo deluser testinguser && sudo rm -r /home/testinguser
.Jeśli to wszystko nie działało z tobą, myślę, że to błąd.
źródło
useradd
, domyślny katalog domowy nowego użytkownika nie jest automatycznie ustawiony na/home/username
. Więc najpierw musisz być tego pewien.useradd
: „useradd użyje katalogu podstawowego określonego przez zmienną HOME w/etc/default/useradd
lub/home
domyślnie”. Zmienna HOME w/etc/default/useradd
nie jest domyślnie zdefiniowana, więc useradd zawsze będzie używał/home
. Tak czy inaczej, zmienię odpowiedź i przesunę część, by sprawdzić/etc/passwd
./bin/sh
w linii użytkownika/etc/passwd
, musisz dodać powłokę dla tego użytkownika, na przykład domyślną powłokę zusermod -s /bin/sh testuser
AKTUALIZACJA: Rozwiązanie jest zepsute i dla mnie też nie działa.
Jeśli chcesz utworzyć katalog domowy użytkownika, jeśli nie istnieje, uruchom
useradd
komendę z-m
flagą. Spowoduje to skopiowanie wszystkich plików z/etc/skel
katalogu.Może być konieczne skonfigurowanie ustawień dla twojego systemu. Według strony podręcznika:
i ponadto wskazuje:
źródło
-m
flagę podczas tworzenia nowego użytkownika i nie działała; kopiuje tylko pliki szkieletu./etc/skel
nie powoduje utworzenia podkatalogów w katalogu domowym. Jest równieżuseradd -m
używany podczas tworzenia nowego użytkownika, a nie wtedy, gdy użytkownik jest już dodany.Jeśli utworzyłeś nowego użytkownika za pomocą
adduser
polecenia, nie musisz tworzyć katalogu domowego dla nowego użytkownika. Katalog domowy o nazwie z nazwą użytkownika w/home
katalogu, zawierający następujące podkatalogi: Pulpit, Pobieranie, Dokumenty, Muzyka, Zdjęcia, Wideo (i inne), dla nowego użytkownika zostanie utworzony automatycznie.Jeśli utworzyłeś nowego użytkownika za pomocą
useradd
polecenia, uruchom następujące polecenia w terminalu:edytować
/etc/passwd
plik jako root (jest to najważniejszy krok). Znajdź wiersz z nazwą nowego użytkownika i ustaw dla niego domyślny katalog domowy:W tym wierszu możesz także dodać prawdziwą nazwę dla nowego użytkownika lub ustawić domyślną powłokę. Coś takiego:
Uważaj, nie wprowadzaj żadnych innych zmian.
Po zapisaniu pliku, aby wyjść z konta root, uruchom następujące polecenia:
Po wykonaniu wszystkich tych czynności folder domowy nowego użytkownika zostanie automatycznie zapełniony po pierwszym zalogowaniu.
Zobacz także: Jak utworzyć folder domowy użytkownika po utworzeniu konta?
źródło
/etc/passwd
(jeśli jeszcze go nie ma). Gdy użytkownik się zaloguje, folder domowy zostanie automatycznie zapełniony tymi podkatalogami. Jednak wszystko to jest załatwione, gdy ktoś dodaje użytkownikaadduser
, zamiastuseradd
.adduser
: folder domowy jest tworzony automatycznie. I rzeczywiście, folder domowy zostanie automatycznie zapełniony po pierwszym zalogowaniu.cp /etc/skel/* /home/new_username
? Czy jest też powód, dla którego używasz dwóch kolejnychchown
poleceń?Wszystko, czego naprawdę potrzebujesz, to folder domowy, aby działał. Jako root
Logując się po raz pierwszy, należy utworzyć wszystkie niezbędne pliki, które wydają się być tymi:
źródło