Я ніколи не можу згадати , що перетворення від чого - то , як rw-r--r--
в 644
. Чи є простий веб-перетворювач між двома?
stat -c
...
Я ніколи не можу згадати , що перетворення від чого - то , як rw-r--r--
в 644
. Чи є простий веб-перетворювач між двома?
stat -c
...
Відповіді:
Цей сайт пропонує інтерактивний спосіб дізнатися, які біти дозволів встановлюються, коли різні біти встановлюються / вимикаються.
"Калькулятор" виглядає приблизно так:
Для чого вам потрібен восьмеричний номер в першу чергу?
Я завжди використовую:
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
уго (а) легко запам'ятовується. Однак ви можете заплутати o: = власника? o: = інше? але що було б u, якщо o = власник? u: = користувач, тому o = інший.
Деякі команди люблять лише числові дозволи. Гаразд, не важко обчислити, якщо ви пам’ятаєте дві послідовності: ugo + rwx.
r w x | Sum
u 4 2 1 | 7
g 4 - 1 | 5
o 4 2 - | 6
---------------------
756
Так, дуже штучно.
Що стосується s та SI, то слід ознайомитися з посібником. Можливо, Google наступного разу. :)
Мені подобається цей калькулятор дозволів:
http://file-permissions.ninja
Це, безумовно, найзручніше, і, крім того, я вірю, саме те, про що ви просили спочатку:
http://ss64.com/osx/chmod.html
Він є повністю інтерактивним, хоча ви не можете редагувати рядок "-rx -------", але ви можете вісімкові або прапорці. Здійснюючи або оновлення іншого.
З тієї ж сторінки:
Числовий (абсолютний) режим:
Від однієї до чотирьох восьмеричних цифр Будь-які опущені цифри вважаються провідними нулями.
Перша цифра = вибирає атрибути для встановленого ідентифікатора користувача (4) та встановлює ідентифікатор групи (2) та зберігає текстове зображення (1) Друга цифра = дозволи для користувача, якому належить файл: read (4), write (2) , і виконайте (1) Третя цифра = дозволи для інших користувачів у групі файлів: прочитати (4), записати (2) та виконати (1) Четверта цифра = дозволи для інших користувачів НЕ в групі файлу: read ( 4), записати (2) та виконати (1)
Октальне (0-7) значення обчислюється шляхом додавання значень для кожної цифри Користувач (rwx) = 4 + 2 + 1 = 7 Група (rx) = 4 + 1 = 5 Світ (rx) = 4 + 1 = 5 режим chmod = 0755
У мене є цей маленький псевдонім, який ви можете помістити у свій .bashrc (або еквівалент).
ВІДПОВІДАЛЬНІСТЬ: Я не автор сценарію, і я не впевнений, хто його написав ... але підштовхує його / її до цього.
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");'
надрукував би " 776
". Ура!