Esiste un convertitore basato sul web tra rwx e la versione ottale?


27

Non riesco mai a ricordare quale sia la conversione da qualcosa di simile rw-r--r--a 644. Esiste un semplice convertitore basato sul Web tra i 2?


È solo un numero ottale con le cifre binarie mappate su rwxrwxrwx (utente, gruppo, altro).
— Keith,

questo può essere facilmente calcolato a mano. oppure possono essere visualizzati da stat -c...
— dal

Risposte:


26

Questo sito fornisce un modo interattivo per vedere quali bit di autorizzazione vengono impostati quando vengono impostati / disinseriti vari bit.

Il "calcolatore" è simile al seguente:

  ss # 1


5
A proposito, l'ho ottenuto da Google per "strumento per i permessi dei file ottali". Google è sempre un ottimo primo posto da controllare quando hai una domanda.
— J. Taylor,

2
Pst, ho provato a cercare, ma non sono riuscito a trovare il termine di ricerca giusto. Mi dispiace disturbarti così tanto ... e darti qualche rappresentante.
— Darryl Hein,

3
Darryl - Non mi hai disturbato. Sto cercando di aiutarti a trovare le risposte alle domande più facilmente da solo, in modo che quando arriva il momento in cui hai una domanda a cui nessuno è disposto a rispondere per te, potresti essere in grado di rispondere da solo.
— J. Taylor,

3
Il collegamento ora è interrotto, motivo per cui generalmente scoraggiamo le risposte solo al collegamento, ma è difficile criticare quando la domanda ha richiesto un collegamento
— Michael Mrozek

3
Il collegamento non è più interrotto.

11

Perché hai bisogno del numero ottale in primo luogo?

Uso sempre:

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) è facile da ricordare. Tuttavia puoi confondere o: = proprietario? o: = altri? ma cosa saresti tu, se o = proprietario? u: = utente, quindi o = altro.

Ad alcuni comandi piacciono solo le autorizzazioni numeriche. Va bene, non è difficile da calcolare, se ricordi le due sequenze: ugo + rwx.

    r   w   x  | Sum
u   4   2   1  | 7
g   4   -   1  |  5
o   4   2   -  |   6
---------------------
                 756

Sì, molto artificiale.

Per quanto riguarda s e SI, consultare il manuale. Forse google la prossima volta. :)


8

Octal viene utilizzato per le autorizzazioni perché è una conversione facile . Ogni gruppo di rwxforma una cifra ottale. Tutto quello che devi ricordare sono i primi 3 poteri di 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


5

Mi piace questo calcolatore di autorizzazioni:
http://file-permissions.ninja


Normalmente, contrassegnerei questo come una risposta solo link, ma poiché l'OP chiedeva esplicitamente un sito Web, lo lascerò passare. Ricorda però che le risposte solo link sono spesso scoraggiate.
— HalosGhost,

Questo sito non sembra funzionare in questo momento. Vedo errori "403" nella console.
— Ryan

4

Questo è di gran lunga il più conveniente, ed è inoltre credo che esattamente quello che hai chiesto in origine:

http://ss64.com/osx/chmod.html

È completamente interattivo, sebbene non sia possibile modificare la stringa "-rx -------" ma è possibile selezionare le caselle ottali o casuali. Fare uno aggiorna l'altro.

Il mio strumento preferito proprio per questo

Dalla stessa pagina:

Modalità numerica (assoluta):

Da una a quattro cifre ottali Si presume che le cifre omesse siano zeri iniziali.

La prima cifra = seleziona gli attributi per l'ID utente impostato (4) e imposta l'ID gruppo (2) e salva l'immagine di testo (1) La seconda cifra = permessi per l'utente che possiede il file: read (4), write (2) ed esegui (1) La terza cifra = permessi per altri utenti nel gruppo del file: read (4), write (2) ed esegui (1) La quarta cifra = permessi per altri utenti NON nel gruppo del file: read ( 4), scrivi (2) ed esegui (1)

Il valore ottale (0-7) viene calcolato sommando i valori per ogni cifra Utente (rwx) = 4 + 2 + 1 = 7 Gruppo (rx) = 4 + 1 = 5 Mondo (rx) = 4 + 1 = 5 modalità chmod = 0755


4

Ho questo piccolo alias che puoi mettere nel tuo .bashrc (o equivalente).

DISCLAIMER: Non sono l'autore della sceneggiatura e non sono sicuro di chi l'abbia scritta ... ma propaga per lui / lei per averlo fatto.

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}'"

1
Mille grazie per questo, @nico - ecco lo stesso codice convertito in un perl one-liner e usato in bash: 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");'stampa " 776". Saluti!
— sdaau,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.