Nigdy nie mogę zapamiętać co jest konwersja z czegoś podobnego rw-r--r--
do 644
. Czy istnieje prosty konwerter internetowy między 2?
stat -c
...
Nigdy nie mogę zapamiętać co jest konwersja z czegoś podobnego rw-r--r--
do 644
. Czy istnieje prosty konwerter internetowy między 2?
stat -c
...
Odpowiedzi:
Ta strona zapewnia interaktywny sposób sprawdzania, jakie bity uprawnień są ustawione, gdy różne bity są ustawiane / wyłączane.
„Kalkulator” wygląda następująco:
Dlaczego w ogóle potrzebujesz liczby ósemkowej?
Zawsze używam:
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) jest łatwy do zapamiętania. Możesz jednak pomylić o: = właściciel? o: = inny? ale czym byłbyś, gdyby o = właściciel? u: = użytkownik, a więc o = inny.
Niektóre polecenia, takie jak tylko uprawnienia numeryczne. Okej, nie jest trudno obliczyć, jeśli pamiętasz dwie sekwencje: ugo + rwx.
r w x | Sum
u 4 2 1 | 7
g 4 - 1 | 5
o 4 2 - | 6
---------------------
756
Tak, bardzo sztuczny.
Jeśli chodzi o s i SI, należy zapoznać się z instrukcją. Może następnym razem google. :)
Podoba mi się ten kalkulator uprawnień:
http://file-permissions.ninja
Jest to zdecydowanie najwygodniejszy i poza tym, jak sądzę, dokładnie to, o co prosiłeś pierwotnie:
http://ss64.com/osx/chmod.html
Jest w pełni interaktywny, chociaż nie można edytować ciągu „-rx -------”, ale można użyć ósemki lub pól wyboru. Wykonanie jednej z nich powoduje aktualizację drugiej.
Z tej samej strony:
Tryb numeryczny (absolutny):
Od jednej do czterech cyfr ósemkowych Przyjmuje się, że wszelkie pominięte cyfry są zerami wiodącymi.
Pierwsza cyfra = wybiera atrybuty dla ustawionego ID użytkownika (4) i ustawionego identyfikatora grupy (2) i zapisz obraz tekstowy (1) Druga cyfra = uprawnienia dla użytkownika, który jest właścicielem pliku: odczyt (4), zapis (2) , i wykonaj (1) Trzecia cyfra = uprawnienia dla innych użytkowników w grupie plików: read (4), write (2) i execute (1) Czwarta cyfra = uprawnienia dla innych użytkowników NIE w grupie plików: read ( 4), napisz (2) i uruchom (1)
Wartość ósemkowa (0–7) jest obliczana poprzez zsumowanie wartości dla każdej cyfry Użytkownik (rwx) = 4 + 2 + 1 = 7 Grupa (rx) = 4 + 1 = 5 Świat (rx) = 4 + 1 = 5 tryb chmod = 0755
Mam ten mały alias, który możesz umieścić w swoim .bashrc (lub odpowiedniku).
ZASTRZEŻENIE: Nie jestem autorem scenariusza i nie jestem pewien, kto go napisał ... ale proponuje mu / ją za to.
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");'
wydrukuje „ 776
”. Twoje zdrowie!