Potrzebuję polecenia, aby wyświetlić listę wszystkich użytkowników terminalu. I jak dodawać, usuwać, modyfikować użytkowników z terminala.
Może to pomóc w łatwym administrowaniu kontami przez terminal.
Potrzebuję polecenia, aby wyświetlić listę wszystkich użytkowników terminalu. I jak dodawać, usuwać, modyfikować użytkowników z terminala.
Może to pomóc w łatwym administrowaniu kontami przez terminal.
sed 's/:.*//' /etc/passwd
awk -F: '{ print $1 }' /etc/passwd
Odpowiedzi:
Notować
Aby wyświetlić listę wszystkich lokalnych użytkowników, możesz użyć:
Aby wyświetlić listę wszystkich użytkowników zdolnych do uwierzytelnienia (w pewien sposób), w tym nielokalnych, zobacz tę odpowiedź .
Niektóre bardziej przydatne polecenia zarządzania użytkownikami (również ograniczone do użytkowników lokalnych ):
Dodać
Aby dodać nowego użytkownika, możesz użyć:
lub:
Zobacz także: Jaka jest różnica między adduser a useradd?
Aby usunąć / usunąć
Aby usunąć / usunąć użytkownika, najpierw możesz użyć:
Następnie możesz usunąć katalog domowy usuniętego konta użytkownika:
Należy ostrożnie używać powyższego polecenia!
Modyfikować
Aby zmodyfikować nazwę użytkownika:
Aby zmienić hasło użytkownika:
Aby zmienić powłokę dla użytkownika:
Aby zmienić dane użytkownika (na przykład prawdziwe imię):
Aby dodać użytkownika do
sudo
grupy:lub
I, oczywiście, patrz również:
man adduser
,man useradd
,man userdel
... i tak dalej.źródło
sudo chfn <username>
które zmiany danych użytkownika (na przykład prawdziwe nazwisko). Próbowałem dodać to jako komentarz, ale dostałem błąd, mówiąc mi, że muszę mieć reputację +50, aby to zrobić.Wystarczy nacisnąć Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Kiedy się otworzy, uruchom poniższe polecenia:
LUB
Możesz także użyć awk: awk
źródło
adduser
zamiast tego z wiersza poleceńuseradd
należy ograniczyć się do skryptów, w których autor naprawdę wie, co robi.Najłatwiejszym sposobem na uzyskanie tego rodzaju informacji jest
getent
- patrz instrukcja dlagetent
polecenia . Chociaż polecenie to daje takie same wyniki, jakcat /etc/passwd
warto pamiętać, ponieważ daje listę kilku elementów w systemie operacyjnym.Aby uzyskać listę wszystkich wpisywanych użytkowników (jako użytkowników wymienionych na liście
/etc/passwd
)Aby dodać użytkownika newuser do systemu, wpisz
aby utworzyć użytkownika, który zastosuje wszystkie ustawienia domyślne.
Bonus: dodanie dowolnego użytkownika (na przykład anyuser ) do grupy (na przykład CD-ROM ) typ
Usuwasz użytkownika (na przykład przestarzałego ) za pomocą
Jeśli chcesz również usunąć jego katalog domowy / maile, wpisz
I
usunie użytkownika i wszystkie pliki należące do tego użytkownika w całym systemie.
źródło
getent passwd
ponieważ jest właściwym poleceniemMożesz także użyć
compgen
wbudowanego GNU bash :Wyświetla listę wszystkich użytkowników.
źródło
Powinno to uzyskać w większości normalnych sytuacji wszystkich normalnych użytkowników (niesystemowych, nie dziwnych itp.):
Działa to przez:
/etc/passwd
:
jako separatoraWynika to z faktu, że w wielu systemach Linux nazwy użytkowników powyżej 1000 są zarezerwowane dla nieuprzywilejowanych (można by powiedzieć, zwykłych) użytkowników. Kilka informacji na ten temat tutaj :
źródło
getent
zamiast czytać prosto/etc/passwd
i wyszukiwaćUID_MIN
/UID_MAX
zamiast kodować wartości:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
lista wszystkich użytkowników, którzy mogą się zalogować (brak użytkowników systemu, takich jak: bin, deamon, mail, sys itp.)
dodaj nowego użytkownika
lub
usuń / usuń nazwę użytkownika
Jeśli chcesz usunąć katalog domowy (domyślnie katalog / home / nazwa użytkownika)
lub
Jeśli chcesz usunąć wszystkie pliki z systemu od tego użytkownika (nie tylko katalog domowy)
źródło
adduser
iuseradd
. Dodaj takżesudo
-prefiks do pierwszego polecenia. Plik cienia hasła można odczytać tylko jako root.awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
pokazał mi wszystkich użytkowników, w tym bin, demona itp., i rzucił to ostrzeżenie: sekwencja ucieczki\$' treated as plain
$ 'Znalazłem ten post stackoverflow.com/a/25867768/847954 i dodałem jeszcze jeden odwrotny ukośnik i działało dobrze:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
Ok, oto sztuczka, która pomoże ci to posortować. Terminal ma funkcję autouzupełniania, jeśli wpiszesz użytkownika i naciśniesz klawisz Tab dwa razy, wyświetli wszystkie polecenia istniejące dla użytkownika jako pierwsze 4 znaki.
daje mi jak to możliwe opcje useradd userdel usermod users users-admin,
jeśli chcesz dowiedzieć się więcej o poleceniu google it lub wpisać man man useradd daje useradd - utwórz nowego użytkownika lub zaktualizuj domyślne informacje o nowym użytkowniku ... ...
aby wymienić użytkowników, powinieneś iść z tym, co powiedział Mitch.
Nadzieja, która pomaga mi uwielbiać uzupełnianie kart w bash, ratuje mnie przed zapamiętywaniem rzeczy.
źródło
Aby znaleźć użytkowników, którzy mają katalogi domowe w folderze / home na komputerze, uruchom następujące polecenia
Następnie możesz zobaczyć użytkowników, którzy mają uprawnienia do zalogowania się na serwerze. Jeśli chcemy przejrzeć pliki użytkowników, musisz być użytkownikiem root.
źródło
/home
. Chociaż Ubuntu domyślnie umieszcza tam katalogi użytkowników, nie jest to w żaden sposób obowiązkowe.ls /home
może również zawierać katalogi użytkowników usuniętych.