Gibt es einen webbasierten Konverter zwischen RWX und der Oktalversion?

27

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?

Darryl Hein
quelle
Es ist nur eine Oktalzahl, bei der die Binärziffern auf rwxrwxrwx (Benutzer, Gruppe, andere) abgebildet werden.
Keith
Dies kann leicht von Hand berechnet werden. oder sie können angezeigt werden von stat -c...
fromnaboo

Antworten:

26

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:

  ss # 1

J. Taylor
quelle
5
Das habe ich übrigens von Googling für "Octal File Permissions Tool" bekommen. Google ist immer ein guter erster Ort, um zu überprüfen, wenn Sie eine Frage haben.
J. Taylor
2
Pst, ich habe versucht zu suchen, aber ich konnte nicht den richtigen Suchbegriff finden. Tut mir leid, dass ich Sie so sehr störe ... und Ihnen ein wenig Wiederholung gebe.
Darryl Hein
3
Darryl - Du hast mich nicht gestört. Ich versuche, Ihnen zu helfen, Antworten auf Fragen selbst zu finden, damit Sie diese möglicherweise selbst beantworten können, wenn Sie eine Frage haben, die niemand für Sie beantworten möchte.
J. Taylor
3
Der Link ist jetzt defekt. Aus diesem Grund raten wir im Allgemeinen von Antworten ab, die nur auf Links lauten. Es ist jedoch schwer zu kritisieren, wenn die Frage nach einem Link gestellt wird
Michael Mrozek
3
Die Verbindung ist nicht mehr unterbrochen.
11

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. :)

Benutzer unbekannt
quelle
8

Octal wird für Berechtigungen verwendet, da es sich um eine einfache Konvertierung handelt. Jede Gruppe von rwxbildet eine Oktalziffer. Alles, woran Sie sich erinnern müssen, sind die ersten 3 Potenzen von 2: 4, 2, 1. r= 4, w= 2, x= 1.

rw-r--r--= 110 100 100= 4+2+0 4+0+0 4+0+0=644

cjm
quelle
5

Ich mag diesen Berechtigungsrechner:
http://file-permissions.ninja

Bob
quelle
Normalerweise würde ich dies als Nur-Link-Antwort kennzeichnen, aber da das OP ausdrücklich nach einer Website gefragt hat, werde ich es passieren lassen. Beachten Sie jedoch, dass Antworten nur über Links häufig nicht empfohlen werden.
HalosGhost
Diese Seite scheint momentan nicht zu funktionieren. Ich sehe "403" Fehler in der Konsole.
Ryan
4

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.

Mein Lieblingswerkzeug dafür

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

Jasty
quelle
4

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}'"
nico
quelle
1
Vielen Dank dafür, @nico - hier ist derselbe Code, der als Perl-Einzeiler konvertiert und in bash verwendet wird: 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!
Sdaau