Keine Werbung mögen? Gehen Werbefrei Heute

Befehl chmod Rechner Unix-Datei-Rechte ohne das Merken von Oktalzahlen

Veröffentlicht am
chmod Rechner: Unix-Dateirechte ohne das Merken von Oktalzahlen 1
ANZEIGE Entfernen?

Unix-Dateirechte verwickeln fast alle Menschen zu einem Zeitpunkt. Die rätselhafte rwxr-xr-x In ls -la Ausgabe, die dreistellige Oktalzahlen, der Unterschied zwischen chmod, chownund chgrp — es ist viel, das man im Kopf halten muss. Dies ist eine Referenz, die Sie bookmarken können.

Wenn Sie einen Wert gerade berechnen müssen, verwenden Sie den Befehl chmod Rechner — wählen Sie Ihre Rechte visuell und es erzeugt die richtige Oktal- oder symbolische Notation.

Das Rechte-Modell

Jede Datei und Verzeichnis hat drei Rechte-Sätze:

  • Besitzer (u) — der Benutzer, der die Datei besitzt
  • Gruppe (g) — Mitglieder der zugewiesenen Gruppe der Datei
  • Andere (o) — alle anderen

Jeder Satz erhält drei Bits: Lesen (r = 4), Schreiben (w = 2), Ausführen (x = 1). Fügen Sie sie zusammen, um die Oktaldigit für diesen Satz zu erhalten. Also rwx = 4+2+1 = 7, r-x = 4+0+1 = 5, r-- = 4+0+0 = 4.

Ein dreistelliges Oktalzahl wie 755 bedeutet: Besitzer erhalten 7 (rwx), Gruppe erhält 5 (r-x), andere erhalten 5 (r-x).

Lesen von ls -la Ausgabe

-rwxr-xr-x 1 thien www-data 4096 Apr 10 10:00 deploy.sh
drwxr-x--- 2 thien www-data 4096 Apr 10 09:00 private/

Der erste Buchstabe ist die Dateityp: - für eine reguläre Datei, d für ein Verzeichnis, l für eine Symbolik. Die nächsten neun Zeichen sind die drei Rechte-Sätze in Reihenfolge — Besitzer, Gruppe, andere — jeweils drei Zeichen.

Gängige chmod-Werte

WertEigentümerGruppeSonstigesTypische Anwendung
644rw-r–r–Webdateien (HTML, CSS, PHP)
755rwxr-xr-xVerzeichnisse, Shell-Skripte
600rw-SSH-Schlüssel, private Konfigurationsdateien
640rw-r–Konfigurationsdateien (gruppenlesbar)
664rw-rw-r–Gemeinsame Projektdateien
700rwxPrivate Skripte
777rwxrwxrwxVerwenden Sie nicht — gibt jedem vollständigen Zugriff

Warum 777 falsch ist

chmod 777 ist ein häufiger „später-fix“-Shortcut, der oft dauerhaft bleibt. Es gibt jedem Benutzer im System — und im Webkontext jeder PHP-Prozess — Schreibzugriff auf Ihre Dateien. Auf einem gemeinsamen Server ist das ein Sicherheitsloch. Auf einem VPS ist das unordentlich. Beheben Sie das tatsächliche Besitzungsproblem mit chown stattdessen.

chmod vs chown vs chgrp

BefehlWas es ändert
chmodLeserechte, Schreibrechte und Ausführungsrechte auf die Datei
chownWelcher Benutzer (und ggf. Gruppe) die Datei besitzt
chgrpWelche Gruppe die Datei besitzt
chmod 644 index.php           # Set permissions
chown www-data:www-data .    # Change owner and group
chgrp developers config.yml  # Change group only

Sticky Bit, setUID, setGID

Diese werden durch eine vierte Oktaldigit (als Präfix) oder durch Buchstabensubstitutionen in der symbolischen Notation dargestellt.

  • Sticky Bit (1 / t) — in Verzeichnissen kann nur der Dateibesitzer seine eigenen Dateien löschen. Verwendet in /tmp.
  • setUID (4 / s auf Besitzer x) — die Datei wird als ihr Besitzer ausgeführt, nicht als der ausführende Benutzer. Verwendet durch sudo und passwd.
  • setGID (2 / s auf Gruppe x) — bei Dateien: ausgeführt mit der Gruppe der Datei. Bei Verzeichnissen: neue Dateien erben die Gruppe des Verzeichnisses, was für gemeinsame Projektverzeichnisse nützlich ist.
chmod +t /shared/dir          # Add sticky bit
chmod 1755 /shared/dir        # Sticky bit + standard 755
chmod g+s /var/www/project/   # setGID on a directory

In ls -l Ausgabe, setGID auf einem Verzeichnis sieht aus wie drwxrwsr-x; Sticky Bit sieht aus wie drwxrwxrwt.

Rekursive Rechte: Achten Sie bei -R auf Vorsicht

chmod -R wirkt die Rechte auf ein Verzeichnis und alles darin. Der häufige Fehler: die 755 setzt rekursiv Ausführung auf alle Dateien, selbst wenn sie nicht benötigt wird. Ein sicherer Ansatz trennt Verzeichnisse von Dateien:

# Apply 755 to directories, 644 to files
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

Beheben häufiger Rechteprobleme

# Web server can't read your files (403 Forbidden)
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

# SSH key refused (WARNING: UNPROTECTED PRIVATE KEY FILE)
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 700 ~/.ssh

# Script won't execute (Permission denied)
chmod +x deploy.sh

# PHP can't write to uploads directory
chown www-data:www-data wp-content/uploads
chmod 755 wp-content/uploads

Überspringen Sie die mentale Mathematik

Die Übersetzung von rwxr-x--- Zu 750 in Ihrem Kopf ist machbar, aber aufwendig. Der chmod Rechner bei IO Tools erlaubt es Ihnen, Rechte visuell zu wählen und zeigt sofort sowohl den Oktalwert als auch die symbolische Notation an — nützlich, wenn Sie sicher sein wollen, bevor Sie chmod -R auf ein Produktverzeichnis ausführen.

Möchten Sie werbefrei genießen? Werde noch heute werbefrei

Erweiterungen installieren

IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche

Zu Chrome-Erweiterung Zu Kantenerweiterung Zu Firefox-Erweiterung Zu Opera-Erweiterung

Die Anzeigetafel ist eingetroffen!

Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!

ANZEIGE Entfernen?
ANZEIGE Entfernen?
ANZEIGE Entfernen?

Nachrichtenecke mit technischen Highlights

Beteiligen Sie sich

Helfen Sie uns, weiterhin wertvolle kostenlose Tools bereitzustellen

Kauf mir einen Kaffee
ANZEIGE Entfernen?