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?
stat -c
...
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?
stat -c
...
Risposte:
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:
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. :)
Mi piace questo calcolatore di autorizzazioni:
http://file-permissions.ninja
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.
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
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}'"
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!