Unter Linux ist dies vollständig erreichbar. Zunächst müssen Sie jedoch verstehen, wie Sie Benutzer über Benutzergruppen und Zugriffskontrolllisten (ACLs) verwalten.
Wir beginnen mit einfachen Benutzern und arbeiten uns bis zu komplexen Zugriffskontrolllisten (ACLs) vor. Sie können alles, was Sie tun müssen, in der Linux-Distribution Ihrer Wahl erledigen. Der Schwerpunkt dieses Artikels liegt auf Benutzergruppen, daher werden grundlegende Kenntnisse über Benutzer nicht behandelt.
Zu Demonstrationszwecken gehe ich davon aus:
Sie müssen zwei neue Benutzer mit den folgenden zwei Benutzernamen erstellen:
Sie müssen die folgenden zwei Benutzergruppen erstellen:
olivia gehört zur Redaktionsgruppe und Nathan gehört zur Lesergruppe. Die Benutzergruppe „Leser“ hat nur Leseberechtigungen für das Verzeichnis /DATA, während die Benutzergruppe „Editoren“ sowohl Lese- als auch Schreibberechtigungen für das Verzeichnis /DATA hat. Zugegeben, das ist eine sehr kleine Aufgabe, aber sie liefert Ihnen die grundlegenden Informationen und Sie können diese Aufgabe erweitern, um sie an Ihre anderen, größeren Bedürfnisse anzupassen.
Ich werde die Demonstration auf der Ubuntu 16.04 Server-Plattform durchführen. Diese Befehle sind üblich. Der einzige Unterschied besteht darin, dass Sie, wenn Sie den Befehl sudo in Ihrer Distribution nicht verwenden, zum Root-Benutzer wechseln müssen, um diese Befehle auszuführen.
Als erstes müssen wir zwei Benutzer für unser Experiment erstellen. Sie können den Befehl useradd verwenden, um Benutzer zu erstellen. Wir erstellen nicht nur einfach einen Benutzer, sondern müssen auch Benutzer und ihre Home-Verzeichnisse erstellen und dann Passwörter für sie festlegen.
sudo useradd -m olivia sudo useradd -m nathan
Wir haben jetzt zwei Benutzer erstellt, und wenn Sie im /home-Verzeichnis nachsehen, können Sie deren Home-Verzeichnisse finden (da wir die Option -m verwendet haben, können wir ihre Home-Verzeichnisse gleichzeitig mit der Erstellung des Benutzers erstellen.
Danach können wir mit dem folgenden Befehl ein Passwort für sie festlegen:
sudo passwd olivia sudo passwd nathan
Das war's, wir haben zwei Benutzer erstellt.
Jetzt erstellen wir die Benutzergruppen „Leser“ und „Redakteure“ und fügen ihnen dann Benutzer hinzu. Der Befehl zum Erstellen einer Benutzergruppe lautet:
addgroup readers addgroup editors
(LCTT-Übersetzung: Wenn Sie einige Linux-Distributionen wie CentOS verwenden, verfügt das System möglicherweise nicht über den Befehl addgroup. Es wird empfohlen, den Befehl addgroup durch den Befehl groupadd zu ersetzen, um den gleichen Effekt zu erzielen)
Abbildung 1: Wir können die neue Benutzergruppe verwenden, die wir gerade erstellt haben.
Nachdem wir die Benutzergruppen erstellt haben, müssen wir unsere Benutzer diesen beiden Benutzergruppen hinzufügen. Wir verwenden den folgenden Befehl, um den Benutzer nathan zur Benutzergruppe der Leser hinzuzufügen:
sudo usermod -a -G readers nathan
Fügen Sie Olivia mit dem folgenden Befehl zur Editorengruppe hinzu:
sudo usermod -a -G editors olivia
Jetzt können wir Benutzer über Benutzergruppen verwalten.
Angenommen, Sie haben ein Verzeichnis /READERS und erlauben allen Mitgliedern der Lesergruppe den Zugriff auf dieses Verzeichnis. Zuerst führen wir den folgenden Befehl aus, um die Benutzergruppe zu ändern, zu der das Verzeichnis gehört:
sudo chown -R :readers /READERS
Führen Sie als Nächstes den folgenden Befehl aus, um der Benutzergruppe, zu der das Verzeichnis gehört, die Schreibrechte zu entziehen:
sudo chmod -R g-w /READERS
Dann führen wir den folgenden Befehl aus, um anderen Benutzern die Zugriffsrechte auf dieses Verzeichnis zu entziehen (um zu verhindern, dass Benutzer, die nicht zur Lesergruppe gehören, auf Dateien in diesem Verzeichnis zugreifen):
sudo chmod -R o-x /READERS
Derzeit können nur der Besitzer des Verzeichnisses (Root) und Benutzer in der Benutzergruppe Leser auf die Dateien in /READES zugreifen.
Angenommen, Sie haben ein Verzeichnis /EDITORS. Sie müssen Mitgliedern der Benutzergruppe Editoren Lese- und Schreibberechtigungen für dieses Verzeichnis erteilen. Um diesen Zweck zu erreichen, ist es notwendig, die folgenden Befehle auszuführen:
sudo chown -R :editors /EDITORS sudo chmod -R g+w /EDITORS sudo chmod -R o-x /EDITORS
Zu diesem Zeitpunkt können alle Mitglieder der Benutzergruppe „Editoren“ auf die darin enthaltenen Dateien zugreifen und diese ändern. Andernfalls kann kein anderer Benutzer (außer Root) auf Dateien in /EDITORS zugreifen.
Das Problem bei dieser Methode besteht darin, dass Sie jeweils nur eine Gruppe und ein Verzeichnis bedienen können. Hier kommen Zugriffskontrolllisten (ACLs) zum Einsatz.
现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。
这个命令的结构如下:
setfacl OPTION X:NAME:Y /DIRECTORY
其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:
sudo setfacl -m g:readers:rx -R /DATA
现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。
为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:
sudo setfacl -m g:editors:rwx -R /DATA
上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。
使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:
Das obige ist der detaillierte Inhalt vonVerwalten Sie Benutzer über Benutzergruppen in Linux-Systemen!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!