Dateiberechtigungen unter Linux sicher verwalten
Eine saubere Verwaltung von Dateiberechtigungen ist essenziell für den sicheren Betrieb von Linux-Servern. Falsch gesetzte Rechte können Funktionen beeinträchtigen oder unnötige Sicherheitsrisiken schaffen. Mit den richtigen Basisbefehlen behalten Administratoren Zugriffe, Besitzer und ACLs zuverlässig im Griff.
Damit der Betrieb auf Linux-Servern reibungslos funktioniert, sollten Administratoren die Pflege von Dateiberechtigungen und Eigentumsrechten stets im Blick behalten. Entscheidend ist, dass Dateien je nach Einsatzzweck korrekt gelesen oder ausgeführt werden können. Besonders hilfreich sind dabei die grundlegenden Befehle chmod, chown und chgrp, mit denen sich sowohl Zugriffsrechte als auch Besitzer und Gruppen zuverlässig verwalten lassen. Mit dem Kommando umask (nicht "unmask") können zudem die Standardberechtigungen für neu erstellte Dateien angepasst werden. Für das Einsehen und Anpassen von ACLs (Access Control Lists) stehen ls -l, getfacl und setfacl bereit.
Klassische Rechte mit chmod, chown und chgrp
Mit chmod definieren Sie, wer Dateien lesen, schreiben oder ausführen darf. Eine Datei soll beispielsweise für Sie als Besitzer lesbar und schreibbar sein, für die Gruppe nur lesbar und für andere Nutzer gar nicht zugreifbar:
chmod 640 datei.txt
Oder symbolisch:
chmod u=rw,g=r,o= datei.txt
Mit chown ändern Sie den Besitzer einer Datei – etwa, wenn ein Service-Account die Kontrolle über ein Logfile übernehmen soll:
chown syslog:adm /var/log/app.log
Für das Setzen einer neuen Gruppenzugehörigkeit nutzen Sie chgrp:
chgrp developers /opt/project/config.yaml
Standardrechte mit umask steuern
Mit umask legen Sie fest, welche Berechtigungen neue Dateien nicht erhalten sollen. Wenn Sie beispielsweise sicherstellen möchten, dass neue Dateien grundsätzlich nicht von anderen Nutzern gelesen werden können, setzen Sie:
umask 027
Eine danach erstellte Datei erhält dann üblicherweise Rechte wie 640.
Anzeigen und Anpassen von ACLs
ACLs (Access Control Lists) ermöglichen Ihnen eine feinere Zugriffssteuerung als die klassischen Unix-Rechte. Mit ls -l erkennen Sie, ob eine Datei ACLs verwendet (ein "+" am Ende der Berechtigungen):
ls -l datei.txt
Mit getfacl lesen Sie bestehende ACL-Einträge aus:
getfacl datei.txt
Möchten Sie bestimmten Nutzern oder Gruppen zusätzliche Rechte geben, nutzen Sie setfacl. Beispiel: Benutzer "alice" soll Leserechte erhalten, ohne die allgemeinen Gruppenrechte anzupassen:
setfacl -m u:alice:r datei.txt
Oder Sie geben der Gruppe "developers" Schreibrechte:
setfacl -m g:developers:rw projekt.conf
ACLs können Sie bei Bedarf auch komplett entfernen:
setfacl -b datei.txt
Fazit
Durch eine Kombination aus klassischen Berechtigungen und ACLs behalten Sie präzise Kontrolle über den Zugriff auf Dateien und Verzeichnisse. Konsistente Standards und sauber gesetzte Rechte erhöhen die Sicherheit Ihrer Systeme und erleichtern zugleich den administrativen Alltag.