Was bedeutet "chmod 666"?


47

Ich benutze Linux. Was ist die Bedeutung von chmod 666?


28
aka, der Satan Befehl.
Moab,

6
Wenn Sie das stört (oder wenn Sie sich nicht die Mühe machen, sich diese Zahlen zu merken), können Sie es auch so schreiben chmod a=rw.
Starblue

nutzloser befehl, da das dritte argument nicht gegeben ist ^^
kokbira

Außerdem kann es zu Sicherheitslücken (alle Benutzer können die Datei / den Ordner schreiben) oder zu nutzlosen Datei- / Ordner-Berechtigungen kommen
kokbira

Antworten:


112

chmod Befehlsänderungsattribute aus einer Datei / einem Ordner:

  • chmod 666 file/folder bedeutet, dass alle Benutzer lesen und schreiben können, die Datei / den Ordner jedoch nicht ausführen können;
  • chmod 777 file/folder erlaubt alle Aktionen für alle Benutzer;
  • chmod 744 file/foldererlaubt nur dem Benutzer (Eigentümer), alle Aktionen auszuführen; Gruppen- und andere Benutzer dürfen nur lesen.

    permission to:  user(u)   group(g)   other(o)     
                    /¯¯¯\      /¯¯¯\      /¯¯¯\
    octal:            6          6          6
    binary:         1 1 0      1 1 0      1 1 0
    what to permit: r w x      r w x      r w x
    
    binary         - 1: enabled, 0: disabled
    
    what to permit - r: read, w: write, x: execute
    
    permission to  - user: the owner that create the file/folder
                     group: the users from group that owner is member
                     other: all other users
    

Alternativ können Sie den Befehl mit einer intuitiveren Syntax ausführen, ohne binär oder oktal denken zu müssen (die Kenntnis der numerischen Syntax ist jedoch so wichtig): chmod u=rw, g=rw, o=rw file/folder

Denken Sie daran, dass die Berechtigungsänderung mit dem chmodBefehl mindestens 3 Argumente chmod 666erfordert. Ohne explizite Datei / Ordner können Sie also keine Berechtigungen ändern.

Kritisieren Sie auch, ob dies keine unsicheren Probleme verursacht oder ob es sich lediglich um eine nutzlose Berechtigungsänderung handelt, da chmod 666das Schreiben von Dateien / Ordnern an alle und die Ausführung an keine möglich sind.


5
Es ist nur "oktal", nicht "dezimal". +1 sowieso.
Ben Voigt

1
Der dritte im ersten Beitrag erwähnte Punkt ist falsch - in chmod 711 darf nur der Besitzer alle Aktionen ausführen, Gruppen und andere dürfen nur lesen! [Bildbeschreibung hier eingeben] [1] Dies ist die Tabelle für rwx für octal rwx 000 001 010 011 100 101 110 111 Oktal 001 oder 1 bedeutet Ausführungserlaubnis Oktal 7, 111 bedeutet Lese-, Schreib- und Ausführungserlaubnis, daher bezeichnet 711 rwx für Eigentümer und x für Gruppen und andere.

3
Es wird sowieso nur auf 7 gesetzt, sodass in diesem Fall kein Unterschied zwischen Oktal und Dezimal besteht. : /
Rob

yeah, @Yash, und nach 1 Jahr, 2 Monaten und 18 Tagen nach dem ursprünglichen Post hat jemand diesen Fehler gesehen :) Ich werde ihn am Beispiel auf 744 korrigieren.
Kokbira

1
@KyleVassella ownerist der Eigentümer der Datei oder des Ordners, in der Regel derjenige, der sie erstellt hat. groupDies ist die Gruppe von Benutzern, die dieser Datei oder diesem Ordner zugeordnet sind, im Allgemeinen die Gruppe, in der sich der Eigentümer befindet. Stellen Sie sich also vor, ich bin rootbira und mein Groop ist rootusers, und Sie sind auch in dieser Gruppe, und alle anderen SU-Forumsmitglieder sind in einer anderen Gruppe. Wenn ich eine Datei erstelle und eine mit chmod 750 mache, würde ich sie lesen, schreiben und ausführen, Sie würden nur lesen und ausführen und SU-Benutzer würden nichts tun - es ist unser Geheimnis
kokbira

7

Im Klartext: Es macht eine Datei für den Dateieigentümer, die Gruppe des Dateieigentümers und jeden anderen, der die Maschine (alle) verwendet, lesbar und beschreibbar. Wird es auf ein Verzeichnis angewendet, kann jeder ein Verzeichnis lesen (Listen mit Dateiinhalten abrufen) und schreiben (Dateien im Verzeichnis erstellen, bearbeiten), jedoch keine Dateien aus dem Verzeichnis ausführen.

Weitere Informationen zur Funktionsweise finden chmodSie in diesem praktischen Tutorial .


2
... Wollen Sie damit nicht sagen, dass jeder Dateien lesen / schreiben, aber nicht ausführen darf, und dass jeder Dateien in einem Verzeichnis lesen / schreiben darf, aber nicht alle Dateien auflistet?
Earlz

2
Das, was @earlz sagt, und das Schreiben in ein Verzeichnis bedeuten nicht, dass Sie Dateien dort bearbeiten können (das Schreiben von Berechtigungen in eine Datei), sondern nur, dass Sie neue Einträge erstellen können (Verzeichnisse, Dateien, Symlinks usw.). Es ist auch nett von Ihnen, der Vollständigkeit halber dirs zu erwähnen, aber 666 macht für ein dir keinen Sinn; Sie würden niemals x für den Eigentümer eliminieren.
Rich Homolka

1
@Earlz: danke dafür. Ich vergesse immer, was 666 für dirs tut, weil ich nie rw- für einen Benutzer auf ein Verzeichnis gesetzt habe. :)
Ian C.

7

Wie in anderen Antworten erwähnt, bedeutet chmod Änderungsmodus. Dies wirkt sich auf die Lese-, Schreib- und Ausführberechtigungen für den Eigentümer, die Gruppe und andere Benutzerkategorien aus. Die Zahlen, die auf den Befehl folgen (in diesem Fall 666), geben an, wie diese Berechtigungen für die Datei geändert werden, für die der Befehl ausgeführt wird. .

Indem Sie die Zahlen in unterschiedliche Werte ändern, ändern Sie effektiv die Berechtigungen für die Datei. Der Link, auf den ich oben verwiesen habe, enthält ein kleines Tool, mit dem Sie herausfinden können, welche Werte Sie eingeben müssen, um das gewünschte Berechtigungsschema zu erhalten. Außerdem werden die für den Befehl verfügbaren Schalteroptionen und einige Beispiele erläutert, damit Sie besser verstehen, wie der Befehl funktioniert.


1
Das ist eine großartige Seite. Es geht in meine Lesezeichen. Vielen Dank!
Kirk

5

Der Befehl chmod (abgekürzt als Änderungsmodus) ist ein Unix-Befehl, mit dem ein Bediener dem System mitteilt, wie viel (oder wenig) Zugriff es auf eine Datei erlauben soll. Befehl chmod 666bedeutet, dass alle Benutzer Lese- und Schreibrechte haben.


2

Wenn Ihre Fragen eher den 666-Teil als den chmod-Teil betreffen, verweise ich Sie auf The Linux Documentation Project. Dort finden Sie eine anständige Erklärung, wie Dateiberechtigungen unter Linux funktionieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.