Zobacz listę użytkowników

24

Chciałbym zobaczyć, ilu użytkowników jest w moim systemie. Jak mogę wyświetlić listę wszystkich użytkowników w systemie?

ayy lmao
źródło
2
myślę, /etc/passwdże ci pomogę.
Зелёный
5
Czy masz na myśli liczbę kont użytkowników w systemie lub ilu użytkowników jest obecnie zalogowanych?
D_Bye

Odpowiedzi:

28

Możesz uzyskać listę wszystkich użytkowników

getent passwd | cut -d':' -f1

Wybiera pierwszą kolumnę (nazwę użytkownika) systemowej bazy danych użytkowników. W przeciwieństwie do parsowania rozwiązań /etc/passwd, zadziała to niezależnie od rodzaju użytej bazy danych (tradycyjnej /etc/passwd, LDAP itp.). Pamiętaj, że ta lista obejmuje również użytkowników systemu (np. Nikt, poczta itp.).

Dokładny numer użytkownika można określić w następujący sposób:

getent passwd | wc -l

Listę aktualnie zalogowanych użytkowników można uzyskać za pomocą polecenia userslub who:

users  # or
who
Marco
źródło
Dlaczego nie użyć, getent passwdaby uzyskać bieżącą listę użytkowników, w tym użytkowników znalezionych za pośrednictwem LDAP itp.? Ponadto, wc -lbyłoby o wiele krótszy sposób policzyć linie /etc/passwd(lub wyjście getent passwd, dla tej sprawy).
n.
@ n.st Rzeczywiście tak jest lepiej. Uwzględniłem zmianę w mojej odpowiedzi. Dzięki.
Marco
To niekoniecznie wyświetli listę wszystkich użytkowników. Niektórych baz danych użytkowników można uczynić
niepoliczalnymi
3

Może po prostu jesteś plik lub użytkowanie,cat/etc/passwd

awk -F':' '{ print $1}' /etc/passwd

Aby wyciąć pierwsze pole tego samego pliku, wyświetli listę oczekiwanych nazw. Dodatkowo, w whoi fingerpomogłoby ci z tym, kto jest zalogowany, z których lokalizacji / tty i szczegóły ich aktywności.

Keyshov Borate
źródło
1

To działa:

sed 's/:.*//g' /etc/passwd
Wyświetlana nazwa
źródło
Możesz także usunąć flagę globalną, jeśli chcesz.
DisplayName