Einführung
Linux-Berechtigungen bestimmen, wer Dateien lesen, ändern oder ausführen darf. Bei RHCSA-Aufgaben müssen Sie häufig Berechtigungs-Strings untersuchen, numerische und symbolische Modi festlegen, Eigentumsverhältnisse ändern und Verzeichnisse so konfigurieren, dass Dateien von der vorgesehenen Gruppe genutzt werden können.
In diesem Lab arbeiten Sie direkt im Verzeichnis /home/labex/project. Sie werden vorbereitete Dateien untersuchen, Standard-Dateimodus-Einstellungen mit chmod anwenden, ein Skript sicher aktivieren, das Eigentum einer von root verwalteten Übergabedatei übernehmen und ein freigegebenes Verzeichnis mit setgid konfigurieren.
Dateiberechtigungsfelder untersuchen
In diesem Schritt untersuchen Sie die Berechtigungen, bevor Sie diese ändern. Das erste Feld in der Ausgabe von ls -l zeigt den Dateityp und die Berechtigungen an; die Felder für Eigentümer und Gruppe zeigen, wer die Datei kontrolliert.
Wechseln Sie in das Standard-LabEx-Projektverzeichnis.
cd /home/labex/project
Listen Sie die vorbereitete Lab-Struktur auf.
ls -l permissions-lab
Untersuchen Sie die vorbereiteten Konfigurationsdateien. Der Modus, der Eigentümer und die Gruppe sind in der ausführlichen Auflistung sichtbar.
ls -l permissions-lab/configs
Verwenden Sie stat für eine kompakte Ansicht einer einzelnen Datei. %a gibt den numerischen Modus aus, %U den Namen des Eigentümers und %G den Namen der Gruppe.
stat -c '%n %a %U %G' permissions-lab/configs/private.conf
Untersuchen Sie die von root verwaltete Übergabedatei. Beachten Sie, dass der Eigentümer und die Gruppe derzeit root sind.
ls -l permissions-lab/shared/handoff.txt
Dateimodus mit numerischem chmod festlegen
In diesem Schritt verwenden Sie numerische Modi mit chmod. Die drei Ziffern beschreiben die Berechtigungen für Benutzer, Gruppe und andere. Zum Beispiel bedeutet 600, dass nur der Benutzer lesen/schreiben kann, und 644 bedeutet, dass der Benutzer lesen/schreiben kann, während Gruppe und andere nur lesen können.
Beginnen Sie im Projektverzeichnis.
cd /home/labex/project
Machen Sie private.conf nur für den Eigentümer les- und schreibbar. Dies ist angemessen für eine Datei, die sensible Einstellungen enthält.
chmod 600 permissions-lab/configs/private.conf
Machen Sie readme.txt für jeden lesbar, aber nur für den Eigentümer schreibbar.
chmod 644 permissions-lab/configs/readme.txt
Überprüfen Sie die Modi mit stat.
stat -c '%n %a' permissions-lab/configs/private.conf permissions-lab/configs/readme.txt
Sie sollten 600 für private.conf und 644 für readme.txt sehen.
Skriptausführung mit symbolischem chmod aktivieren
In diesem Schritt verwenden Sie symbolische Berechtigungen. Der symbolische Modus ermöglicht es Ihnen, eine bestimmte Berechtigung hinzuzufügen oder zu entfernen, ohne den gesamten numerischen Modus neu schreiben zu müssen.
Beginnen Sie im Projektverzeichnis.
cd /home/labex/project
Untersuchen Sie das Skript, bevor Sie es ändern. Es sollte lesbar, aber nicht ausführbar sein.
ls -l permissions-lab/scripts/check-inventory.sh
Fügen Sie die Ausführungsberechtigung für den Benutzer und die Gruppe hinzu. In u+x,g+x steht u für Benutzer, g für Gruppe und +x für das Hinzufügen der Ausführungsberechtigung.
chmod u+x,g+x permissions-lab/scripts/check-inventory.sh
Führen Sie das Skript über seinen Pfad aus.
permissions-lab/scripts/check-inventory.sh
Erwartete Ausgabe:
inventory check ok
Überprüfen Sie den endgültigen Modus. Er sollte nun die Ausführungsbits für Benutzer und Gruppe enthalten.
stat -c '%n %a' permissions-lab/scripts/check-inventory.sh
Eigentumsverhältnisse einer Übergabedatei ändern
In diesem Schritt übernehmen Sie das Eigentum an einer von root verwalteten Datei mit sudo chown. Das Ändern des Eigentums erfordert normalerweise administrative Privilegien, daher ist sudo für diese Übungsdatei angemessen.
Beginnen Sie im Projektverzeichnis.
cd /home/labex/project
Untersuchen Sie den aktuellen Eigentümer und die Gruppe. Die Datei gehört anfangs root:root.
stat -c '%n %U:%G %a' permissions-lab/shared/handoff.txt
Ändern Sie den Eigentümer und die Gruppe auf labex:labex. Die Form user:group setzt beide Felder in einem Befehl.
sudo chown labex:labex permissions-lab/shared/handoff.txt
Beschränken Sie die Datei auf Lese-/Schreibzugriff für den Eigentümer und Lesezugriff für die Gruppe.
chmod 640 permissions-lab/shared/handoff.txt
Fügen Sie eine operative Zeile hinzu, jetzt da labex Eigentümer der Datei ist.
printf 'Handled by labex after ownership update.\n' >> permissions-lab/shared/handoff.txt
Untersuchen Sie den endgültigen Eigentümer, die Gruppe, den Modus und den Inhalt.
stat -c '%n %U:%G %a' permissions-lab/shared/handoff.txt
cat permissions-lab/shared/handoff.txt
Freigegebenes Verzeichnis mit setgid konfigurieren
In diesem Schritt konfigurieren Sie ein freigegebenes Verzeichnis. Verzeichnisse benötigen Ausführungsberechtigungen, um sie betreten und durchsuchen zu können. Das setgid-Bit bei einem Verzeichnis bewirkt, dass neue Dateien die Gruppe des Verzeichnisses erben, was Teams dabei hilft, freigegebene Inhalte konsistent gruppiert zu halten.
Beginnen Sie im Projektverzeichnis.
cd /home/labex/project
Untersuchen Sie den aktuellen Verzeichnismodus.
stat -c '%n %a %U:%G' permissions-lab/teamdrop
Setzen Sie den Verzeichnismodus auf 2775. Die führende 2 aktiviert setgid, 775 gewährt vollen Zugriff für Eigentümer und Gruppe sowie Lese-/Ausführungszugriff für andere.
chmod 2775 permissions-lab/teamdrop
Erstellen Sie eine Datei innerhalb des freigegebenen Verzeichnisses.
printf 'team handoff ready\n' > permissions-lab/teamdrop/status.txt
Setzen Sie den Dateimodus so, dass Eigentümer und Gruppe sie lesen und schreiben können.
chmod 664 permissions-lab/teamdrop/status.txt
Untersuchen Sie das Verzeichnis und die neue Datei.
stat -c '%n %a %U:%G' permissions-lab/teamdrop permissions-lab/teamdrop/status.txt
cat permissions-lab/teamdrop/status.txt
Zusammenfassung
Sie haben Standard-Linux-Berechtigungen und Eigentumsverhältnisse zur Vorbereitung auf die RHCSA-Prüfung geübt. Sie haben Berechtigungsfelder untersucht, numerische Dateimodi angewendet, symbolisches chmod zur Aktivierung der Skriptausführung verwendet, Eigentumsverhältnisse mit sudo chown geändert, sichere Dateimodi festgelegt und ein freigegebenes setgid-Verzeichnis konfiguriert, sodass neue Dateien die vorgesehene Gruppe erben.



