Ich kann nie daran erinnern , was die Umwandlung von etwas ist , wie rw-r--r--
zu 644
. Gibt es einen einfachen webbasierten Konverter zwischen den 2?
stat -c
...
Ich kann nie daran erinnern , was die Umwandlung von etwas ist , wie rw-r--r--
zu 644
. Gibt es einen einfachen webbasierten Konverter zwischen den 2?
stat -c
...
Antworten:
Diese Site bietet eine interaktive Möglichkeit, um zu sehen, welche Berechtigungsbits gesetzt sind, wenn verschiedene Bits gesetzt / nicht gesetzt sind.
Der "Rechner" sieht so aus:
Warum brauchen Sie überhaupt eine Oktalzahl?
Ich benutze immer:
chmod o+x file # all + eXecute permissions
chmod g-w file # group - write perms
chmod u=r file # user can just read
chmod ug=rw file # user,group = read and write
chmod a+w file # user,group,others + write
ugo (a) ist leicht zu merken. Sie können jedoch o: = Eigentümer verwechseln? o: = andere? aber was wärst du, wenn o = besitzer? o: = user, also o = other.
Einige Befehle mögen nur numerische Berechtigungen. Okay, es ist nicht schwer zu berechnen, wenn Sie sich an die beiden Sequenzen erinnern: ugo + rwx.
r w x | Sum
u 4 2 1 | 7
g 4 - 1 | 5
o 4 2 - | 6
---------------------
756
Ja, sehr künstlich.
Wenn es um s und SI geht, muss das Handbuch konsultiert werden. Vielleicht beim nächsten Mal googeln. :)
Ich mag diesen Berechtigungsrechner:
http://file-permissions.ninja
Dies ist bei weitem am bequemsten, und außerdem, glaube ich, genau das, wonach Sie ursprünglich gefragt haben:
http://ss64.com/osx/chmod.html
Es ist vollständig interaktiv, obwohl Sie die Zeichenfolge "-rx -------" nicht bearbeiten können, sondern das Oktal oder die Kontrollkästchen. Wenn Sie einen der beiden Schritte ausführen, wird der andere aktualisiert.
Von derselben Seite:
Numerischer (absoluter) Modus:
Ein bis vier Oktal-Ziffern Alle weggelassenen Ziffern werden als führende Nullen angenommen.
Die erste Ziffer = wählt Attribute für die festgelegte Benutzer-ID (4) und die festgelegte Gruppen-ID (2) und speichert das Textbild (1). Die zweite Ziffer = Berechtigungen für den Benutzer, dem die Datei gehört: Lesen (4), Schreiben (2). , und Ausführen (1) Die dritte Ziffer = Berechtigungen für andere Benutzer in der Dateigruppe: Lesen (4), Schreiben (2) und Ausführen (1) Die vierte Ziffer = Berechtigungen für andere Benutzer, die NICHT in der Dateigruppe enthalten sind: Lesen ( 4), schreibe (2) und führe aus (1)
Der Oktalwert (0-7) wird berechnet, indem die Werte für jede Ziffer addiert werden. Benutzer (rwx) = 4 + 2 + 1 = 7 Gruppe (rx) = 4 + 1 = 5 Welt (rx) = 4 + 1 = 5 chmod mode = 0755
Ich habe diesen kleinen Alias, den Sie in Ihre .bashrc-Datei (oder eine gleichwertige Datei) einfügen können.
HAFTUNGSAUSSCHLUSS: Ich bin nicht der Autor des Drehbuchs, und ich bin nicht sicher, wer es geschrieben hat ... aber ich schlage ihm / ihr vor, dies zu tun.
alias lsp="ls -l --color |
awk '{k=0; for(i=0;i<=8;i++) k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));
if (k) printf(\" %0o \",k); print}'"
echo 'rwxrwxrw-' | perl -ne 'BEGIN{sub conv{ chomp(my $ins=shift); my $k=0; for(my $i=0;$i<=8;$i++) { my $tmps = ( substr($ins, $i, 1) =~ /[rwx]/ ); $k+= ( $tmps*(2**(8-$i)) ); }; if ($k) { sprintf(" %0o ", $k); } else { "??" ; }; }; } print(conv($_)."\n");'
würde " 776
" ausgeben . Prost!