Существует ли веб-преобразователь между rwx и восьмеричной версией?

Отобразите ответвление Мерзавца и состояние в подсказке

export GIT_PS1_SHOWDIRTYSTATE=true

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 "#%s")\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1 "#%s")\$ '
fi
28
18.03.2011, 07:27
7 ответов

Этот сайт обеспечивает интерактивный способ видеть, какие биты полномочий установлены, когда различные биты устанавливаются/сбрасываются.

"Калькулятор" похож на это:

  ss#1

27
27.01.2020, 19:39
  • 1
    , который я получил это путем поиска с помощью Google для "восьмеричного инструмента полномочий файла", между прочим. Google является всегда большим первым местом для проверки, когда у Вас есть вопрос. –  J. Taylor 18.03.2011, 07:46
  • 2
    Pst, я действительно пытался искать, но я не мог найти правильный критерий поиска. Извините, что побеспокоил Вас так... и дал Вам некоторого представителя –  Darryl Hein 18.03.2011, 08:56
  • 3
    Darryl - Вы не беспокоили меня. Я пытаюсь помочь Вам найти ответы на вопросы более легко самостоятельно, так, чтобы, когда время настает, что у Вас есть вопрос, на который никто не готов ответить для Вас, Вы смогли отвечать на это сами. –  J. Taylor 18.03.2011, 09:16
  • 4
    , связь разорвана теперь, который является, почему мы обычно препятствуем ответам только для ссылки, но трудно подвергнуть критике когда вопрос, который задают для ссылки –  Michael Mrozek♦ 04.11.2012, 21:45
  • 5
    Связь больше не разрывается. –   15.01.2013, 01:55

Почему Вам нужно восьмеричное число во-первых?

Я всегда использую:

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) легко помнить. Однако можно перепутать o: = владелец? o: = другой? Но каков был бы u, если o=owner? u: = пользователь, поэтому o=other.

Некоторые команды как числовые полномочия только. Хорошо, не трудно вычислить, если Вы помните две последовательности: ugo + rwx.

    r   w   x  | Sum
u   4   2   1  | 7
g   4   -   1  |  5
o   4   2   -  |   6
---------------------
                 756

Да, очень искусственный.

Когда дело доходит до s и S я должен консультироваться с руководством. Возможно, Google в следующий раз.:)

12
27.01.2020, 19:39

Восьмеричный используется для полномочий, потому что это - легкое преобразование. Каждая группа rwx формы одна восьмеричная цифра. Все, что необходимо помнить, является первыми 3 полномочиями 2: 4, 2, 1. r = 4, w = 2, x = 1.

rw-r--r-- = 110 100 100 = 4+2+0 4+0+0 4+0+0 = 644

9
27.01.2020, 19:39

У меня есть этот небольшой псевдоним, что можно вставить .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}'"
4
27.01.2020, 19:39
  • 1
    за это, @nico - вот тот же код, преобразованный как острота жемчуга и используемый в ударе: 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".Удачи! –  sdaau 16.07.2014, 09:04

Мне нравится этот калькулятор разрешений:
http://file-permissions.ninja

6
27.01.2020, 19:39

Это, безусловно, наиболее удобно, и, кроме того, я считаю, именно то, что вы изначально просили:

http://ss64.com/osx/chmod.html

Это полностью интерактивное, хотя вы не можете редактировать строку "-r-x-------", но вы можете поставить галочку или восьмеричный флажок. Делая оба варианта, вы можете обновить другой.

My favourite tool for just this

С той же страницы:

цифровой (абсолютный) режим:

от одной до четырех восьмеричных цифр. Любые опущенные цифры считаются ведущими нулями.

Первая цифра = выбор атрибутов для установленного идентификатора пользователя (4), установка идентификатора группы (2) и сохранение текстового изображения (1). Вторая цифра = разрешения для пользователя, которому принадлежит файл: прочитать (4), записать (2) и выполнить (1). Третья цифра = разрешения для других пользователей в группе файла: читать (4), записывать (2) и выполнять (1). Четвертая цифра = разрешения для других пользователей НЕ в группе файла: прочитать (4), записать (2) и выполнить (1)

Восьмеричное (0-7) значение вычисляется путем сложения значений для каждой цифры Пользователь (rwx) = 4+2+1 = 7 Группа(rx) = 4+1 = 5 Мир (rx) = 4+1 = 5 режим кхмод = 0755

5
27.01.2020, 19:39

Несмотря на то, что это не «сетевой» калькулятор, поскольку ответ nico не обрабатывает индикаторы setuid, setgid и sticky, но набирает -голосов, пример обновленного сценарий, который обрабатывает дополнительные состояния разрешений, может быть гарантирован:

ls -l | \
awk '{k=0; for(i=0; i<=8; i++) k+=((substr($1, i+2, 1) ~ /[rwxs]/)*2^(8-i));
     if ($1 ~ /^.{3}[Ss]/) k+=2048; if($1 ~ /^.{6}[Ss]/) k+=1024;
     if ($1 ~ /[Tt]/) k+=512; if(k) printf("%4o ",k); print; }'

Этот вопрос лучше подходит для скриптовых решений, где glenn jackman предлагаетperlstatодин -вкладыш, аналогичный:

$ what="/tmp"
$ perl -s -e '@fields = stat "$f"; printf "%04o\n", $fields[2] & 07777' -- -f="$what"
1777

Сценарий awk основан на найденном здесь

1
16.07.2020, 17:44

Теги

Похожие вопросы