Articles

Jak stworzyć listę użytkowników w CentOS

Systemy operacyjne oparte na Linuksie takie jak CentOS są zaprojektowane do pracy z masową ilością użytkowników w tym samym czasie. Jeśli kiedykolwiek używałeś współdzielonego hostingu opartego na Linuksie, to mogłeś to zauważyć. Twoja nazwa użytkownika może być coś jak xyz_232323. Technicznie oznacza to, że jest wielu użytkowników i każdy z nich jest ponumerowany. Więc jako administracji systemu Linux, wiedząc, jak wymienić użytkowników na CentOS i innych dystrybucji Linuksa jest koniecznością.

W tym artykule, pokażę ci, jak wymienić użytkowników na CentOS 7. Zaczynajmy.

Dane użytkowników są przechowywane w pliku /etc/passwd w systemie operacyjnym CentOS. Jest to zwykły plik tekstowy. Można go więc odczytać za pomocą polecenia less lub cat w następujący sposób:

$ less /etc/passwd

Jak widać, wypisana jest lista wszystkich użytkowników. Informacje o pojedynczym użytkowniku przechowywane są w jednowierszowym pliku /etc/passwd. Każda linia zawiera wiele informacji o tym konkretnym użytkowniku oddzielonych dwukropkiem (:)

Linia w pliku /etc/passwd zawiera następujące informacje oddzielone dwukropkiem (:)

Username : Password : UID : GID : Dane użytkownika : Ścieżka katalogu domowego : Domyślna powłoka

Username – Nazwa użytkownika. Nie może zawierać spacji ani innych znaków specjalnych. Dozwolone są tylko znaki alfanumeryczne.

Hasło – W systemach operacyjnych opartych na Linuksie, takich jak CentOS, hasło jest przechowywane w pliku /etc/shadow. Jeśli hasło jest ustawione, x jest przechowywane w tym polu.

UID – W systemach operacyjnych opartych na Linuksie, każdy użytkownik ma alfanumeryczną nazwę lub nazwę użytkownika i numeryczny identyfikator, który jest nazywany identyfikatorem użytkownika lub UID. Dla zwykłych użytkowników, UID zaczyna się od 1000. Użytkownik root ma UID 0.

GID – W systemach operacyjnych opartych na Linuksie, każda grupa ma nazwę grupy i numeryczne ID, które jest nazywane Group ID lub GID. W Linuksie każdy użytkownik musi być członkiem przynajmniej jednej grupy. Tak więc dla każdego utworzonego użytkownika tworzona jest również grupa o tej samej nazwie co nazwa użytkownika. Użytkownik jest następnie dodawany do grupy. W tym polu dodawany jest identyfikator GID grupy podstawowej. Grupa podstawowa jest domyślną grupą użytkownika. Jeśli użytkownik jest członkiem wielu grup, może je zmienić będąc zalogowanym za pomocą polecenia newgrp. GID dla zwykłych grup zaczyna się od 1000. Jeśli twój system Linux nie jest specjalnie skonfigurowany, GID powinien być taki sam jak UID. Grupa root ma GID 0.

Dane użytkownika – To pole przechowuje pełną nazwę i inne informacje osobiste o użytkowniku jako listę oddzieloną przecinkami. Najczęstszym zastosowaniem tego pola jest ustawienie pełnej nazwy użytkownika. Po prostu wpisz tutaj pełną nazwę użytkownika i powinno być ustawione.

Ścieżka katalogu domowego – To pole przechowuje ścieżkę do katalogu, w którym będą przechowywane wszystkie pliki użytkownika. Zmienna powłoki $HOME jest ustawiana z tego pola.

Default Shell – W systemach operacyjnych opartych na Linuksie, musisz mieć ustawioną powłokę dla swojego użytkownika. Domyślnie, powłoka sh (/bin/sh) i bash (/bin/bash) powinny być ustawione dla zwykłych użytkowników, którzy są w stanie zalogować się do systemu. Istnieją jednak inne powłoki, takie jak zsh, csh itp. Użytkownicy systemowi mają ustawioną powłokę /sbin/nologin, więc nie będą mogli się zalogować do systemu. Jeśli chcesz wyłączyć logowanie dla niektórych użytkowników, po prostu ustaw to pole dla tych użytkowników na /sbin/nologin.

Możesz uzyskać te same informacje, które znajdują się w pliku /etc/passwd za pomocą następującego polecenia:

$ getent passwd

Wyjście polecenia getent password:

Wyodrębnianie tylko listy username z pliku /etc/passwd:

Plik /etc/passwd zawiera wiele informacji. Jeśli chcesz wyodrębnić tylko nazwę użytkownika z listy rozdzielonej dwukropkami(:), możesz użyć do tego polecenia awk lub cut.

Możesz uruchomić następujące polecenie, aby wyodrębnić nazwę logowania lub nazwę użytkownika za pomocą polecenia cut:

$ cut -d: -f1 /etc/passwd

Or

$ getent passwd | cut -d: -f1

Jak widać, wszystkie nazwy użytkowników zostały wyodrębnione.

To samo można zrobić za pomocą awk w następujący sposób:

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

Albo,

$ getent passwd | awk -F: '{print $1}'

Jak widać, otrzymuję to samo wyjście.

Listowanie użytkowników, którzy mogą się zalogować do systemu:

Jeśli chcesz wyświetlić listę wszystkich użytkowników, którzy mogą się zalogować do systemu operacyjnego CentOS, wykonaj następujące polecenie:

$ getent passwd | egrep -v '/s?bin/(nologin|shutdown|sync|halt)' | cut -d: -f1

Jak widać, tylko 4 użytkowników mojej maszyny CentOS jest w stanie się zalogować, a pozostali użytkownicy są użytkownikami systemowymi. Nie mogą zalogować się do systemu.

Więc tak wygląda lista użytkowników na CentOS. Dzięki za przeczytanie tego artykułu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *