Einführung
In diesem Lab erwerben Sie grundlegende Fähigkeiten im Management lokaler Benutzer und Gruppen innerhalb einer Red Hat Enterprise Linux (RHEL)-Umgebung. Sie beginnen mit dem Verständnis grundlegender Benutzer- und Gruppenkonzepte, einschließlich der Identifizierung von Benutzer- und Gruppeninformationen sowie der Dateieigentümerschaft.
Anschließend lernen Sie, wie Sie Superuser-Zugriff erhalten, lokale Benutzerkonten erstellen und modifizieren, lokale Gruppenkonten verwalten und Benutzer-Passwortrichtlinien konfigurieren. Diese praktische Erfahrung vermittelt Ihnen das Wissen, um den Zugriff und die Berechtigungen auf Ihrem Linux-System effektiv zu steuern.
Benutzer- und Gruppenkonzepte verstehen
In diesem Schritt lernen Sie grundlegende Benutzer- und Gruppenkonzepte in Red Hat Enterprise Linux (RHEL) kennen und wie Sie verschiedene Befehle verwenden, um Benutzer- und Gruppeninformationen zu untersuchen. Das Verständnis dieser Konzepte ist entscheidend für die Verwaltung von Berechtigungen und die Zugriffskontrolle auf einem Linux-System.
Jede Datei und jeder Prozess auf einem Linux-System ist einem Benutzer und einer Gruppe zugeordnet. Diese Zuordnung bestimmt, wer Dateien lesen, schreiben oder ausführen kann und wer Prozesse verwalten kann.
Zuerst wollen wir untersuchen, wie man den aktuellen Benutzer und andere Benutzer auf dem System mit dem Befehl id identifiziert.
Verwenden Sie den Befehl
id, um Informationen über den aktuell angemeldeten Benutzer anzuzeigen. Dieser Befehl zeigt die Benutzer-ID (UID), die primäre Gruppen-ID (GID) und alle Gruppen an, zu denen der Benutzer gehört.idSie sollten eine Ausgabe ähnlich dieser sehen, die Ihre
labex-Benutzerinformationen anzeigt:uid=1000(labex) gid=1000(labex) groups=1000(labex),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023Um grundlegende Informationen über einen anderen Benutzer, wie z. B. den
root-Benutzer, anzuzeigen, übergeben Sie den Benutzernamen als Argument an den Befehlid.id rootDie Ausgabe zeigt die UID (0), GID (0) und Gruppen des
root-Benutzers an:uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Als Nächstes lernen Sie, wie Sie den Eigentümer von Dateien und Verzeichnissen mit dem Befehl ls identifizieren.
Verwenden Sie den Befehl
ls -l, um den Eigentümer einer Datei anzuzeigen. Erstellen Sie zuerst eine Dummy-Datei in Ihrem Verzeichnis~/project.touch ~/project/mytextfile.txt ls -l ~/project/mytextfile.txtDie Ausgabe zeigt
labexsowohl als Benutzer- als auch als Gruppeneigentümer vonmytextfile.txtan:-rw-r--r-- 1 labex labex 0 Feb 5 11:10 /home/labex/project/mytextfile.txtVerwenden Sie den Befehl
ls -ld, um den Eigentümer eines Verzeichnisses anzuzeigen, anstatt den Inhalt dieses Verzeichnisses. In der folgenden Ausgabe zeigt die dritte Spalte den Benutzernamen und die vierte Spalte den Gruppennamen.ls -ld ~/projectSie sehen
labexals Eigentümer Ihres Verzeichnisses~/project:drwxr-xr-x 2 labex labex 6 Feb 5 11:10 /home/labex/project
Nun wollen wir untersuchen, wie man Prozessinformationen und den jedem Prozess zugeordneten Benutzer mit dem Befehl ps anzeigt.
Verwenden Sie den Befehl
ps -au, um Prozesse anzuzeigen. Die Optionazeigt alle Prozesse mit einem Terminal an, und die Optionuzeigt den Benutzer an, der einem Prozess zugeordnet ist. In der folgenden Ausgabe zeigt die erste Spalte den Benutzernamen an.ps -auSie sehen verschiedene Prozesse, wobei
labexundrootals häufige Benutzer auftreten:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 10608 3808 ? Ss 00:00 0:00 /sbin/init root 42 0.0 0.0 10608 3808 ? Ss 00:00 0:00 /sbin/init labex 123 0.0 0.1 224152 5756 pts/0 Ss 00:00 0:00 -bash labex 150 0.0 0.0 225556 3652 pts/0 R+ 00:00 0:00 ps -au
Schließlich werden Sie die Dateien /etc/passwd und /etc/group untersuchen, in denen Benutzer- bzw. Gruppeninformationen gespeichert sind. Diese Dateien sind entscheidend für das Verständnis, wie Benutzer- und Gruppenkonten auf einem Linux-System definiert sind.
Jede Zeile in der Datei
/etc/passwdenthält Informationen über einen Benutzer. Die Datei ist in sieben durch Doppelpunkte getrennte Felder unterteilt. Verwenden Siecat, um ihren Inhalt anzuzeigen.cat /etc/passwdSuchen Sie den Eintrag für
labexundroot. Fürlabexsollte er so ähnlich aussehen:labex:x:1000:1000:LabEx User:/home/labex:/bin/bashLassen Sie uns jedes Feld aufschlüsseln:
labex: Der Benutzername für diesen Benutzer.x: Das verschlüsselte Passwort des Benutzers wurde historisch hier gespeichert; dies ist jetzt ein Platzhalter, da Passwörter aus Sicherheitsgründen in/etc/shadowgespeichert werden.1000: Die UID-Nummer für dieses Benutzerkonto.1000: Die GID-Nummer für die primäre Gruppe dieses Benutzerkontos.LabEx User: Ein kurzer Kommentar, eine Beschreibung oder der echte Name für diesen Benutzer./home/labex: Das Home-Verzeichnis des Benutzers und das anfängliche Arbeitsverzeichnis, wenn die Login-Shell startet./bin/bash: Das Standard-Shell-Programm für diesen Benutzer, das beim Login ausgeführt wird.
Jede Zeile in der Datei
/etc/groupenthält Informationen über eine Gruppe. Jeder Gruppeneintrag ist in vier durch Doppelpunkte getrennte Felder unterteilt. Verwenden Siecat, um ihren Inhalt anzuzeigen.cat /etc/groupSie sehen Einträge für verschiedene Systemgruppen und benutzerprivate Gruppen. Zum Beispiel könnte der
labex-Gruppeneintrag so aussehen:labex:x:1000:Lassen Sie uns jedes Feld aufschlüsseln:
labex: Name für diese Gruppe.x: Veraltetes Gruppenpasswortfeld; dies ist jetzt ein Platzhalter.1000: Die GID-Nummer für diese Gruppe.- (leer): Eine Liste der Benutzer, die Mitglieder dieser Gruppe als sekundäre Gruppe sind. Wenn dieses Feld leer ist, bedeutet dies, dass keine zusätzlichen Benutzer explizit als sekundäre Mitglieder dieser Gruppe aufgeführt sind (obwohl der primäre Benutzer
labeximplizit ein Mitglied ist).
Primäre Gruppen und sekundäre Gruppen: Jeder Benutzer hat genau eine primäre Gruppe. Für lokale Benutzer wird diese Gruppe durch GID in der Datei
/etc/passwdaufgeführt. Die primäre Gruppe besitzt Dateien, die der Benutzer erstellt. Beim Erstellen eines regulären Benutzers wird oft eine Gruppe mit demselben Namen wie der Benutzer erstellt, um die primäre Gruppe für den Benutzer zu sein. Der Benutzer ist typischerweise das einzige Mitglied dieser User Private Group. Dieses Design vereinfacht die Dateiberechtigungsverwaltung.Benutzer können auch sekundäre Gruppen haben. Die Mitgliedschaft in sekundären Gruppen wird in der Datei
/etc/groupgespeichert. Benutzern wird der Zugriff auf Dateien gewährt, basierend darauf, ob eine ihrer Gruppen Zugriff hat, unabhängig davon, ob die Gruppen primär oder sekundär sind. Wenn der Benutzerlabexbeispielsweise eine primäre Gruppelabexundwheelals sekundäre Gruppe hat, kann dieser Benutzer Dateien lesen, die eine dieser beiden Gruppen lesen kann.Der Befehl
idkann alle Gruppenmitgliedschaften für einen Benutzer anzeigen. Rufen Sie die Ausgabe vonidfürlabexauf:uid=1000(labex) gid=1000(labex) groups=1000(labex),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023Hier zeigt
gid=1000(labex)an, dasslabexdie primäre Gruppe ist.groups=1000(labex),10(wheel)listet alle Gruppenmitgliedschaften auf und zeigtlabexals primäre Gruppe undwheelals sekundäre Gruppe.
Superuser-Zugriff erlangen
In diesem Schritt lernen Sie, wie Sie Superuser-Zugriff (Root-Rechte) auf einem RHEL-System erhalten. Der Superuser-Zugriff ist unerlässlich für die Durchführung administrativer Aufgaben wie die Installation von Software, die Verwaltung von Benutzern und die Konfiguration von Systemeinstellungen. Sie werden die Befehle su und sudo untersuchen, die die primären Werkzeuge für die Privilegienausweitung sind.
Der Befehl su (Substitute User) ermöglicht es Ihnen, zu einem anderen Benutzerkonto zu wechseln. Wenn er ohne Benutzernamen verwendet wird, wird standardmäßig der Benutzer root verwendet.
Verwenden Sie den Befehl
su -, um zum Benutzerrootzu wechseln. Die Option Bindestrich (-) stellt sicher, dass Sie eine Login-Shell erhalten, was bedeutet, dass die Umgebungsvariablen und der Pfad des Benutzersrootgeladen werden. Sie werden nach demroot-Passwort gefragt, dasredhatlautet.su -Nach der Eingabe des Passworts
redhatändert sich Ihre Eingabeaufforderung zu[root@host ~]#, was anzeigt, dass Sie jetzt der Benutzerrootsind.Password: [root@host ~]#Um zu überprüfen, ob Sie
rootsind, können Sie den Befehlwhoamiausführen:whoamiDie Ausgabe sollte sein:
rootUm die
root-Shell zu verlassen und zu Ihremlabex-Benutzer zurückzukehren, geben Sieexitein.exitIhre Eingabeaufforderung kehrt zu
[labex@host ~]$zurück.
Der Befehl sudo (superuser do) ermöglicht es einem berechtigten Benutzer, einen Befehl als Superuser oder einen anderen Benutzer auszuführen, wie in der Datei sudoers angegeben. Der Benutzer labex ist so konfiguriert, dass er sudo-Rechte hat, ohne ein Passwort zu benötigen, was in vielen Cloud- und Lab-Umgebungen üblich ist.
Verwenden Sie den Befehl
sudo -i, um zumroot-Konto zu wechseln. Dieser Befehl wird im Allgemeinen gegenübersu -bevorzugt, da er eine sicherere Möglichkeit bietet, Befehle mit erhöhten Rechten auszuführen. Wenn Siesudo -iverwenden, verwenden Sie weiterhin Ihr eigenes Benutzerkonto, jedoch mit Root-Rechten, und Befehle werden in Ihrem Konto protokolliert, wodurch es einfacher wird, zu verfolgen, was getan wurde.sudo -iIhre Eingabeaufforderung ändert sich zu
[root@host ~]#, was anzeigt, dass Sie jetzt der Benutzerrootsind.[root@host ~]#Auch hier können Sie mit
whoamiüberprüfen:whoamiDie Ausgabe sollte sein:
rootUm die
root-Shell zu verlassen und zu Ihremlabex-Benutzer zurückzukehren, geben Sieexitein.exitIhre Eingabeaufforderung kehrt zu
[labex@host ~]$zurück.Sie können
sudoauch verwenden, um einen einzelnen Befehl mit Root-Rechten auszuführen, ohne zurroot-Shell zu wechseln. Um beispielsweise den Inhalt von/etc/shadowanzuzeigen (der nur vonrootgelesen werden kann), können Siesudo cat /etc/shadowverwenden.sudo cat /etc/shadow | head -n 3Dadurch werden die ersten drei Zeilen der Datei
/etc/shadowangezeigt, was zeigt, dass der Befehlcatmit Root-Rechten ausgeführt wurde.root:*:19780:0:99999:7::: bin:*:19780:0:99999:7::: daemon:*:19780:0:99999:7:::Die Datei
/etc/sudoersist die Hauptkonfigurationsdatei für den Befehlsudo. Sie definiert, welche Benutzer oder Gruppen welche Befehle mit erhöhten Rechten ausführen können. Um Probleme zu vermeiden, wenn mehrere Administratoren versuchen, die Datei gleichzeitig zu bearbeiten, sollten Sie sie nur mit dem speziellen Befehlvisudobearbeiten. Der Editorvisudovalidiert die Datei auch, um Syntaxfehler zu vermeiden.Ein häufiger Eintrag in
/etc/sudoerserlaubt Mitgliedern der Gruppewheel, jeden Befehl alsrootauszuführen. Der Benutzerlabexist Mitglied der Gruppewheel, weshalbsudoohne Passwort funktioniert.sudo grep wheel /etc/sudoersSie sollten eine Zeile ähnlich dieser sehen, die der Gruppe
wheelsudo-Zugriff gewährt:%wheel ALL=(ALL:ALL) ALLDiese Zeile bedeutet:
%wheel: Die Regel gilt für Mitglieder der Gruppewheel. Das Symbol%bezeichnet eine Gruppe.ALL=(ALL:ALL): Auf jedem Host (erstesALL) können Benutzer in der GruppewheelBefehle als jeder Benutzer (zweitesALL) und jede Gruppe (drittesALL) ausführen.ALL: Benutzer in der Gruppewheelkönnen jeden Befehl ausführen.
Dies schließt Ihre Erkundung des Erhalts von Superuser-Zugriff ab. Sie verstehen jetzt den Unterschied zwischen su - und sudo -i und wie Sie Befehle mit erhöhten Rechten ausführen.
Lokale Benutzerkonten erstellen und modifizieren
In diesem Schritt lernen Sie, wie Sie lokale Benutzerkonten auf einem RHEL-System erstellen, ändern und löschen. Die Verwaltung von Benutzerkonten ist eine grundlegende administrative Aufgabe, die sicherstellt, dass jeder Benutzer angemessenen Zugriff und Berechtigungen hat. Sie verwenden Befehle wie useradd, usermod, userdel und passwd.
Zuerst erstellen wir ein neues Benutzerkonto.
Verwenden Sie den Befehl
useradd, um einen neuen Benutzer zu erstellen. Standardmäßig erstelltuseraddeinen neuen Benutzer mit einer UID größer oder gleich 1000, erstellt ein Home-Verzeichnis (/home/username) und setzt die Standard-Shell auf/bin/bash. Sie benötigensudo-Rechte, um diesen Befehl auszuführen. Erstellen wir einen Benutzer namenstestuser01.sudo useradd testuser01Nachdem Sie den Benutzer erstellt haben, können Sie seine Existenz in
/etc/passwdüberprüfen und sein Home-Verzeichnis überprüfen.grep testuser01 /etc/passwd ls -ld /home/testuser01Sie sollten eine Ausgabe ähnlich dieser sehen:
testuser01:x:1001:1001::/home/testuser01:/bin/bash drwx------. 2 testuser01 testuser01 6 Mar 4 15:22 /home/testuser01Standardmäßig haben neu erstellte Benutzer kein Passwort gesetzt, was bedeutet, dass sie sich nicht anmelden können. Sie müssen ein Passwort für
testuser01mit dem Befehlpasswdfestlegen.sudo passwd testuser01Sie werden aufgefordert, ein neues Passwort einzugeben. Verwenden Sie für dieses Lab
labexrhel9als Passwort fürtestuser01. Möglicherweise sehen Sie eine "BAD PASSWORD"-Warnung, aber Sie können fortfahren.New password: Retype new password: passwd: all authentication tokens updated successfully.Versuchen Sie nun, mit
su -zutestuser01zu wechseln.su - testuser01Geben Sie das Passwort
labexrhel9ein, wenn Sie dazu aufgefordert werden. Ihre Eingabeaufforderung sollte sich zu[testuser01@host ~]$ändern.Password: [testuser01@host ~]$Um zu Ihrem
labex-Benutzer zurückzukehren, geben Sieexitein.exit
Als Nächstes ändern wir ein bestehendes Benutzerkonto mit dem Befehl usermod. Mit dem Befehl usermod können Sie verschiedene Eigenschaften eines Benutzers ändern, z. B. sein Home-Verzeichnis, seine Shell oder seine Gruppenmitgliedschaften.
Ändern wir das Kommentarfeld (vollständiger Name) für
testuser01in "Test User One".sudo usermod -c "Test User One" testuser01Überprüfen Sie die Änderung, indem Sie die Datei
/etc/passwderneut überprüfen.grep testuser01 /etc/passwdDie Ausgabe sollte nun den aktualisierten Kommentar widerspiegeln:
testuser01:x:1001:1001:Test User One:/home/testuser01:/bin/bashSie können auch ein Benutzerkonto sperren oder entsperren. Das Sperren eines Kontos verhindert, dass sich der Benutzer anmeldet, während das Entsperren die Anmeldung wieder aktiviert.
So sperren Sie das Konto
testuser01:sudo usermod -L testuser01Versuchen Sie nun, sich erneut bei
testuser01anzumelden.su - testuser01Sie werden nach dem Passwort gefragt, aber selbst mit dem richtigen Passwort schlägt die Anmeldung fehl:
Password: su: Authentication failureSo entsperren Sie das Konto
testuser01:sudo usermod -U testuser01Versuchen Sie erneut, zu
testuser01zu wechseln, und es sollte erfolgreich sein. Denken Sie daran,exiteinzugeben, um zulabexzurückzukehren.su - testuser01 ## Enter password 'labexrhel9' exit
Schließlich löschen wir das von Ihnen erstellte Benutzerkonto.
Verwenden Sie den Befehl
userdel, um einen Benutzer zu entfernen. Standardmäßig entferntuserdelden Eintrag des Benutzers aus/etc/passwd, lässt aber sein Home-Verzeichnis intakt. Dies kann zu verwaisten Dateien führen.sudo userdel testuser01Überprüfen Sie, ob der Benutzer aus
/etc/passwdentfernt wurde, aber das Home-Verzeichnis noch existiert.grep testuser01 /etc/passwd ls -ld /home/testuser01Der Befehl
grepsollte keine Ausgabe zurückgeben, was darauf hindeutet, dass der Benutzer nicht mehr vorhanden ist. Der Befehlls -ldzeigt, dass das Home-Verzeichnis noch existiert, aber sein Eigentum wird als numerische UIDs/GIDs angezeigt, da der Benutzer nicht mehr existiert.drwx------ 2 1001 1001 83 Mar 4 15:22 /home/testuser01Hinweis: In einigen RHEL-Versionen oder -Konfigurationen kann
userdeldas Home-Verzeichnis standardmäßig entfernen, wenn es leer ist oder wenn der Benutzer der alleinige Eigentümer war. Es ist jedoch sicherer, die Option-rexplizit zu verwenden, um sicherzustellen, dass das Home-Verzeichnis entfernt wird.Um den Benutzer und sein Home-Verzeichnis zu entfernen, verwenden Sie die Option
-rmituserdel. Erstellen wir einen neuen Benutzertestuser02, um dies richtig zu demonstrieren.sudo useradd testuser02 sudo passwd testuser02 ## You'll be prompted to enter 'labexrhel9'Entfernen Sie nun
testuser02und sein Home-Verzeichnis:sudo userdel -r testuser02Überprüfen Sie, ob sowohl der Benutzereintrag als auch das Home-Verzeichnis entfernt wurden.
grep testuser02 /etc/passwd ls -ld /home/testuser02Beide Befehle sollten anzeigen, dass
testuser02und sein Home-Verzeichnis nicht mehr existieren.ls: cannot access '/home/testuser02': No such file or directory
Dies schließt Ihre Übung mit dem Erstellen, Ändern und Löschen lokaler Benutzerkonten ab.
Lokale Gruppenkonten verwalten
In diesem Schritt lernen Sie, wie Sie lokale Gruppenkonten auf einem RHEL-System verwalten. Gruppen sind grundlegend für die effiziente Verwaltung von Berechtigungen und ermöglichen es Ihnen, mehreren Benutzern gleichzeitig Zugriff zu gewähren. Sie verwenden Befehle wie groupadd, groupmod und groupdel und wiederholen auch usermod für die Verwaltung von Benutzer-Gruppen-Mitgliedschaften.
Zuerst erstellen wir eine neue Gruppe.
Verwenden Sie den Befehl
groupadd, um eine neue Gruppe zu erstellen. Standardmäßig weistgroupadddie nächste verfügbare GID aus dem in/etc/login.defsangegebenen Bereich zu. Sie benötigensudo-Rechte, um diesen Befehl auszuführen. Erstellen wir eine Gruppe namensdevelopers.sudo groupadd developersSie können die Erstellung der Gruppe überprüfen, indem Sie die Datei
/etc/groupüberprüfen.grep developers /etc/groupSie sollten einen Eintrag ähnlich diesem sehen:
developers:x:1002:Sie können auch eine bestimmte GID für die Gruppe mit der Option
-gangeben. Erstellen wir eine weitere Gruppe namenstestersmit einer bestimmten GID, z. B.2000.sudo groupadd -g 2000 testersÜberprüfen Sie die GID der Gruppe
testers.grep testers /etc/groupDie Ausgabe sollte die angegebene GID bestätigen:
testers:x:2000:
Als Nächstes ändern wir eine bestehende Gruppe mit dem Befehl groupmod.
Sie können den Namen einer Gruppe mit der Option
-nändern. Benennen wirtestersinqa_teamum.sudo groupmod -n qa_team testersÜberprüfen Sie die Namensänderung in
/etc/group.grep qa_team /etc/groupDie Ausgabe sollte den neuen Namen mit der ursprünglichen GID anzeigen:
qa_team:x:2000:Sie können auch die GID einer Gruppe mit der Option
-gändern. Ändern wir die GID vonqa_teamin2001.sudo groupmod -g 2001 qa_teamÜberprüfen Sie die GID-Änderung.
grep qa_team /etc/groupDie Ausgabe sollte die neue GID widerspiegeln:
qa_team:x:2001:
Nun verwalten wir die Benutzermitgliedschaften innerhalb dieser Gruppen. Sie verwenden dafür den Befehl usermod. Erstellen Sie zuerst ein paar Testbenutzer.
Erstellen Sie
userAunduserBund setzen Sie ihre Passwörter auflabexrhel9.sudo useradd userA sudo passwd userAGeben Sie
labexrhel9als Passwort füruserAein.sudo useradd userB sudo passwd userBGeben Sie
labexrhel9als Passwort füruserBein.Fügen Sie
userAder Gruppedevelopersals sekundäre Gruppe hinzu. Verwenden Sie die Optionen-a(anhängen) und-G(Gruppen) mitusermod.sudo usermod -aG developers userAÜberprüfen Sie die Gruppenmitgliedschaften von
userAmit dem Befehlid.id userASie sollten
developersim Abschnittgroupssehen:uid=1003(userA) gid=1003(userA) groups=1003(userA),1002(developers)Fügen Sie
userBsowohl den Gruppendevelopersals auchqa_teamals sekundäre Gruppen hinzu.sudo usermod -aG developers,qa_team userBÜberprüfen Sie die Gruppenmitgliedschaften von
userB.id userBSie sollten sowohl
developersals auchqa_teamaufgelistet sehen:uid=1004(userB) gid=1004(userB) groups=1004(userB),1002(developers),2001(qa_team)Sie können auch die primäre Gruppe eines Benutzers mit der Option
-gmitusermodändern. Ändern wir die primäre Gruppe vonuserAindevelopers.sudo usermod -g developers userAÜberprüfen Sie die primäre Gruppe von
userA.id userADas Feld
gidsollte nundevelopersanzeigen:uid=1003(userA) gid=1002(developers) groups=1002(developers)Hinweis: Wenn Sie die primäre Gruppe eines Benutzers ändern, wird er aus der Mitgliedsliste seiner alten primären Gruppe in
/etc/groupentfernt, wenn diese Gruppe auch eine sekundäre Gruppe war. In diesem Fall wird die ursprüngliche primäre Gruppe vonuserA(userA) nicht mehr als sekundäre Gruppe aufgeführt.
Schließlich löschen wir die von Ihnen erstellten Gruppen und Testbenutzer.
Verwenden Sie den Befehl
groupdel, um eine Gruppe zu entfernen. Sie können eine Gruppe nicht löschen, wenn sie die primäre Gruppe für einen Benutzer ist. Ändern Sie zuerst die primäre Gruppe vonuserAzurück auf ihre Standardeinstellung (oder eine andere vorhandene Gruppe), bevor Siedeveloperslöschen.sudo usermod -g userA userA ## Change userA's primary group back to userA sudo groupdel developersÜberprüfen Sie, ob
developersaus/etc/groupentfernt wurde.grep developers /etc/groupDieser Befehl sollte keine Ausgabe zurückgeben.
Löschen Sie die Gruppe
qa_team.sudo groupdel qa_teamÜberprüfen Sie die Entfernung.
grep qa_team /etc/groupDieser Befehl sollte ebenfalls keine Ausgabe zurückgeben.
Bereinigen Sie die Testbenutzer.
sudo userdel -r userA sudo userdel -r userB
Dies schließt Ihre Übung mit der Verwaltung lokaler Gruppenkonten und Benutzer-Gruppen-Mitgliedschaften ab.
Benutzer-Passwortrichtlinien konfigurieren
In diesem Schritt lernen Sie, wie Sie Benutzer-Passwortrichtlinien auf einem RHEL-System konfigurieren. Passwortrichtlinien sind entscheidend für die Erhöhung der Sicherheit, indem Regeln für die Passwortkomplexität, den Ablauf und die Kontosperrung durchgesetzt werden. Sie werden die Datei /etc/shadow und den Befehl chage untersuchen.
Zuerst wollen wir die Datei /etc/shadow verstehen, in der verschlüsselte Passwortinformationen und Parameter zur Passwortalterung für Benutzerkonten gespeichert werden. Diese Datei ist sehr sensibel und nur für den Benutzer root lesbar.
Jeder Benutzer hat einen Eintrag in der Datei
/etc/shadow. Erstellen wir einen neuen Benutzerpolicyuserund setzen wir sein Passwort zu Demonstrationszwecken auflabexrhel9.sudo useradd policyuser sudo passwd policyuserGeben Sie
labexrhel9als Passwort fürpolicyuserein.Zeigen Sie nun den Eintrag für
policyuserin/etc/shadowan.sudo grep policyuser /etc/shadowSie sehen eine Ausgabe ähnlich dieser:
policyuser:$6$randomsalt$encryptedhash:19780:0:99999:7:::Lassen Sie uns jedes Feld aufschlüsseln, getrennt durch einen Doppelpunkt:
policyuser: Name des Benutzerkontos.$6$randomsalt$encryptedhash: Das verschlüsselte Passwort des Benutzers.$6: Der Hashing-Algorithmus, der für dieses Passwort verwendet wird (SHA-512, der RHEL 9-Standard).randomsalt: Das Salt, das zum Verschlüsseln des Passworts verwendet wird; ursprünglich zufällig ausgewählt.encryptedhash: Der verschlüsselte Hash des Passworts des Benutzers.
19780: Die Tage seit der Epoche (1970-01-01 UTC), an dem das Passwort zuletzt geändert wurde. Diese Zahl variiert je nach aktuellem Datum.0: Die Mindestanzahl an Tagen seit der letzten Passwortänderung, bevor der Benutzer es erneut ändern kann.99999: Die maximale Anzahl an Tagen ohne Passwortänderung, bevor das Passwort abläuft. Ein leeres Feld bedeutet, dass das Passwort nie abläuft.7: Die Anzahl der Tage im Voraus, um den Benutzer zu warnen, dass sein Passwort abläuft.- (leer): Die Anzahl der Tage ohne Aktivität, beginnend mit dem Tag, an dem das Passwort abgelaufen ist, bevor das Konto automatisch gesperrt wird.
- (leer): Der Tag, an dem das Konto in Tagen seit der Epoche abläuft. Ein leeres Feld bedeutet, dass das Konto nie abläuft.
- Das letzte Feld ist typischerweise leer und für die zukünftige Verwendung reserviert.
Als Nächstes verwenden Sie den Befehl chage, um diese Parameter zur Passwortalterung zu ändern. Mit dem Befehl chage können Sie Informationen zum Ablauf des Benutzerpassworts ändern.
Legen wir eine Passwortrichtlinie für
policyusermit den folgenden Regeln fest:- Mindestanzahl an Tagen zwischen Passwortänderungen: 7 Tage (
-m 7) - Maximale Anzahl an Tagen zwischen Passwortänderungen: 90 Tage (
-M 90) - Warnzeitraum vor Ablauf des Passworts: 14 Tage (
-W 14) - Inaktivitätszeitraum nach Ablauf des Passworts, bevor das Konto gesperrt wird: 30 Tage (
-I 30)
sudo chage -m 7 -M 90 -W 14 -I 30 policyuser- Mindestanzahl an Tagen zwischen Passwortänderungen: 7 Tage (
Um diese Änderungen zu überprüfen, können Sie
chage -l(list) verwenden, um die aktuellen Informationen zur Passwortalterung fürpolicyuseranzuzeigen.sudo chage -l policyuserSie sollten eine Ausgabe sehen, die die neue Richtlinie widerspiegelt:
Last password change : Mar 04, 2024 Password expires : Jun 02, 2024 Password inactive : Jul 02, 2024 Account expires : never Minimum number of days between password change : 7 Maximum number of days between password change : 90 Number of days of warning before password expires : 14Hinweis: Die Daten variieren je nachdem, wann Sie das Lab durchführen.
Sie können auch ein absolutes Ablaufdatum für das Konto mit der Option
-Efestlegen. Legen wir fest, dass das Konto vonpolicyuserin 30 Tagen ab heute abläuft. Ermitteln Sie zuerst das heutige Datum und berechnen Sie das Datum in 30 Tagen.EXPIRY_DATE=$(date -d "+30 days" +%Y-%m-%d) echo "Account will expire on: $EXPIRY_DATE" sudo chage -E $EXPIRY_DATE policyuserÜberprüfen Sie das Ablaufdatum des Kontos.
sudo chage -l policyuser | grep "Account expires"Die Ausgabe sollte das berechnete Ablaufdatum anzeigen:
Account expires : Apr 03, 2024Hinweis: Das Datum liegt ungefähr 30 Tage nach Ihrem aktuellen Lab-Datum.
Um das Ablaufdatum des Kontos zu entfernen, können Sie
chage -E -1 policyuserverwenden.sudo chage -E -1 policyuser sudo chage -l policyuser | grep "Account expires"Die Ausgabe sollte wieder auf
neverzurückgesetzt werden:Account expires : never
Schließlich bereinigen Sie das Konto policyuser.
sudo userdel -r policyuser
Dies schließt Ihre Übung mit der Konfiguration von Benutzer-Passwortrichtlinien ab. Sie verstehen jetzt, wie Sie Parameter zur Passwortalterung mithilfe der Datei /etc/shadow und des Befehls chage untersuchen und ändern können.
Zusammenfassung
In diesem Lab haben Sie grundlegende Konzepte der Benutzer- und Gruppenverwaltung in Red Hat Enterprise Linux (RHEL) gelernt. Sie begannen damit, zu verstehen, wie Benutzer und Gruppen mit Dateien und Prozessen verknüpft sind, und wie Sie Benutzer- und Gruppeninformationen mithilfe des Befehls id sowohl für den aktuellen Benutzer als auch für andere Systembenutzer wie root überprüfen können. Sie haben auch geübt, Dateieigentümer und Verzeichniseigentümer mithilfe der Befehle ls -l bzw. ls -ld zu identifizieren, was für das Verständnis von Berechtigungen und Zugriffskontrolle unerlässlich ist.
Das Lab führte Sie weiter durch das Erhalten von Superuser-Zugriff, das Erstellen und Ändern lokaler Benutzerkonten, das Verwalten lokaler Gruppenkonten und das Konfigurieren von Benutzer-Passwortrichtlinien. Diese Schritte boten praktische Erfahrung in wesentlichen Systemadministrationsaufgaben und ermöglichten es Ihnen, den Benutzerzugriff und die Sicherheit auf einem Linux-System effektiv zu verwalten.



