Что означает аргумент «+x» в Unix? (Относительно прав доступа)?

Что означает аргумент «+x» в Unix? (Относительно прав доступа)?

Я использую Ubuntu, и кто-то посоветовал мне изменить права доступа к файлу с расширением sudo chmod " +x ".

Мне не ясно, +xозначает ли это изменение разрешений на что-то очень общее, например 777или 775, или на что-то совершенно иное.

Я пробовал искать в Google +x unixи +x linux, но не смог найти данные по этому поводу при быстром поиске.

Вот заказы, которые я выполнил (поэтому я застрял на этапе 4):

  1. установить wget
  2. бегатьwget http://files.drush.org/drush.phar
  3. бегатьsudo mv drash.phar /usr/local/bin/drush
  4. бегатьsudo chmod +x /usr/local/bin/drush
  5. тестdrush

решение1

x— это символическое представление режима выполнения (также может быть в числовом формате), которое chmodкоманда использует для установки разрешения на выполнение файла (в случае каталогов она устанавливает их режим поиска). +устанавливает режим выполнения и -отменяет его.

Из страницы руководства chmod:

Формат символического режима — [ugoa...][[+-=][perms...]...], где perms — это либо ноль или более букв из набора rwxXst, либо одна буква из набора ugo. Можно указать несколько символических режимов, разделенных запятыми.

Более подробную информацию можно получить по этой ссылке:чмод

решение2

" +x", на который вы ссылаетесь, является символическим аргументом режима для chmod. Как указано и предполагая, что ваш chmod исходит из Gnu Coreutils, этот аргумент предписывает chmod установить исполняемые биты для пользователя, группы и других, за исключением тех исполняемых битов, которые установлены в вашей оболочкеumask. Итак, если ваш umask равен 0077 (что является обычным), эта команда установит исполняемый бит только для пользователя, которому принадлежит файл. Если ваш umask равен 0007 (что также является обычным), пользователь и группа, которым принадлежит файл, смогут выполнить его.

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

chmod a+x filename

или явно указав желаемые разрешения:

chmod 0755 filename

Символические режимы — это замечательно полезный ярлык, но большая часть их поведения остается «определенной реализацией» POSIX. Поэтому также полезно помнить числовые режимы и их значения для переносимых скриптов и инструкций.

решение3

chmod может предоставлять права двумя способами:
1) с помощью чисел (например, chmod 744 file создаст файл wrx для вас и r для группы и других)
2) с определенными правами для определенной категории
(например, chmod +x предоставит всем право на выполнение)
в вашем случае я предполагаю, что вашему пользователю и его группе (возможно) нужны права на выполнение, а не всем. Вот еще несколько примеров:

 chmod u=rx file        (Give the owner rx permissions, not w)
 chmod go-rwx file      (Deny rwx permission for group, others)
 chmod g+w file         (Give write permission to the group)
 chmod a+x file1 file2  (Give execute permission to everybody)
 chmod g+rx,o+x file    (OK to combine like this with a comma)

Связанный контент