Eu nunca consigo lembrar o que a conversão é de algo como rw-r--r--
a 644
. Existe um simples conversor baseado na Web entre os 2?
stat -c
...
Eu nunca consigo lembrar o que a conversão é de algo como rw-r--r--
a 644
. Existe um simples conversor baseado na Web entre os 2?
stat -c
...
Respostas:
Este site fornece uma maneira interativa de ver quais bits de permissões são definidos quando vários bits são definidos / não definidos.
A "calculadora" fica assim:
Por que você precisa do número octal em primeiro lugar?
Eu sempre uso:
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) é fácil de lembrar. No entanto, você pode confundir o: = owner? o: = outro? mas o que seria você, se o = dono? u: = usuário, portanto o = outro.
Alguns comandos, como apenas permissões numéricas. Ok, não é difícil de calcular, se você se lembrar das duas sequências: ugo + rwx.
r w x | Sum
u 4 2 1 | 7
g 4 - 1 | 5
o 4 2 - | 6
---------------------
756
Sim, muito artificial.
Quando se trata de SI e SI, consulte o manual. Talvez google da próxima vez. :)
Eu gosto desta calculadora de permissões:
http://file-permissions.ninja
Este é de longe o mais conveniente e, além disso, acredito, exatamente o que você pediu originalmente:
http://ss64.com/osx/chmod.html
É totalmente interativo, embora você não possa editar a sequência "-rx -------", mas pode octal ou as caixas de seleção. Fazer uma atualiza a outra.
Da mesma página:
Modo numérico (absoluto):
De um a quatro dígitos octais Todos os dígitos omitidos são assumidos como zeros à esquerda.
O primeiro dígito = seleciona atributos para o ID do usuário definido (4) e o ID do grupo (2) e salva a imagem de texto (1) O segundo dígito = permissões para o usuário proprietário do arquivo: read (4), write (2) , e execute (1) O terceiro dígito = permissões para outros usuários no grupo do arquivo: leia (4), escreva (2) e execute (1) O quarto dígito = permissões para outros usuários NÃO no grupo do arquivo: read ( 4), escreva (2) e execute (1)
O valor octal (0-7) é calculado somando os valores para cada dígito Usuário (rwx) = 4 + 2 + 1 = 7 Grupo (rx) = 4 + 1 = 5 Mundo (rx) = 4 + 1 = 5 modo chmod = 0755
Eu tenho esse pequeno apelido que você pode colocar no seu .bashrc (ou equivalente).
AVISO LEGAL: Eu não sou o autor do roteiro, e não tenho certeza de quem o escreveu ... mas o sustento por isso.
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");'
imprimiria " 776
". Felicidades!