Я никогда не могу вспомнить , что преобразование от чего - то , как rw-r--r--
в 644
. Есть ли простой веб-конвертер между 2?
stat -c
...
Я никогда не могу вспомнить , что преобразование от чего - то , как rw-r--r--
в 644
. Есть ли простой веб-конвертер между 2?
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: = owner? о: = другой? но что будет у вас, если о = владелец? 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) Вторая цифра = права доступа для пользователя, которому принадлежит файл: чтение (4), запись (2) и выполнить (1) Третья цифра = разрешения для других пользователей в группе файла: чтение (4), запись (2) и выполнение (1) Четвертая цифра = разрешения для других пользователей, НЕ входящих в группу файла: чтение ( 4) написать (2) и выполнить (1)
Восьмеричное (0-7) значение рассчитывается путем сложения значений для каждой цифры. Пользователь (rwx) = 4 + 2 + 1 = 7 Группа (rx) = 4 + 1 = 5 World (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
". Ура!