Czy istnieje przyjazne dla użytkownika polecenie, którego można użyć do wyświetlenia listy użytkowników konsoli w systemie Ubuntu?
Kiedy cat /etc/passwd
otrzymuję trudną do odczytania listę użytkowników. Byłoby miło zobaczyć listę alfabetyczną z wpisami ułożonymi w kolumny i nazwami grup w nawiasach obok identyfikatorów grup.
command-line
users
M. Dudley
źródło
źródło
cut
. W przypadku alfabetu istniejesort
. Jeśli potrzebujesz nazw grup, graj z łączeniem (które może być w stanie pokazać tylko podzbiór kolumn, btw).Odpowiedzi:
Dobry sposób na dobre wyjście pliku / etc / passwd:
Teraz możesz to posortować:
Z nazwami grup w ostatniej kolumnie (bez nawiasów):
źródło
n
opcja.column -ts: /etc/passwd
działało dobrze.Jeśli masz dostęp do roota na komputerze, możesz wykonać następujące czynności:
Jak to działa
Zostań rootem, aby odczytać plik cienia. Wymagane są uprawnienia roota tylko wtedy, gdy chcesz sprawdzić, czy użytkownik ma ustawione hasło (użytkownik), w przeciwnym razie możesz
cat /etc/passwd
zamiastsudo grep ...
:Pokaż tylko użytkowników, którzy mają ustawione hasło:
Sortuj według nazwy użytkownika:
Odrzuć wszystkie informacje oprócz nazwy użytkownika:
Iteruj przez nazwy użytkowników i wzbogacaj je o informacje grupowe:
Sformatuj dane wejściowe w kolumnach:
Użyj vi, aby wyświetlić wynik:
Jeśli nie masz dostępu do konta root,
spróbuj czegoś takiego:
Jego wyniki są nieco inne, ale pozostawiam to jako ćwiczenie dla czytelnika, aby połączyć dwie części w tej odpowiedzi w coś, co w pełni pasuje do zadania. (Czy po prostu nie kochasz
sed
?)źródło
W Ubuntu może wyglądać następująco:
siedem pól z / etc / passwd zapisanych w $ f1, f2 ..., $ f7
źródło
Coś, co robię i działa dla moich celów, jest
To prawda, że tak naprawdę nie daje to listy użytkowników, a raczej katalogów domowych użytkownika i wcześniejszych katalogów użytkownika, ale każde polecenie, które chcesz wykonać na nieistniejącym terminalu, powie ci i może być wskazówką do usunięcia plik domowy, który nie ma użytkownika ani go nie przenosi!
źródło
Myślałem, że będzie to łatwe
join
, alejoin
wymaga sortowania plików w polu łączenia . Wymagało to (?) Obejścia z plikami tymczasowymi. Dane wyjściowe są sortowane według użytkownika i wyświetlają identyfikator użytkownika, grupy i grupy.Przetłumacz znak na inny za pomocą
tr
;sort
zgodnie z kluczowym polem z-k
, wyjście do pliku z-o
; połącz w odniesieniu do pól w pierwszym (-1
) i drugim (-2
) pliku, wypisz pewne pola w pierwszym pliku (-o 1.1
), a także w drugim (,2.1,2.3
).źródło
/tmp
byłoby lepiej, ponieważ FHS stwierdza, że/var/tmp
nie zostaną usunięte przy ponownym uruchomieniu, których tak naprawdę nie potrzebujemy.