Чмод по письмам против чисел

Недавно меня попросил коллега использовать chmod с буквами вместо цифр. Помимо очевидного преимущества читаемости есть ли какая-либо конкретная причина использовать буквы над цифрами?

  • Почему я не могу запускать программы на другом разделе в Linux?
  • Рекурсивные chmod только папки или только файлы через скрипт или меню nautilus?
  • Дайте мне права на все файлы в / без моего компьютера?
  • Не удается получить доступ к папке через групповые разрешения
  • chmod не изменяет разрешения определенных каталогов
  • Каковы обычные разрешения файлов для каждого типа файлов до применения umask
  • Мониторинг прогресса chmod
  • как смонтировать общий ресурс CIFS, поэтому я могу полностью контролировать смонтированный том на клиенте
  • 2 Solutions collect form web for “Чмод по письмам против чисел”

    Символьная нотация chmod более мелкозернистая по сравнению с восьмеричной нотацией, позволяющая модифицировать биты определенного режима, оставив при этом другие биты режима нетронутыми.

    Символическая нотация состоит из трех компонентов:

     chmod [references][operator][modes] file 

    references состоят из комбинации букв ugoa , в которых указывается, какой пользовательский доступ к file будет изменен: пользователь, которому он принадлежит ( u ), другие пользователи в группе файла ( g ), другие пользователи, не входящие в группу файлов ( o ) или всех пользователей ( a ). Если компонент references опущен, он по умолчанию используется для всех пользователей, но только разрешения, разрешенные umask , изменяются.

    Оператор + приводит к добавлению битов заданного файла к существующим битам режима файла каждого файла; - заставляет их удалять; и = приводит к их добавлению, а неуказанные биты должны быть удалены, кроме setuid и setgid заданных для каталогов, если явно не указано.

    mode состоит из комбинации букв rwxXst , которые соответствуют чтению ( r ), записи ( w ), выполнению (или поиску каталогов) ( x ), исполнению / поиску, только если файл является каталогом или уже выполнен разрешение для некоторого пользователя ( X ), setuid или setgid (в зависимости от указанных ссылок) ( s ) и ограниченного флажка удаления или липкого бита ( t ). В качестве альтернативы, mode может состоять из одной из букв ugo , и в этом случае mode соответствует разрешениям, предоставленным в настоящее время владельцу ( u ), члену группы файлов ( g ) или permssions пользователей ни в одной из предыдущих категорий ( o ).

    Примеры

    Предполагая, что набор разрешений для file равен 0764/-rwxrw-r--

    Удалите разрешения у других пользователей, не входящих в группу файлов:

    • Octal: chmod 760 file

      Обратите внимание, что существующие разрешения остаются неизменными при повторном использовании восьмеричной нотации.

    • Символический: chmod o-rwx file

      С символическими обозначениями существующие разрешения файлов не имеют значения.

    Установите setuid :

    • Октал: chmod 4764 file

    • Символический: chmod u+s file

    Установите setgid :

    • Октал: chmod 2764 file
    • Символический chmod g+s file

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

    Скажем, у меня есть следующий каталог: drwxrwsr-x 6 f261-01a g261-01a 4096 12 сен 17:51 / начало / команды / 261 / f261-01a

    Если я хочу отключить разрешение на чтение для других, и я хочу использовать числа, я могу просто быстро сделать chmod 751 . Кроме того, я только что отключил бит setgid в каталоге. К сожалению.

    Если, однако, я использую chmod or , я только отключаю бит чтения, который мне нужен, и бит setgid в каталоге остается установленным.

    Это также полезно, если вы хотите включить setuid, setgid или липкие биты в файл или каталог. Особенно, если вы делаете это так редко, у вас проблемы с запоминанием того, какой бит есть в 4-м октете.

    Таким образом, это зависит от того, что вы делаете. Я по-прежнему предпочитаю использовать номера, когда я просто устанавливаю разрешения, и мне все равно, с чего начать. Но если вы переключаете отдельные биты, буквенное обозначение намного проще.

    Linux и Unix - лучшая ОС в мире.