Programmatisch oder müssen Sie nur übersetzen können?
Mattdm
Ich bin faul zu übersetzen :) stat ist für einen Moment in Ordnung für mich.
CND
9
Was meinst du mit "gleich setzen"? Haben Sie bereits eine Datei mit der Berechtigung -rw-r - r-- und möchten eine andere Datei mit denselben Berechtigungen festlegen? Dann prüfen Sie, ob Ihre chmodUnterstützung --referenceFolgendes beinhaltet: "--reference = RFILE benutze RFILEs Modus anstelle von MODE-Werten" - man chmod.
stat -c %a /path/to/fileist der Zaubertrick, den Sie brauchen.
fromnaboo
und die Antwort ist oben im Zugriffsblock. Die Datei, die er im Beispiel verwendet hat, hat einen anderen Zugriff als die fragliche. derjenige in der Frage hätte gezeigt, Access: (0644 / -rw-r - r--)
Nycynik
65
r=4
w=2
x=1
in jeder Gruppe. Ihr Beispiel ist 6 (r + w = 4 + 2) 4 (r = 4) 4 (r = 4).
Die Nummer für den Vollzugriffsmodus ist eine 4-stellige Oktalzahl. Meistens verwenden Sie jedoch nur die 3 niedrigstwertigen Ziffern. Addieren Sie jede Gruppe in der Berechtigungszeichenfolge und nehmen Sie r = 4, w = 2, x = 1. Zum Beispiel:
Manchmal sieht man einen seltsamen Modestring wie diesen:
-rwsr-xr-T
Die vierte Ziffer ist auf die xBits im Modestring überladen. Wenn Sie einen anderen Buchstaben als xdort sehen, bedeutet dies, dass eines dieser "speziellen" Bits mit der vierten Ziffer gesetzt ist, und wenn der Buchstabe in Kleinbuchstaben geschrieben ist, xwird auch für diese Position gesetzt. Die Übersetzung für dieses ist also:
4 2 1
421421421
-rwsr-xr-T
+ + + -- s+_+T = 4+0+1 = 5
\_/ -- r+w+s = 4+2+1 = 7 (s is lowercase, so 1)
\_/ -- r+_+x = 4+0+1 = 5
\_/ -- r+_+T = 4+0+0 = 4 (T is uppercase, so 0) => 05754
Die standardmäßige UNIX-Methode, um zu zeigen, dass eine Zahl oktal ist, besteht darin, sie mit einer Null zu beginnen. GNU chmodgeht davon aus, dass der von Ihnen angegebene Modus ohnehin oktal ist, aber es ist am sichersten, der Null voran zu stellen.
Wenn Sie +am Ende des Modestrings ein sehen:
-rwxr-xr-x+
Das bedeutet dann, dass die Datei erweiterte Berechtigungen hat und Sie mehr als benötigen chmod. Schauen Sie in die setfaclund getfaclBefehle, für den Anfang.
chmod
Unterstützung--reference
Folgendes beinhaltet: "--reference = RFILE benutze RFILEs Modus anstelle von MODE-Werten" - man chmod.Antworten:
Bitte überprüfen Sie die
stat
Ausgabe:quelle
stat -c %a /path/to/file
ist der Zaubertrick, den Sie brauchen.in jeder Gruppe. Ihr Beispiel ist 6 (r + w = 4 + 2) 4 (r = 4) 4 (r = 4).
quelle
Die Nummer für den Vollzugriffsmodus ist eine 4-stellige Oktalzahl. Meistens verwenden Sie jedoch nur die 3 niedrigstwertigen Ziffern. Addieren Sie jede Gruppe in der Berechtigungszeichenfolge und nehmen Sie r = 4, w = 2, x = 1. Zum Beispiel:
Manchmal sieht man einen seltsamen Modestring wie diesen:
Die vierte Ziffer ist auf die
x
Bits im Modestring überladen. Wenn Sie einen anderen Buchstaben alsx
dort sehen, bedeutet dies, dass eines dieser "speziellen" Bits mit der vierten Ziffer gesetzt ist, und wenn der Buchstabe in Kleinbuchstaben geschrieben ist,x
wird auch für diese Position gesetzt. Die Übersetzung für dieses ist also:Die standardmäßige UNIX-Methode, um zu zeigen, dass eine Zahl oktal ist, besteht darin, sie mit einer Null zu beginnen. GNU
chmod
geht davon aus, dass der von Ihnen angegebene Modus ohnehin oktal ist, aber es ist am sichersten, der Null voran zu stellen.Wenn Sie
+
am Ende des Modestrings ein sehen:Das bedeutet dann, dass die Datei erweiterte Berechtigungen hat und Sie mehr als benötigen
chmod
. Schauen Sie in diesetfacl
undgetfacl
Befehle, für den Anfang.quelle
Dies könnte einfach sein
quelle
Berechtigungen sind nur die Zeichenfolgendarstellung einer Binärzahl.
Das
0
wird meistens durch dargestellt-
, der Rest sind Buchstaben.Basic
Für grundlegende Berechtigungen:
Rechne alle
-
und CapsS
oder ToT
um0
, der Rest sollte das darstellen1
.Die resultierende so konstruierte Binärzahl sollte als Oktal gedruckt werden:
In einer Zeile:
Fehlerkorrektur und Erkennung der anderen 3 Bits
1000
,2000
oder4000
benötigen Sie etwas mehr Code:quelle
Ruft die Liste der Dateien mit ihren String- und Hex-Berechtigungswerten ab. Setzen Sie% N am Ende, um die Ausgabe in Excel zu vereinfachen.
Dadurch werden alle Dateien mit einer bestimmten hexadezimalen Berechtigung gefunden.
quelle
Für alle gleichzeitigen Dateien in einem Verzeichnis
Für alle Dateien
quelle