drwxr-xr-x erklärt: Linux-Dateirechte lesen
Lesen Sie drwxr-xr-x Zeichen für Zeichen und ordnen Sie 755 zu. Erfahren Sie, warum x Verzeichnisse betretbar macht und chmod 777 keine Lösung ist.
Was drwxr-xr-x bedeutet
drwxr-xr-x beschreibt ein Verzeichnis, das sein Besitzer ändern kann und das jeder andere Benutzer lesen und betreten kann, ohne etwas zu ändern. Im Oktalformat lautet dieser Modus 755. Linux gibt diese zehn Zeichen am Anfang jeder Zeile der ls -l-Ausgabe aus. Sie bedeuten immer dasselbe und stehen immer in derselben Reihenfolge. Wenn Sie diese eine Zeichenfolge verstehen, können Sie alle entsprechenden Angaben lesen.
Eine Regel gilt vor allen anderen, weil sie bestimmt, ob Ihre eigenen Tests aussagekräftig sind. Der Benutzer root ignoriert die Berechtigungsbits. Der Kernel gewährt root die CAP_DAC_OVERRIDE-Fähigkeit (Außerkraftsetzung der obligatorischen Zugriffskontrolle), sodass root Dateien öffnet, deren Modus den Zugriff verbietet. Jedes Beispiel auf dieser Seite funktioniert für root unabhängig von den angegebenen Bits. Melden Sie sich als normaler Benutzer an, wenn Sie beobachten möchten, wie die Regeln greifen.
Die zehn Zeichen, einzeln erklärt
Erstellen Sie ein Verzeichnis und eine Datei zur Anzeige. Die folgenden Befehle ändern nichts außerhalb des neuen Verzeichnisses.
mkdir -p ~/permdemo/inner
printf 'hello\n' > ~/permdemo/inner/notes.txt
ls -ld ~/permdemo ~/permdemo/inner ~/permdemo/inner/notes.txtBei der üblichen Standard-umask von 022 beginnen die beiden Verzeichniszeilen mit drwxr-xr-x und die Dateizeile mit -rw-r--r--.
Zeichen 1 gibt den Dateityp an, nicht eine Berechtigung. d ist ein Verzeichnis. - ist eine reguläre Datei. l ist ein symbolischer Link. c und b sind Zeichen- bzw. Blockgeräteknoten. s ist ein Socket und p eine Named Pipe. Dieses Zeichen steht außerhalb des Oktalwerts. Deshalb wird drwxr-xr-x zu 755 und nicht zu einem Wert, der mit d beginnt.
Die neun folgenden Zeichen bestehen aus drei Gruppen mit jeweils drei Zeichen. Ihre Reihenfolge ändert sich nie.
- Die Zeichen 2 bis 4 bilden die Besitzer-Gruppe. Sie gelten für den Benutzer, dem die Datei gehört.
- Die Zeichen 5 bis 7 bilden die Gruppen-Gruppe. Sie gelten für die Gruppe der Datei.
- Die Zeichen 8 bis 10 bilden die Andere-Gruppe. Sie gelten für alle übrigen Benutzer.
Innerhalb einer Gruppe stehen die Positionen immer in der Reihenfolge r, dann w und dann x. Ein Bindestrich bedeutet, dass dieses Bit deaktiviert ist. Die Buchstaben ändern ihre Position nie. r-x bedeutet Lesen ohne Schreiben. -w- bedeutet Schreiben ohne Lesen. Das ist zulässig, kommt aber selten vor.
Damit gliedert sich drwxr-xr-x wie folgt: d für das Verzeichnis, anschließend rwx für den Besitzer, r-x für die Gruppe und r-x für Andere.
Einige Systeme geben ein elftes Zeichen aus. Ein nachgestellter Punkt, drwxr-xr-x., bedeutet, dass die Datei einen SELinux-Kontext (security enhanced Linux) trägt. SELinux-Distributionen wie Fedora und Rocky geben diesen standardmäßig aus. Ein nachgestelltes Pluszeichen, drwxr-xr-x+, bedeutet, dass die Datei eine POSIX-ACL (access control list) mit zusätzlichen Regeln über diese neun Bits hinaus trägt. Lesen Sie diese zusätzlichen Regeln mit getfacl <path> aus.
r, w und x haben bei einem Verzeichnis unterschiedliche Aufgaben
Das ist die erste Regel, die Anfänger häufig falsch verstehen. Die Buchstaben sind bei einer Datei und bei einem Verzeichnis gleich. Die dadurch gewährten Berechtigungen sind jedoch unterschiedlich.
rauf einer Datei liest ihren Inhalt.rauf einem Verzeichnis listet die darin enthaltenen Namen auf. Genau das benötigt ein einfachesls.wauf einer Datei ändert ihren Inhalt.wauf einem Verzeichnis fügt Einträge hinzu und entfernt sie. Das Löschen einer Datei ändert das Verzeichnis. Daher entscheidet die Schreibberechtigung des Verzeichnisses. Der Modus der Datei selbst hat darauf keinen Einfluss.xauf einer Datei führt sie als Programm aus.xauf einem Verzeichnis durchläuft es. Das bedeutet, dass der Kernel bei der Pfadauflösung einen Namen darin auflösen kann.
Das Durchlaufen ist der Teil, der viele überrascht. x auf einem Verzeichnis führt nichts aus. Zum Öffnen von /srv/site/index.html ist zunächst x auf / erforderlich, danach x auf /srv, dann x auf /srv/site und schließlich r auf der Datei. Fehlt Ihnen in dieser Kette bei einem Verzeichnis x, endet die Auflösung an dieser Stelle. Der Aufrufer erhält für den gesamten Pfad Permission denied, auch wenn die Datei am Ende für alle Benutzer lesbar ist. namei -l /srv/site/index.html gibt jeden Schritt der Kette mit Modus und Eigentümer aus. So sehen Sie, welches Glied die Auflösung stoppt.
Ein Verzeichnis mit r, aber ohne x, ist ein ungewöhnlicher Zwischenzustand, den Sie kennen sollten. Ein normaler Benutzer kann die Namen auflisten, weil dies durch r ermöglicht wird. Er kann jedoch keine Einträge mit stat auslesen. Daher füllt ls -l die Spalten für Größe und Modus mit Fragezeichen und gibt für jeden Eintrag ls: cannot access ...: Permission denied aus.
Die Buchstaben in 755 umwandeln
Jede Triade ist eine Dreierzahl aus Bits. r entspricht 4, w entspricht 2 und x entspricht 1. Addieren Sie die gesetzten Bits.
rwxentspricht 4 + 2 + 1 = 7rw-entspricht 4 + 2 = 6r-xentspricht 4 + 1 = 5r--entspricht 4---entspricht 0
drwxr-xr-x ist daher 7 für den Eigentümer, 5 für die Gruppe und 5 für andere: 755. -rw-r--r-- ist 6, 4, 4: 644. drwxrwxr-x ist 7, 7, 5: 775. Das entspricht 755 mit gesetztem Schreibrecht für die Gruppe. Sie müssen Zeichen nie manuell zählen, weil stat beide Darstellungen gleichzeitig ausgibt.
stat -c '%A %a %U %G %n' ~/permdemo ~/permdemo/inner/notes.txt%A ist die Buchstabendarstellung, %a die Oktaldarstellung und %U sowie %G bezeichnen den Eigentümer und die Eigentümergruppe.
Die Berechtigungszeichenfolgen, nach denen häufig gesucht wird
Diese Modi finden Sie auf realen Servern. Angegeben sind jeweils der Oktalwert und typische Einsatzbereiche.
-rw-r--r--entspricht 644. Gewöhnliche Dateien, die ein Dienst nur liest, beispielsweise eine Konfigurationsdatei oder eine HTML-Seite.-rw-------entspricht 600. Geheimnisse wie ein privater SSH-Schlüssel oder die.env-Datei einer Anwendung.-rw-rw-r--entspricht 664. Eine Datei in einem für eine Gruppe freigegebenen Verzeichnis, in die Teammitglieder schreiben müssen.-rwxr-xr-xentspricht 755. Skripte und Binärdateien wie/usr/local/bin/backup.shund die meisten Dateien unter/usr/bin.-rwx------entspricht 700. Ein privates Skript, das nur sein Besitzer ausführen darf.drwxr-xr-xentspricht 755. Fast jedes Systemverzeichnis und das Dokumentenstammverzeichnis einer Website.drwx------entspricht 700.~/.sshund Home-Verzeichnisse auf einem abgesicherten System.drwxrwxr-xentspricht 775. Ein Verzeichnis, in das die Gruppe des Besitzers schreiben darf.drwxrwsr-xentspricht 2775. Dasselbe, zusätzlich mit dem setgid-Bit, sodass neue Dateien darin die Gruppe des Verzeichnisses erben.drwxrwxrwtentspricht 1777./tmp. Das abschließendetist das Sticky-Bit. Dadurch darf ein Benutzer nur seine eigenen Dateien löschen.-rwsr-xr-xentspricht 4755. Eine setuid-Binärdatei, die mit den Rechten ihres Besitzers ausgeführt wird, beispielsweise/usr/bin/passwdund/usr/bin/sudo.-rw-rw-rw-entspricht 666 unddrwxrwxrwxentspricht 777. Weltweit beschreibbar. Auf einem Server ist das fast immer ein Fehler.lrwxrwxrwxwird für jeden symbolischen Link angezeigt. Linux ignoriert die Modusbits eines Links und prüft stattdessen das Ziel. Daher hat diese Zeichenfolge keinerlei Bedeutung.
Welche Dreiergruppe gilt für Sie
Dies ist die zweite Regel, bei der Anfänger häufig Fehler machen. Der Kernel wählt genau eine Dreiergruppe aus und prüft danach keine weitere.
Wenn Ihre Benutzer-ID mit dem Eigentümer der Datei übereinstimmt, gilt die Eigentümer-Dreiergruppe. Die Gruppen- und die Andere-Berechtigungsbits werden dann nicht geprüft. Andernfalls gilt die Gruppen-Dreiergruppe, wenn die Gruppe der Datei eine Ihrer Gruppen ist. In allen anderen Fällen gilt die Dreiergruppe für Andere.
Daraus folgen zwei Punkte. Die Eigentümer-Dreiergruppe gilt auch dann, wenn sie die restriktivste ist. Eine Datei mit dem Modus 0466, dargestellt als -r--rw-rw-, gewährt ihrem Eigentümer nur Leserechte, während alle anderen schreiben dürfen. Die Eigentümerprüfung war zuerst erfolgreich, und danach wurde nichts mehr geprüft. Das ist zulässig und verwirrt beim ersten Kontakt mit diesem Verhalten fast jeden.
Die Gruppen-Dreiergruppe wird anhand der Gruppe der Datei ausgewählt, nicht anhand der Liste Ihrer Gruppen. ls -l gibt in jeder Zeile zwei Namen aus: zuerst den Eigentümer, dann die Gruppe. Nur diese zweite Gruppe hat für die Datei Bedeutung. Die Mitgliedschaft in zwanzig Gruppen hilft nur, wenn die Datei eine dieser Gruppen verwendet.
id
stat -c '%U %G %A %n' ~/permdemo/inner/notes.txtid gibt Ihren Benutzer und jede Gruppe aus, der Sie angehören. stat gibt den Eigentümer und die Gruppe der Datei aus. Vergleichen Sie beide Ausgaben. Dann wissen Sie, welche Dreiergruppe der Kernel für Sie verwendet.
Aus diesem Grund erhält ein gemeinsam verwendetes Verzeichnis normalerweise eine Gruppe und das setgid-Bit. sudo chmod 2775 /srv/shared wird als drwxrwsr-x ausgegeben. In diesem Verzeichnis erstellte Dateien übernehmen dann die Gruppe des Verzeichnisses statt der persönlichen Gruppe des Erstellers. Dadurch kann die nächste Person weiterhin in diese Dateien schreiben. Jedem Dienst ein eigenes Konto zu geben, ist die andere Hälfte dieses Konzepts. Sie wird in ein Linux-Benutzer pro Dienst auf einem VPS behandelt.
umask bestimmt den Modus jeder neuen Datei
Eine neue Datei übernimmt ihren Modus nicht von Ihnen. Sie übernimmt ihn von dem Programm, das sie erstellt, abzüglich der Bits, die Ihre umask löscht. Die umask ist eine Maske zum Entfernen von Bits. Eine größere umask erzeugt daher Dateien mit restriktiveren Berechtigungen.
Die meisten Distributionen verwenden standardmäßig 022. Ein Programm, das eine reguläre Datei erstellt, fordert 0666 an. Ein Programm, das ein Verzeichnis erstellt, fordert 0777 an. Die umask löscht 022 aus beiden Anforderungen. Dadurch erhalten Sie 644 für Dateien und 755 für Verzeichnisse. Genau dieses Berechtigungspaar sehen Sie auf einem frisch eingerichteten VPS häufig.
umask
umask -S
touch ~/permdemo/new.txt && mkdir -p ~/permdemo/newdir
ls -ld ~/permdemo/new.txt ~/permdemo/newdirumask -S gibt denselben Wert als Buchstaben aus. Das ist leichter zu lesen als 0022. Setzen Sie umask 027 in ~/.profile auf einen strengeren Standardwert: 640 für Dateien und 750 für Verzeichnisse. Dadurch kann Ihre Gruppe Ihre Arbeit lesen, während alle anderen keinen Zugriff erhalten.
Zwei Einschränkungen sind wichtig. Die umask kann nur Bits löschen, niemals hinzufügen. Deshalb ist eine neu erstellte Datei unabhängig von der Einstellung niemals ausführbar. Außerdem liest ein systemd-Dienst niemals Ihr Shell-Profil. Setzen Sie den Wert stattdessen in der Unit-Datei.
[Service]
UMask=0027Warum Webdateien 644 und Webverzeichnisse 755 haben
Ein Webserver läuft unter einem eigenen Benutzerkonto: www-data unter Debian und Ubuntu, nginx unter Rocky und Alma. Dieser Prozess benötigt Leserechte für die ausgelieferten Dateien und Ausführungsrechte für die darüberliegenden Verzeichnisse. Schreibrechte benötigt er nicht. Bei einer statischen Website sollte er sie niemals haben.
644 für eine Datei gibt dem Eigentümer Schreibrechte und allen Benutzern Leserechte. Dadurch kann der Deploy-Benutzer Dateien veröffentlichen und der Webbenutzer sie ausliefern. 755 für ein Verzeichnis gibt dem Eigentümer Schreibrechte und allen Benutzern Ausführungsrechte. Der Webbenutzer kann den Pfad dadurch durchlaufen, aber nichts hinzufügen oder löschen. Ein Fehler in der Anwendung kann die ausgelieferten Seiten dann nicht überschreiben.
Die Regel für das Durchlaufen greift genau hier. Wenn die Website in /home/deploy/site liegt und /home/deploy auf 750 gesetzt ist, kann der Webbenutzer das Home-Verzeichnis überhaupt nicht betreten. Die Anfrage endet dann mit HTTP 403 und einer Zeile wie dieser in /var/log/nginx/error.log:
open() "/home/deploy/site/index.html" failed (13: Permission denied), client: 203.0.113.5Die 13 steht für EACCES, also für die vom Kernel verweigerte Berechtigung. Mit dem Netzwerk ist alles in Ordnung: Der Port lauscht und die Anfrage ist eingegangen. Das macht den Fehler verwirrend, solange Sie noch lernen, wie Listening-Ports unter Linux funktionieren. Führen Sie namei -l /home/deploy/site/index.html aus und prüfen Sie die Verzeichniskette bis zum ersten Verzeichnis ohne x für andere Benutzer.
Ein Verzeichnis, in das die Anwendung schreibt, etwa ein Upload-Pfad, ist eine Ausnahme. Vergeben Sie diese Berechtigung über den Eigentümer statt über einen weiteren Modus: sudo chown -R www-data:www-data /srv/site/uploads. Belassen Sie den Modus bei 755. Beschränken Sie den Schreibzugriff auf das eine Verzeichnis, das ihn benötigt.
chmod, ohne den gesamten Verzeichnisbaum zu vereinheitlichen
chmod unterstützt beide Schreibweisen. Mit der Oktalschreibweise setzen Sie alle neun Bits gleichzeitig: chmod 644 notes.txt. Die symbolische Schreibweise ändert nur die angegebenen Berechtigungen und lässt den Rest unverändert: chmod u+x deploy.sh fügt dem Eigentümer die Ausführberechtigung hinzu, und chmod go-w notes.txt entfernt die Schreibberechtigung für Gruppe und andere.
Bei rekursiven Änderungen können Verzeichnisbäume beschädigt werden. chmod -R 755 . markiert jedes Bild und jede Konfigurationsdatei als ausführbar, weil chmod nicht zwischen einem Skript und einer JPEG-Datei unterscheiden kann. Verwenden Sie stattdessen das große X.
chmod -R u=rwX,go=rX ~/permdemo
stat -c '%a %n' ~/permdemo ~/permdemo/inner/notes.txtDas große X setzt die Ausführberechtigung für Verzeichnisse und für Dateien, bei denen bereits irgendwo ein Ausführungsbit gesetzt war. Verzeichnisse erhalten 755, gewöhnliche Dateien 644, und bereits ausführbare Skripte behalten diese Berechtigung. Wenn eine Datei bereits einen passenden Modus besitzt, kopiert chmod --reference=good.sh other.sh diesen auf die anderen Dateien.
Die Meldungen, die Sie bei einem falschen Bit sehen
bash: ./deploy.sh: Permission denied bedeutet, dass das Skript im für Sie geltenden Triad keine x-Berechtigung besitzt oder dass ein Verzeichnis in seinem Pfad keine x-Berechtigung besitzt. chmod u+x deploy.sh behebt den ersten Fall.
bash: ./deploy.sh: cannot execute: required file not found ist ein anderer Fehler mit einer irreführenden Bezeichnung. Das x-Bit ist korrekt gesetzt, aber der in der ersten Zeile angegebene Interpreter fehlt. Die häufigste Ursache sind Windows-Zeilenenden. Dadurch sucht der Kernel nach einem Interpreter namens /bin/bash\r. Beheben Sie das mit sed -i 's/\r$//' deploy.sh.
Permissions 0644 for '/home/deploy/.ssh/id_ed25519' are too open. stammt vom SSH-Client. Er verweigert die Verwendung eines privaten Schlüssels, den andere Konten lesen können. Der Schlüssel muss auf 600 gesetzt sein, ~/.ssh auf 700. Die vollständige Verwaltung von Schlüsseln finden Sie unter SSH-Schlüssel und ihre Dateiberechtigungen verwalten.
Authentication refused: bad ownership or modes for directory /home/deploy/.ssh erscheint im Journal des Servers, wenn ein Home-Verzeichnis oder dessen .ssh für die Gruppe beschreibbar ist. Die sshd-Einstellung StrictModes lehnt den Schlüssel ab. Auf der Client-Seite äußert sich das als unerwartete Passwortabfrage ohne Erklärung.
sudo: /etc/sudoers is world writable, gefolgt von sudo: no valid sudoers sources found, quitting, bedeutet, dass sudo die Berechtigungen seiner eigenen Konfigurationsdatei geprüft und die Ausführung verweigert hat. Diese Datei muss auf 0440 gesetzt sein. Das ist die typische Folge eines weitreichenden rekursiven chmod. Der Fehler kann zusammen mit der oben genannten sshd-Meldung auftreten. Dann bleibt nur die Konsole des Providers als Rückweg auf den Server.
Warum 777 keine Lösung ist
777 gewährt jedem Konto auf dem System und jedem Prozess unter einem dieser Konten Schreibzugriff. Ein Server führt Dienste unter eigenen Benutzern aus. Daher umfasst „jeder“ auf einem VPS deutlich mehr Konten als auf einem Laptop. Ein kompromittierter Dienst kann überall dorthin schreiben, wo 777 dies erlaubt.
Unterhalb eines Web-Roots sind die Folgen unmittelbar. Ein Verzeichnis mit Schreibzugriff für alle, das der Server gleichzeitig ausliefert, macht aus einer Schwachstelle beim Datei-Upload eine Möglichkeit, ein Skript abzulegen und anschließend abzurufen.
777 ist bei einer Frage zu Besitzrechten fast immer die falsche Antwort. Das Symptom lautet: „Die Anwendung kann nicht in dieses Verzeichnis schreiben.“ Die Ursache ist, dass das Verzeichnis dem falschen Benutzer gehört. sudo chown -R appuser:appuser /srv/app/storage mit dem Modus 755 behebt das Problem und hält alle anderen Konten fern. Diese Konten vor jeder Bereitstellung anzulegen, gehört in die ersten zehn Minuten auf einem neuen VPS.
Schreibzugriff für alle ist an einer bekannten Stelle sinnvoll: /tmp. Die Schreibweise lautet drwxrwxrwt. Das abschließende t ist das Sticky-Bit: Das Verzeichnis ist für alle beschreibbar, aber ein Benutzer darf nur Dateien löschen, die ihm gehören. Ohne dieses Bit könnte jedes Konto die temporären Dateien eines anderen Kontos löschen.
Lesen Sie einen Modus, bevor Sie ihn ändern
Diese Befehle lesen nur den Status. Sie können daher überall sicher ausgeführt werden.
id
umask
stat -c '%A %a %U %G %n' ~/permdemo ~/permdemo/inner/notes.txt
namei -l ~/permdemo/inner/notes.txt
find ~/permdemo -perm -0002find <path> -perm -0002 listet alles unterhalb eines Pfads auf, dessen Schreibbit für alle Benutzer gesetzt ist. Das ist die schnellste Möglichkeit, einen Server zu prüfen, nachdem jemand mit chmod 777 Reparaturen durchgeführt hat.
Um zu prüfen, ob ein bestimmtes Dienstkonto ein Verzeichnis betreten kann, führen Sie die Abfrage als dieses Konto aus. sudo -u www-data test -x /srv/site && echo yes || echo no gibt yes aus, wenn dieser Benutzer über das Durchsuchungsrecht für das Verzeichnis verfügt, und no, wenn dies nicht der Fall ist. Eine Abfrage als root liefert keine aussagekräftige Information, weil root die Prüfung umgeht und die Antwort immer yes lautet.
FAQ
Was bedeutet drwxr-xr-x unter Linux?
Es handelt sich um ein Verzeichnis, das durch das führende d gekennzeichnet ist und den Modus 755 hat. Die Eigentümer-Triade ist rwx. Der Eigentümer hat daher alle Berechtigungen. Die Gruppen-Triade ist r-x und die Triade für andere Benutzer ist r-x. Alle anderen können somit die enthaltenen Namen auflisten und das Verzeichnis durchqueren. Nur der Eigentümer kann darin etwas hinzufügen oder entfernen. Mit stat -c '%A %a %U %G %n' <path> können Sie jeden Pfad prüfen. Der Befehl gibt die Buchstabenform und die Oktalform nebeneinander aus.
Warum haben Webdateien den Modus 644 und Webverzeichnisse den Modus 755?
Der Webserver läuft unter einem anderen Konto, unter Ubuntu unter www-data. Er benötigt Leserechte für die bereitgestellten Dateien und das Durchqueren jedes übergeordneten Verzeichnisses. Schreibrechte benötigt er für beides nicht. 644 gibt dem Eigentümer Schreibrechte und allen anderen Leserechte. 755 gibt dem Eigentümer Schreibrechte und allen anderen das Recht, das Verzeichnis zu durchqueren. Ein Verzeichnis, in das die Anwendung tatsächlich schreiben muss, sollte mit chown an den Benutzer dieser Anwendung übergeben werden, statt den Modus für alle Benutzer zu erweitern.
Bedeutet das x-Bit, dass ich ein Verzeichnis ausführen kann?
Nein. Bei einem Verzeichnis x bedeutet das x-Bit, dass das Verzeichnis durchquert werden darf. Damit darf der Kernel beim Auflösen eines Pfads einen darin enthaltenen Namen auflösen. cd benötigt dieses Recht. Das gilt auch für das Öffnen jeder darunterliegenden Datei. Jedes Verzeichnis im Pfad benötigt x. Daher ist eine Datei mit dem Modus 644 trotzdem nicht erreichbar, wenn einem übergeordneten Verzeichnis x für Sie fehlt. namei -l /path/to/file gibt den Modus jedes Verzeichnisses in der Pfadkette aus. So sehen Sie, an welcher Stelle die Auflösung endet.
Ist chmod 777 jemals die richtige Lösung?
Auf einem Server fast nie. Der Modus gewährt jedem Konto auf dem Rechner Schreibrechte, auch den Konten, unter denen Dienste laufen. Ein kompromittierter Dienst kann dadurch die Datei ändern. Wenn eine Anwendung nicht in ein Verzeichnis schreiben kann, liegt das eigentliche Problem meist beim Eigentümer: sudo chown -R appuser:appuser /srv/app/storage mit dem Modus 755 gibt der Anwendung die benötigten Rechte und schließt alle anderen aus. Die bekannte Ausnahme ist /tmp bei 1777. Das funktioniert nur, weil das Sticky-Bit verhindert, dass Benutzer die Dateien anderer Benutzer löschen.
Warum gibt ls nach den Berechtigungen einen Punkt oder ein Pluszeichen aus?
Das elfte Zeichen beschreibt Regeln, die über die neun Berechtigungsbits hinausgehen. Ein Punkt wie in drwxr-xr-x. bedeutet, dass ein SELinux-Sicherheitskontext zugeordnet ist. Das ist unter Fedora und Rocky normal. Ein Pluszeichen wie in drwxr-xr-x+ bedeutet, dass eine POSIX-ACL (Access Control List) gesetzt ist. Dadurch besitzt ein Benutzer oder eine Gruppe Rechte, die in den drei Triaden nicht angezeigt werden. Mit getfacl <path> können Sie diese zusätzlichen Einträge auflisten.