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.