Sie verwenden -664
, verwenden Sie 664
stattdessen einfach . Und nie verwenden, sudo
wenn Sie nicht brauchen. Wenn das deine Datei ist, brauchst du nicht sudo
:
chmod 644 my_file
Wenn Sie chmod
mit einem -
vor dem Modus ausführen , entfernen Sie diesen Modus. Siehe man chmod
(Hervorhebung meiner):
Der Operator + bewirkt, dass die ausgewählten Dateimodusbits zu den vorhandenen Dateimodusbits jeder Datei hinzugefügt werden. - bewirkt, dass sie entfernt werden ; und = bewirkt, dass sie hinzugefügt und nicht erwähnte Bits entfernt werden, mit der Ausnahme, dass die nicht erwähnten gesetzten Benutzer- und Gruppen-ID-Bits eines Verzeichnisses nicht betroffen sind.
Die Zahlen sind:
- 1: ausführen
- 2: schreibe
- 4: lesen
Eine Datei mit 777
Berechtigungen bedeutet also, dass jeder das Recht hat, alle drei Aktionen auszuführen, da 1 + 2 + 4 = 7. Wenn Sie also die Berechtigungen auf 7 setzen, können Sie lesen, schreiben und ausführen.
Wenn Sie mit einer Datei beginnen, deren Modus wie folgt lautet 777
:
$ ls -l my_file
-rwxrwxrwx 1 terdon terdon 0 May 28 13:45 my_file
Und jetzt führen chmod -644
Sie aus, Sie werden die Bits entfernen 644
und mit einer Datei enden, deren Modus ist 133
:
$ chmod -644 my_file; ls -l my_file
---x-wx-wx 1 terdon terdon 0 May 28 13:45 my_file
Das liegt daran, dass Sie 6 (Lesen (4) + Schreiben (2)) aus den Berechtigungen des Besitzers entfernt haben und nur 1 (Ausführen) und 4 (Lesen) aus der Gruppe und anderen Berechtigungen übrig gelassen haben. Das Ergebnis ist eine Datei mit nur (1) Ausführungsberechtigungen für den Eigentümer und Schreib- und Ausführungsberechtigungen (Sie deaktivieren 4, wobei 1 und 3 übrig bleiben) für den Rest.
Da die Dateien die Standardberechtigungen für neue Dateien vermutlich hatte, so 644
, wenn Sie lief chmod -644 my_file
, entfernt man alle gesetzten Berechtigungs - Bits und bekam eine Datei ohne Berechtigungen für jedermann.
$ ls -l my_file
-rw-r--r-- 1 terdon terdon 0 May 28 13:45 my_file
$ chmod -644 my_file
$ ls -l my_file
---------- 1 terdon terdon 0 May 28 13:45 my_file
-
644 vor? Versuchen Sie essudo chmod 644 my_file
.-644
entfernt die Rechte.