GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwalten Sie Linux-Benutzer und Linux-Gruppen

Linux ist, wie wir alle wissen, ein Mehrbenutzer-Betriebssystem. Wenn Sie mehrere Benutzer auf einem Desktop oder Server haben, können Sie problemlos mehrere Linux-Benutzerkonten verwalten und jedem Konto Berechtigungen erteilen.

In diesem Artikel erfahren Sie –

  • So verwalten Sie Benutzer und Gruppen auf einem Linux-System
  • Erstellen Sie ein neues Benutzerkonto in Linux
  • Benutzer zu einer Gruppe in Linux hinzufügen
  • Benutzergruppe in Linux erstellen
  • Benutzergruppe in Linux entfernen

Linux-Benutzer verwalten

Aber bevor wir diskutieren, wie man Linux-Benutzer und Linux-Gruppen verwaltet, lassen Sie mich erklären, warum es aus Sicherheitsgründen wichtig ist, ein eigenes Benutzerkonto zu haben. Viele Benutzer beginnen mit der Verwendung des Root-Kontos beim ersten Booten eines Linux-Servers, was nicht empfohlen wird.

Es ist keine gute Idee, alltägliche Serveroperationen mit einem Root-Konto auszuführen. Der Root-Benutzer ist ein Superuser-Konto. Die Anmeldung garantiert, dass der Benutzer mindestens einmal einen falschen Befehl ausführt, und der Root-Benutzer wird dies tun, meistens ohne nach einer Bestätigung zu fragen. Wenn Sie sich als Nicht-Root-Benutzer anmelden, hat der Benutzer weniger Zugriff auf das System und es ist weniger wahrscheinlich, dass er etwas Schlechtes tut.

Zweitens erleichtert das Hinzufügen von Benutzern zu einer oder mehreren Gruppen die Verwaltung mehrerer Benutzer in Linux, anstatt einzelne Benutzer zu verwalten. Damit sind wir beim Thema Linux-Benutzergruppen. Dies mag für einige Desktop-Benutzer mühsam sein, aber es ist eine nützliche Funktion für Systemadministratoren.

Linux-Benutzergruppen

Die Verwaltung mehrerer Benutzer ist eine schwierige Aufgabe für einen Systemadministrator, insbesondere wenn die Benutzer aus verschiedenen Domänen stammen. Ein Administrator möchte möglicherweise einem Benutzertyp Zugriff auf ein Verzeichnis gewähren, während er anderen Benutzertypen den Zugriff auf andere Verzeichnisse im System verweigert. Alternativ möchte ein Administrator möglicherweise mehrere Arten von Benutzern mit unterschiedlichen Berechtigungen im selben Verzeichnis haben. Dies ist unter Linux möglich, indem Sie Linux-Benutzergruppen erstellen.

Angenommen, wir besitzen eine Softwareentwicklungsfirma. Alle Projektverzeichnisse werden auf einem zentralen Server gespeichert. Wir möchten Python-Programmierern nur Zugriff auf das Python-Verzeichnis geben, das den gesamten Python-Code enthält.

Zur Demonstration erstellen wir einen neuen Benutzer namens Sandy. Sandy ist ein Python-Entwickler, der Zugriff auf das Python-Codeverzeichnis unseres Servers benötigt. Beginnen wir also damit, sein Konto zu erstellen.

Erstellen Sie einen neuen Benutzer in Linux

Das Erstellen eines neuen Benutzers in Linux ist über die GUI extrem einfach.

Zum Beispiel verwende ich Manjaro Linux (Deepin), und das Erstellen eines neuen Benutzers ist wie das Erstellen einer neuen Notiz in einer beliebigen Notizanwendung. Geben Sie einfach den Benutzernamen und das Passwort ein, und das war's.

Aber wenn Sie einen neuen Benutzer auf einem Linux-Server erstellen müssen, können die folgenden zwei Befehle die Arbeit erledigen –

  • Benutzer hinzufügen
  • adduser

Benutzer hinzufügen – Dieser Befehl ist in allen Linux-Distributionen verfügbar. Es akzeptiert verschiedene Argumente, um einen neuen Benutzer in Linux zu erstellen . Wenn er ohne Argumente ausgeführt wird, erstellt der Befehl ein Benutzerkonto ohne Home-Verzeichnis, Shell-Erweiterung usw.

Sie können jedoch die Standardoptionen in /etc/default/useradd festlegen sodass jedes Mal, wenn ein Benutzer erstellt wird, der Befehl die Standardwerte aus /etc/default/useradd übernimmt automatisch.

adduser – Ein in Perl geschriebener Befehl, der useradd verwendet im Backend. Im Gegensatz zu useradd , erfordert es nur den Benutzernamen und führt ein Setup im Terminal aus, um einen Benutzer zu erstellen. Es ist einfacher als useradd.

adduser ist nur in Ubuntu und anderen Debian-basierten Linux-Distributionen verfügbar.

Wie verwende ich useradd?

useradd -m sandy

Der obige Befehl erstellt ein Benutzerkonto mit einem Home-Verzeichnis unter /home/sandy . Legen Sie nun das Passwort für den Benutzer fest.

sudo passwd sandy

Und das ist es. Ein Benutzer wurde erstellt. Wenn Sie für den Benutzer ein anderes Home-Verzeichnis erstellen möchten, muss das -d Parameter ist dafür.

sudo useradd -d /home/james sandy

Sie können die Shell auch im Befehl useradd festlegen. Verwenden Sie einfach das -s Parameter.

sudo useradd -d /home/james -s /bin/bash sandy

Wie verwende ich adduser?

Wie oben erwähnt, adduser ist viel einfacher als useradd . Es wird nur der Benutzername benötigt. adduser stellt Fragen und setzt die Eingabewerte als Parameterwerte im useradd-Befehl.

sudo adduser sandy

Wenn Sie Ubuntu oder andere Debian-basierte Distributionen verwenden, fahren Sie mit adduser fort Befehl. Dieser Befehl wurde erstellt, um den Benutzererstellungsprozess auf Linux-Systemen zu vereinfachen.

Benutzergruppe in Linux hinzufügen

Wie oben erwähnt, ist die Verwaltung von Linux-Benutzern einfacher, wenn Sie sie zu einer oder mehreren Linux-Gruppen hinzufügen.

Wir können eine Gruppe namens „python-programmers“ erstellen, sandigen, unseren Python-Entwickler, zu dieser Gruppe hinzufügen und ihm dann Zugriff auf das Python-Verzeichnis gewähren.

groupadd python-programmer

Benutzer zu einer Gruppe in Linux hinzufügen

Fügen Sie nun sandy zur Gruppe python-programmer hinzu.

sudo usermod -aG python-programmer sandy

Gruppe zu einem Verzeichnis in Linux hinzufügen

Ändern Sie die Gruppe des Python-Verzeichnisses, das unter $HOME/Projects/Python existiert .

sudo chown -R :python-programmer $HOME/Projects/Python

Berechtigungen zum Verzeichnis hinzufügen

Fügen Sie nun dem Verzeichnis für die Gruppenbenutzer Lese- und Schreibrechte hinzu.

sudo chmod -R g+w $HOME/Projects/Python

Berechtigungen aus dem Verzeichnis entfernen

Und schließlich verbieten Sie anderen Benutzern den Zugriff auf das Python-Verzeichnis.

sudo chmod -R o-x Python

Und die Arbeit ist getan! Jetzt kann auf das Python-Verzeichnis entweder vom Root-Benutzer oder jedem Benutzer in der Gruppe „python-programmers“ zugegriffen werden.

Aber es gibt ein Problem!

Das obige Verfahren wird die Arbeit erledigen. Es wird Benutzern von Python-Programmierern Zugriff auf das Python-Verzeichnis gewähren, aber es gibt ein Problem. Der obige Ansatz erlaubt jeweils nur einer Gruppe von Benutzern den Zugriff auf das Python-Verzeichnis. Wenn Sie anderen Entwicklern Zugriff auf das Python-Verzeichnis gewähren möchten, müssen Sie der vorherigen Gruppe den Zugriff entziehen und die neue Gruppe als Verzeichniseigentümer festlegen.

Um dieses Problem zu lösen und mehreren Arten von Benutzern gleichzeitig Zugriff zu gewähren, können wir Zugriffskontrolllisten verwenden.

Zugriffskontrolllisten

Nehmen wir an, wir haben eine Gruppe von Prüfern in unserer Firma. Wir möchten den Gruppenprüfern Lesezugriff auf das Python-Verzeichnis gewähren, ohne andere Gruppen daraus zu entfernen.

setfacl -m g:auditors:rx -R $HOME/Projects/Python

Und das ist alles. Jetzt haben die Benutzer der Gruppe „python-programmers“ Lese- und Schreibzugriff, und die Benutzer der Gruppe „auditors“ haben Lesezugriff auf das Python-Verzeichnis. Wenn Sie Prüfern auch Schreibzugriff gewähren möchten, fügen Sie das w hinzu im obigen Befehl.

setfacl -m g:auditors:rwx -R $HOME/Projects/Python

Benutzer in Linux entfernen

Möglicherweise müssen Sie auch einen Benutzer in Linux entfernen. Dies kann mit userdel erfolgen Befehl.

userdel sandy
Warnung
Das Löschen eines Benutzers ist eine nicht wiederherstellbare Aktion. Stellen Sie daher sicher, dass Sie wichtige Dateien und Einstellungen sichern, bevor Sie einen Benutzer entfernen. Standardmäßig entfernt der Befehl nicht das Home-Verzeichnis des Benutzers.Hinweis
Bevor Sie einen Benutzer unter Linux entfernen, vergewissern Sie sich, dass der Benutzer keinen anderen Prozess verwendet. Andernfalls erhalten Sie die folgende Fehlermeldung –
userdel: The user sandy is being used by process 3861

Alle Prozesse eines Benutzers in Linux auflisten

ps -u sandy
Output -
  PID TTY          TIME CMD
 4831 ?        00:00:00 systemd
 4832 ?        00:00:00 (sd-pam)
 4845 ?        00:00:00 gnome-keyring-d
 4849 tty5     00:00:00 gdm-x-session
 4851 tty5     00:00:10 Xorg
 4856 ?        00:00:00 dbus-daemon
 4860 tty5     00:00:00 gnome-session-b
 4958 ?        00:00:00 ssh-agent
 4961 ?        00:00:00 gvfsd
 4966 ?        00:00:00 gvfsd-fuse
 4975 ?        00:00:00 at-spi-bus-laun
 4980 ?        00:00:00 dbus-daemon
 4983 ?        00:00:00 at-spi2-registr
 4997 ?        00:00:00 gnome-keyring-d
 5012 tty5     00:00:21 gnome-shell
 5023 ?        00:00:00 pulseaudio
 5032 tty5     00:00:00 ibus-daemon
 5034 ?        00:00:00 xdg-permission-
 5042 tty5     00:00:00 ibus-dconf
 5044 ?        00:00:00 gnome-shell-cal
 5046 tty5     00:00:00 ibus-x11
 5050 ?        00:00:00 ibus-portal
 5057 ?        00:00:00 evolution-sourc
 5066 ?        00:00:00 dconf-service
 5073 ?        00:00:00 goa-daemon
 5084 ?        00:00:00 goa-identity-se
 5094 ?        00:00:00 gvfs-udisks2-vo
 5099 ?        00:00:00 gvfs-gphoto2-vo
 5103 ?        00:00:00 gvfs-goa-volume
 5107 ?        00:00:00 gvfs-afc-volume
 5112 ?        00:00:00 gvfs-mtp-volume
 5116 tty5     00:00:00 gsd-power
 5117 tty5     00:00:00 gsd-print-notif
 5119 tty5     00:00:00 gsd-rfkill
 5121 tty5     00:00:00 gsd-screensaver
 5125 tty5     00:00:00 gsd-sharing
 5128 tty5     00:00:00 gsd-smartcard
 5130 tty5     00:00:00 gsd-xsettings
 5131 tty5     00:00:00 gsd-wacom
 5139 tty5     00:00:00 gsd-sound
 5144 tty5     00:00:00 gsd-a11y-settin
 5147 tty5     00:00:00 gsd-color
 5150 tty5     00:00:00 gsd-clipboard
 5154 tty5     00:00:00 gsd-housekeepin
 5155 tty5     00:00:00 gsd-datetime
 5160 tty5     00:00:00 gsd-media-keys
 5162 tty5     00:00:00 gsd-keyboard
 5164 tty5     00:00:00 gsd-mouse
 5186 tty5     00:00:00 gsd-printer
 5217 tty5     00:00:00 gsd-disk-utilit
 5219 tty5     00:00:01 nautilus-deskto
 5232 ?        00:00:00 gvfsd-trash
 5254 ?        00:00:00 evolution-calen
 5267 ?        00:00:00 evolution-calen
 5282 ?        00:00:00 evolution-addre
 5289 ?        00:00:00 evolution-addre
 5310 tty5     00:00:00 ibus-engine-sim
 5311 ?        00:00:00 gvfsd-metadata
 5364 ?        00:00:00 gvfsd-network
 5375 ?        00:00:00 gvfsd-dnssd
 5443 tty5     00:00:00 update-notifier
 5461 tty5     00:00:02 gnome-software
 5563 ?        00:00:03 nautilus
 5951 tty5     00:00:00 deja-dup-monito

Oder es gibt einen anderen Befehl, um Benutzerprozesse in Linux aufzulisten, pgrep .

pgrep -u sandy
Output -
4831
4832
4845
4849
4851
4856
4860
4958
4961
4966
4975
4980
4983
4997
5012
5023
5032
5034
5042

Alle vom Benutzer verwendeten Prozesse beenden

killall Der Befehl beendet alle Prozesse der Benutzer.

killall -u sandy

Linux-Benutzer entfernen

Nachdem alle Prozesse des Benutzers beendet wurden, können wir den Benutzer löschen.

userdel sandy

Wie ich oben erwähnt habe, entfernt der Befehl standardmäßig nicht das Home-Verzeichnis des Benutzers. Um auch das Home-Verzeichnis des Benutzers zu entfernen, fügen Sie –-r hinzu Argument für den Befehl.

userdel -r sandy

Benutzer aus einer Gruppe in Linux entfernen

Wenn Sie einem Benutzer Rechte entziehen möchten, entfernen Sie den Benutzer aus der Gruppe.

sudo gpasswd -d sandy python-programmers

Wenn der Benutzer Mitglied der Gruppe ist, wird Folgendes ausgegeben –

Removing user sandy from group python-programmers

Entfernen Sie eine Gruppe in Linux

Wenn Sie eine Gruppe unter Linux entfernen möchten, verwenden Sie groupdel Befehl.

groupdel username

Wenn die zu löschende Gruppe die primäre Gruppe für einen der Benutzer im System ist, kann die Gruppe nicht gelöscht werden. Ändern Sie in diesem Fall die primäre Gruppe dieses Benutzers.

Prüfergruppe aus dem System löschen.

groupdel auditors

Fazit

Das ist alles dazu. Die Verwaltung von Linux-Nutzern und Linux-Gruppen ist einfach. Sobald Sie gelernt haben, wie Sie Benutzer verwalten, können Sie Ihre Dateien sicher und privat halten, ohne sich auf Bibliotheken oder Dienste von Drittanbietern verlassen zu müssen.

Wenn Sie glauben, dass ich etwas in dem Artikel übersehen habe, lassen Sie es mich bitte im Kommentarbereich unten wissen. Ich werde diesen Artikel alle drei Monate mit Ihren Vorschlägen (mit Ihrem Namen) aktualisieren.

Bitte lassen Sie mich wissen, wenn Sie eine der Anweisungen im Kommentarbereich unten nicht verstehen. Wenn Sie ein Nerd sind und einen Fehler in dem Artikel entdeckt haben, lassen Sie es mich bitte wissen, indem Sie die Kontaktseite verwenden oder unserem Discord-Server beitreten.


Linux
  1. Was ist ein Linux-Benutzer?

  2. So verwalten Sie Linux-Berechtigungen für Benutzer, Gruppen und andere

  3. Benutzer und Gruppen

  4. Benutzer in Linux auflisten - Beste Methode

  5. Linux-Benutzergruppen verwalten

So verwalten Sie Benutzer in Plesk

So listen Sie Benutzer unter Linux auf

ID-Befehl unter Linux

So listen Sie alle Benutzer in Linux auf

Wie man die Gruppen eines Linux-Benutzers kennt

So erstellen und verwalten Sie neue Benutzer unter Linux