Jakie polecenie powinienem uruchomić po wprowadzeniu zmian w pliku / etc / passwd

12

Wprowadziłem kilka zmian w pliku / etc / passwd, teraz chciałem zobaczyć, czy efekt zmian miał miejsce, czy nie. Jakie polecenie powinienem dla tego wykonać.

Na przykład po wprowadzeniu zmian w pliku / etc / ssh / ssh_config uruchamiam polecenie /etc/init.d/sshd.

Baran
źródło

Odpowiedzi:

19

Aby zweryfikować passwdodpowiedni shadowplik, użyj pwck. Aby zweryfikować groupodpowiedni gshadowplik, użyj grpck„. Zobacz strony podręcznika, aby uzyskać szczegółowe informacje o wykonywanych czynnościach.

Ręczne edytowanie /etc/passwdnajlepiej jest wykonać (jeśli w ogóle) z plikiem vipwi vipw -sdla shadowpliku. Dla /etc/groupi /etc/gshadowużyj vigri vigr -s, odpowiednio. Korzystanie z tych narzędzi zapewnia nie tylko blokadę, aby zapobiec wielu jednoczesnym aktualizacjom użytkowników, ale także oferuje sprawdzanie poprawności.

Zasadniczo zmiany hasła i plików grupowych najlepiej wykonywać przy użyciu standardu user(add|mod|del)i group(add|mod|del)narzędzi.

JRFerguson
źródło
7

Nie ma takiego polecenia do zastosowania zmian z pliku / etc / passwd.

Jeśli użytkownik, którego dane zostały zmienione, jest zalogowany, powinien po prostu ponownie się zalogować, aby zastosować zmiany. Jeśli nie, będą one dostępne natychmiast po zalogowaniu.

Wynika to z faktu, że login odczytuje szczegóły z pliku passwd podczas logowania i przechowuje go w pamięci do momentu wylogowania.

wysypka
źródło
2
„… Nie ma takiego polecenia…” w systemie Linux . Wiele innych * IX posiada takie polecenia. passedPlik jest albo skompilowany do postaci binarnej, że szybciej do procesu, albo jest utrzymywana tylko dla kompatybilności i dane muszą być przetłumaczone na język natywnej formie hasło DB OS za.
Warren Young,
2

Udało mi się wykonać update-passwdpolecenie po ręcznej edycji pliku / etc / passwd w systemach opartych na Debianie (np. Ubuntu). Wiem, że NIE jest to zamierzone użycie tego polecenia, ale działa również w tym celu. Zobacz stronę manuala, aby uzyskać więcej szczegółów: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html

W systemach opartych na Red Hat / CentOS nie znalazłem równoważnego polecenia, w tych systemach musiałem zrestartować system, aby zmiany zostały wprowadzone.

Jak ktoś już wspomniał, najlepiej nie edytować pliku / etc / passwd ręcznie. Zamiast tego używam komend useradd / userdel / usermod, gdy tylko jest to możliwe. Jedynym prawidłowym powodem edytowania plików IMO / etc / passwd i / etc / group jest to, że muszę skopiować wiele kont z innego systemu. Po dodaniu w ten sposób np. 100 kont zazwyczaj wykonuję pełny restart systemu. Ponadto podczas ręcznej edycji plików / etc / passwd i / lub / etc / groups nie możesz zapomnieć o edycji odpowiednich plików cienia.

Zoltan
źródło
1

Nie sądzę, aby istniało takie polecenie, ponieważ w pierwszej kolejności nie jest konieczne. Nie zaleca się również bezpośredniej edycji tego pliku, zamiast tego należy użyć odpowiednich poleceń, takich jak useradd i passwd

Jeśli nie jesteś przekonany, po prostu uruchom ponownie po edycji tego pliku, a wszystkie zmiany zostaną zastosowane

Hinklo
źródło
0

Nie powinieneś modyfikować /etc/passwdręcznie; użyj usermodzamiast tego

Na przykład:

Jeśli chcesz zmienić katalog osobisty użytkownika, użyj tego polecenia:

usermod --home /path/to/home/dir username
Sun Kuo
źródło
1
Czasami konieczna jest ręczna edycja pliku, ale vipwnależy go użyć.
Kusalananda
Rozumiem @ Kuusalananda
niedz. Kuo