Использование восьмеричных кодов имеет два преимущества, о которых я могу думать, ни одно из которых не является таким огромным:
- Они короче, их легче набирать.
- Некоторые вещи только понимают их, и если вы будете регулярно их использовать, вы не почесываете голову (или работаете с документацией), когда сталкиваетесь с ней. Например, вы должны использовать восьмеричное
chmod
в Perl или C.
Иногда действительно простые утилиты не справляются с «дружественными» версиями; особенно в не-GNU пользователях.
Далее некоторые утилиты выплевывают восьмеричные. Например, если вы побежите umask
посмотреть, какой у вас текущий umask, он выложит его в восьмеричном виде (хотя в bash umask -S
это символически).
Итак, короче говоря, я бы сказал, что единственная причина, по которой они предпочитаются, состоит в том, чтобы вводить меньше символов, но даже если вы решите не использовать их, вы должны знать, как они отображаются, чтобы вы могли выяснить восьмеричный код, если вы запустите в одну из вещей, которая делает только восьмеричное. Но вам не нужно сразу знать, что 5 карт rx
, вам нужно только уметь это выяснить.
chmod
в Perl или C нужно использовать восьмеричное представление, на самом деле не является преимуществом, поскольку представление уже существовало в первую очередь.Похоже, я слишком долго использовал восьмеричное.
7 - это rwx (сделайте с ним что-нибудь), 5 - это rx (нужно прочитать его, чтобы выполнить), 6 - это wr (любой файл данных, который вам нужно изменить), 4 - это r (мы дадим вам на это посмотреть), и 0 - (извините, здесь нечего видеть). И заказ - Я, Мы, Все. Это основные комбинации.
755 Я могу изменить и запустить его, все остальные могут запустить его.
644 Я могу это изменить, все остальные могут это прочитать.
444 Читайте только для всех, мы здесь.
500 Я могу выполнить это, не хочу, чтобы это изменилось, все остальные прочь.
Для меня это коротко, к делу. 9 символов и файл спецификации и двигаться дальше.
источник
Мне никогда не нравилось восьмеричное представление, я всегда обращался к прямой
rwxr-xr-x
нотации, поскольку мне это кажется проще. Тем не менее, насколько я понимаю, восьмеричное представление существует для того, чтобы нам было легче его запомнить (я не понимаю, как это работает).Единственное другое возможное преимущество, которое я вижу в восьмеричном представлении, - это отсутствие двусмысленности. 8 различных конфигураций битов разрешений представлены одним отдельным номером, который, я уверен, помогает некоторым людям случайно поставить то, что
w
им не следовало бы.К сожалению, я запомнил эту таблицу:
источник
/tmp
, в том числе липкий бит) занимает 12 бит, удобный размер на ПРП, особенно PDP-8. Если бы они использовали шестнадцатеричный код, для естественного отображения одного набора разрешений на шестнадцатеричную цифру потребовался бы 16-разрядный + текстовый компьютер, что было не во всех PDP. Было бы также потратить впустую 3 бита или потребовать, чтобы они изобрели использование для этих битов, что, вероятно, усложнило бы перманент Unix без реальной выгоды.Я думаю, что причина снова - история. Сначала восьмеричные значения были единственными. Символические пришли позже.
Я предпочитаю символические. Особенно, если вы хотите изменить существующие значения, не касаясь других частей.
Как
chmod -R u=rwx,g-w+X,o=-
сделать это в восьмеричном ...источник
Обратите внимание, что восьмеричные режимы могут удалять биты setuid и setgid в некоторых системах.
Fedora 16:
(
2
сохраняется)FreeBSD 9:
(
2
стал0
)Если вы хотите изменить права доступа к файлу или каталогу, может быть лучше просто указать биты, которые вы хотите изменить (например,
chmod o= dir
илиchmod o-rwx dir
в приведенном выше примере).источник
История объясняет, почему существуют восьмеричные формы , но я думаю, что функциональность является причиной существования мнемонической формы. И все пункты о других инструментах, использующих исключительно восьмеричные режимы, совершенно верны, и я думаю, что вы должны изучить и знать их. Тем не менее я считаю, что консервативные администраторы не видят истинную полезность, которая исходит от мнемонической формы.
Восьмеричная форма, особенно при рекурсивном использовании, заставляет администраторов делать глупости. Или скорее добавленная небрежность приводит к тому, что это оказалось глупым. Всякий раз, когда вы сталкиваетесь с какой-то папкой с большим количеством текстовых файлов и
x
битами, у вас есть доказательства.Зачем кому-то ставить
x
бит так? Потому что это трудно сделать, если вы не используете мнемоническую форму для режимов. Учтите, что вы хотите сбросить разрешения/var/www
и не запускаете CGI старого стиля, поэтомуx
бит следует удалить. Однако этотx
бит служит другой цели для каталогов. Таким образом, вы в конечном итоге сделать что-то (какroot
), как:Однако, если вы использовали мнемоническую форму, вы могли бы дать ей «рецепт»:
которая является краткой формой
chmod -R ugo=rwX /var/www
(достижение того же, но другого пути:)chmod -R a-x,a+rwX /var/www
.Но есть еще одна вещь, которая является более тривиальной, чего нельзя достичь с помощью восьмеричных мод. Вы не можете настроить
user
илиgroup
илиother
маску индивидуально с восьмеричной формой.Вкратце: это все равно что сравнивать скальпель (мнемонический) и острый кухонный нож (восьмеричный) ... но вам все равно нужно знать биты восьмеричного режима по другим причинам :)
Я думаю, что причина того, что восьмеричные моды все еще предпочтительны , заключается не в типизации, связанной с мнемонической формой, а в чрезмерно консервативных администраторах. И да, в 2013 году эти чрезмерно консервативные администраторы все еще существуют и останутся здесь на некоторое время.
источник
Когда вы должны изменить права доступа к файлам все время , Вы цените 3 -х символов. Большую часть времени я использую версии
+
или-
для изменения разрешений.Например, я создаю новый PHP, Python или другой скрипт в моей папке apache.
chmod a+x
это все, что я делаю, так что это может быть запущено. Я читаю это как «все плюс выполнить». Теперь я знаю, что это сработает, и мне нужно было всего 3 символа.В других случаях я использую 644 и 755 автоматически. Я просто думаю о нем как
644
о файле,755
о сценарии.источник
Он хорошо подходит для настроек umask, которые обычно даются в восьмеричной записи (в
pam
илиfstab
).источник
Я полагаю, что одной важной причиной является то, что восьмеричное представление близко соответствует тому, что вы видите
ls -l
(или, скорее, оно происходит, когда вы мысленно конвертируете между восьмеричным и двоичным).источник