В чем разница между & ldquo; chmod + x & rdquo; и & ldquo; chmod 755 & rdquo ;?

Вы можете отключить Wi-Fi, используя iwconfig. Для этого откройте терминал и введите следующую команду:

iwconfig wlan0 down

Это должно отключить ваш Wi-Fi. Чтобы включить его, вы можете использовать:

iwconfig wlan0 up

Вы также можете включить / выключить его, используя меню настроек беспроводной сети. Перейдите к настройкам системы & rarr; сеть & rarr; беспроводной. Там вы можете включить / выключить его.

44
задан 7 July 2017 в 20:36

18 ответов

Короткая версия:

Чтобы иметь возможность сравнивать их, мы должны смотреть на них с той же точки зрения, поэтому:

chmod +x равно chmod ugo+x chmod 755 равно chmod u=rwx,go=rx

Объяснение:

Во-первых, вы должны знать, что:

+ означает добавление этого разрешения к другим разрешениям, которые файл уже имеет. = означает игнорировать все разрешения, устанавливать их точно так же, как я предоставляю. Таким образом, все «чтение, запись, выполнение, липкий бит, suid и guid» будут проигнорированы, и будут установлены только те, которые были предоставлены. read = 4, write = 2, execute = 1 Здесь находится двоичная логика (если вам интересно):
Symbolic:  r-- -w- --x  |  421
Binary:    100 010 001  |  -------
Decimal:    4   2   1   |  000 = 0
                        |  001 = 1
Symbolic:  rwx r-x r-x  |  010 = 2
Binary:    111 101 101  |  011 = 3
Decimal:    7   5   5   |  100 = 4
           /   /   /    |  101 = 5
Owner  ---/   /   /     |  110 = 6
Group  ------/   /      |  111 = 7
Others ---------/       |  Binary to Octal chart

Используя +x, вы говорите, чтобы добавить (+) исполняемый бит (x) владельцу, группе и другим.

chmod +x равно chmod ugo+x Если вы не укажете, какой из владельцев , группа или другие - ваша цель, в случае x он рассмотрит все из них. И как отметил @Rinzwind, он основан на значении umask, он добавляет бит к тем, которые позволяет umask. помните, если вы укажете цель как o+r, тогда umask больше не будет иметь никакого эффекта. chmod 755 равно chmod u=rwx,go=rx Вы также можете использовать u+x, чтобы добавить исполняемый бит к владельцу.

Используя 755, вы указываете:

Если вы не укажете, какой из владельцев, группы или других лиц является вашей целью, в случае x он будет рассматривать их все. И как отметил @Rinzwind, он основан на значении umask, он добавляет бит к тем, которые позволяет umask. помните, если вы укажете цель как o+r, тогда umask больше не будет иметь никакого эффекта. 5 -> g=rx (4 + 1 для группы) Вы также можете использовать u+x

Итак, chmod 755 имеет значение: chmod u=rwx,g=rx,o=rx или chmod u=rwx,go=rx.

98
ответ дан 22 May 2018 в 20:47
  • 1
    очень важное дополнение: при использовании chmod 755 вы устанавливаете эти биты И вы также очищаете все биты suid / sgid / sticky (возможно, там) (например: NEVER chmod 755 /tmp). 755 всегда следует рассматривать как 0755, т. Е. Первый восьмеричный набор бит также установлен в 0. – Olivier Dulac 7 July 2017 в 18:01
  • 2
    почти идеально, так что преждевременно +1 (yay вы получили этот значок от меня:)): Вы забыли о umask;) – Rinzwind 7 July 2017 в 19:47
  • 3
    @OlivierDulac Спасибо, я не хотел получать слишком много подробностей, но я обновлю ответ ... – Ravexina 7 July 2017 в 20:22
  • 4
    @Rinzwind Спасибо: D, я думаю, я должен обновить ответ, чтобы упомянуть о umask тоже. – Ravexina 7 July 2017 в 20:24
  • 5
    Я думаю, что я только понял, как работают разрешения, спасибо! – Fabich 8 July 2017 в 13:28

Короткая версия:

Чтобы иметь возможность сравнивать их, мы должны смотреть на них с той же точки зрения, поэтому:

chmod +x равно chmod ugo+x chmod 755 равно chmod u=rwx,go=rx

Объяснение:

Во-первых, вы должны знать, что:

+ означает добавление этого разрешения к другим разрешениям, которые файл уже имеет. = означает игнорировать все разрешения, устанавливать их точно так же, как я предоставляю. Таким образом, все «чтение, запись, выполнение, липкий бит, suid и guid» будут проигнорированы, и будут установлены только те, которые были предоставлены. read = 4, write = 2, execute = 1 Здесь находится двоичная логика (если вам интересно): Symbolic: r-- -w- --x | 421 Binary: 100 010 001 | ------- Decimal: 4 2 1 | 000 = 0 | 001 = 1 Symbolic: rwx r-x r-x | 010 = 2 Binary: 111 101 101 | 011 = 3 Decimal: 7 5 5 | 100 = 4 / / / | 101 = 5 Owner ---/ / / | 110 = 6 Group ------/ / | 111 = 7 Others ---------/ | Binary to Octal chart

Используя +x, вы говорите, чтобы добавить (+) исполняемый бит (x) владельцу, группе и другим.

chmod +x равно chmod ugo+x Если вы не укажете, какой из владельцев , группа или другие - ваша цель, в случае x он рассмотрит все из них. И как отметил @Rinzwind, он основан на значении umask, он добавляет бит к тем, которые позволяет umask. помните, если вы укажете цель как o+r, тогда umask больше не будет иметь никакого эффекта. chmod 755 равно chmod u=rwx,go=rx Вы также можете использовать u+x, чтобы добавить исполняемый бит к владельцу.

Используя 755, вы указываете:

Если вы не укажете, какой из владельцев, группы или других лиц является вашей целью, в случае x он будет рассматривать их все. И как отметил @Rinzwind, он основан на значении umask, он добавляет бит к тем, которые позволяет umask. помните, если вы укажете цель как o+r, тогда umask больше не будет иметь никакого эффекта. 5 -> g=rx (4 + 1 для группы) Вы также можете использовать u+x

Итак, chmod 755 имеет значение: chmod u=rwx,g=rx,o=rx или chmod u=rwx,go=rx.

100
ответ дан 18 July 2018 в 10:37

Короткая версия:

Чтобы иметь возможность сравнивать их, мы должны смотреть на них с той же точки зрения, поэтому:

chmod +x равно chmod ugo+x chmod 755 равно chmod u=rwx,go=rx

Объяснение:

Во-первых, вы должны знать, что:

+ означает добавление этого разрешения к другим разрешениям, которые файл уже имеет. = означает игнорировать все разрешения, устанавливать их точно так же, как я предоставляю. Таким образом, все «чтение, запись, выполнение, липкий бит, suid и guid» будут проигнорированы, и будут установлены только те, которые были предоставлены. read = 4, write = 2, execute = 1 Здесь находится двоичная логика (если вам интересно): Symbolic: r-- -w- --x | 421 Binary: 100 010 001 | ------- Decimal: 4 2 1 | 000 = 0 | 001 = 1 Symbolic: rwx r-x r-x | 010 = 2 Binary: 111 101 101 | 011 = 3 Decimal: 7 5 5 | 100 = 4 / / / | 101 = 5 Owner ---/ / / | 110 = 6 Group ------/ / | 111 = 7 Others ---------/ | Binary to Octal chart

Используя +x, вы говорите, чтобы добавить (+) исполняемый бит (x) владельцу, группе и другим.

chmod +x равно chmod ugo+x Если вы не укажете, какой из владельцев , группа или другие - ваша цель, в случае x он рассмотрит все из них. И как отметил @Rinzwind, он основан на значении umask, он добавляет бит к тем, которые позволяет umask. помните, если вы укажете цель как o+r, тогда umask больше не будет иметь никакого эффекта. chmod 755 равно chmod u=rwx,go=rx Вы также можете использовать u+x, чтобы добавить исполняемый бит к владельцу.

Используя 755, вы указываете:

Если вы не укажете, какой из владельцев, группы или других лиц является вашей целью, в случае x он будет рассматривать их все. И как отметил @Rinzwind, он основан на значении umask, он добавляет бит к тем, которые позволяет umask. помните, если вы укажете цель как o+r, тогда umask больше не будет иметь никакого эффекта. 5 -> g=rx (4 + 1 для группы) Вы также можете использовать u+x

Итак, chmod 755 имеет значение: chmod u=rwx,g=rx,o=rx или chmod u=rwx,go=rx.

101
ответ дан 24 July 2018 в 19:37

chmod +x добавляет разрешение на выполнение для всех пользователей к существующим разрешениям.

chmod 755 устанавливает для файла 755 разрешение для файла.

755 означает полный разрешения для владельца и права на чтение и выполнение для других.

33
ответ дан 22 May 2018 в 20:47

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

После запуска chmod 755 в файле, его разрешения будут равны 755 или rwxr-xr-x.

chmod +x просто возьмет существующие разрешения, а выполнит права на для файла. [!d5 ]

7
ответ дан 22 May 2018 в 20:47

Я рекомендую подробно просмотреть страницу man chmod. Вы просто видите два разных режима работы, доступных с командой chmod, чтобы выполнить ту же задачу изменения разрешений.

Восьмеричный режим использует числа и задает все разрешения файла. Режим символа использует буквы и обычно используется для изменения существующих разрешений.

chmod 755 устанавливает rwxr-xr-x, а chmod +x настраивает разрешения, чтобы у владельца, группы и мира были добавлены разрешения для выполнения. Предполагая, что разрешение файла по умолчанию для rwxr--r-- было настроено на те же разрешения, что и 755 из rwxr-xr-x.

6
ответ дан 22 May 2018 в 20:47

Разница заключается в том, какие разрешения устанавливаются и какой режим вы используете для их настройки.

С chmod +x вы устанавливаете исполняемый бит для всех - владельца, группу владельца и других пользователей. Это называется символическим режимом. Процитировать man chmod:

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

С помощью chmod 755 вы используете восьмеричные числа, двоичное представление которых используется для установки определенных бит разрешений. Первый (левый) 3 бита соответствует разрешениям владельца, средний 3 - групповым, а последний (самый правый) соответствует разрешениям всех других пользователей. Порядок бит всегда один и тот же, read,write,execute или rwx Таким образом, именно потому, что порядок один и тот же, индивидуальный номер при преобразовании в двоичное представление будет устанавливать биты разрешения, для которых соответствующий позиционный бит в числе равен 1 и отключите тот, который равен 0. В частности:

Октальное число 7 равно 111 в двоичном формате, поэтому вы устанавливаете все записи для чтения, записи и выполнения для владельца; rwx. Восьмеричное число 5 равно 101 в двоичном формате, поэтому вы устанавливаете чтение и выполнение, но запрещаете записывать биты, а так как это 5 для группы и других пользователей, эти две категории будут иметь одинаковые разрешения. Таким образом, r-x установлен.

Вот небольшая демонстрация:

    bash-4.3$ touch file1 file2
    bash-4.3$ chmod +x file1
    bash-4.3$ chmod 755 file2
    bash-4.3$ ls -l file1 file2
    -rwxrwxr-x 1 xieerqi xieerqi 0 7月   6 13:54 file1
    -rwxr-xr-x 1 xieerqi xieerqi 0 7月   6 13:54 file2
5
ответ дан 22 May 2018 в 20:47

Важным отличием является то, что chmod + подвержен ограничениям umask, а chmod & lt; восьмеричный & gt; не существует.

Рассмотрим следующий пример:

$ ls -l foo bar
---------- 1 gowenfawr users 0 Jul  7 16:40 bar
---------- 1 gowenfawr users 0 Jul  7 16:39 foo
$ umask
0022
$ chmod +w bar
$ umask 0002
$ chmod +w foo
$ ls -l foo bar
--w------- 1 gowenfawr users 0 Jul  7 16:40 bar
--w--w---- 1 gowenfawr users 0 Jul  7 16:39 foo
$

Итак, если вы хотите сделать изменение треугольника для разрешений таким образом, который подходит вашим настройкам umask, используйте команду ' + '. Но если вы хотите установить его абсолютно без учета umask, используйте & lt; восьмеричный & gt; формат и понять, что вам нужно указать все биты, а не только дельта.

3
ответ дан 22 May 2018 в 20:47

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

После запуска chmod 755 в файле, его разрешения будут равны 755 или rwxr-xr-x.

chmod +x просто возьмет существующие разрешения, а выполнит права на для файла.

7
ответ дан 18 July 2018 в 10:37

chmod +x добавляет разрешение на выполнение для всех пользователей к существующим разрешениям.

chmod 755 устанавливает для файла 755 разрешение для файла.

755 означает полный разрешения для владельца и права на чтение и выполнение для других.

34
ответ дан 18 July 2018 в 10:37

Я рекомендую подробно просмотреть страницу man chmod. Вы просто видите два разных режима работы, доступных с командой chmod, чтобы выполнить ту же задачу изменения разрешений.

Восьмеричный режим использует числа и задает все разрешения файла. Режим символа использует буквы и обычно используется для изменения существующих разрешений.

chmod 755 устанавливает rwxr-xr-x, а chmod +x настраивает разрешения, чтобы у владельца, группы и мира были добавлены разрешения для выполнения. Предполагая, что разрешение файла по умолчанию для rwxr--r-- было настроено на те же разрешения, что и 755 из rwxr-xr-x.

6
ответ дан 18 July 2018 в 10:37

Важным отличием является то, что chmod + подвержен ограничениям umask, а chmod & lt; восьмеричный & gt; не существует.

Рассмотрим следующий пример:

$ ls -l foo bar ---------- 1 gowenfawr users 0 Jul 7 16:40 bar ---------- 1 gowenfawr users 0 Jul 7 16:39 foo $ umask 0022 $ chmod +w bar $ umask 0002 $ chmod +w foo $ ls -l foo bar --w------- 1 gowenfawr users 0 Jul 7 16:40 bar --w--w---- 1 gowenfawr users 0 Jul 7 16:39 foo $

Итак, если вы хотите сделать изменение треугольника для разрешений таким образом, который подходит вашим настройкам umask, используйте команду ' + '. Но если вы хотите установить его абсолютно без учета umask, используйте & lt; восьмеричный & gt; формат и понять, что вам нужно указать все биты, а не только дельта.

3
ответ дан 18 July 2018 в 10:38

Разница заключается в том, какие разрешения устанавливаются и какой режим вы используете для их настройки.

С chmod +x вы устанавливаете исполняемый бит для всех - владельца, группу владельца и других пользователей. Это называется символическим режимом. Процитировать man chmod:

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

С помощью chmod 755 вы используете восьмеричные числа, двоичное представление которых используется для установки определенных бит разрешений. Первый (левый) 3 бита соответствует разрешениям владельца, средний 3 - групповым, а последний (самый правый) соответствует разрешениям всех других пользователей. Порядок бит всегда один и тот же, read,write,execute или rwx Таким образом, именно потому, что порядок один и тот же, индивидуальный номер при преобразовании в двоичное представление будет устанавливать биты разрешения, для которых соответствующий позиционный бит в числе равен 1 и отключите тот, который равен 0. В частности:

Октальное число 7 равно 111 в двоичном формате, поэтому вы устанавливаете все записи для чтения, записи и выполнения для владельца; rwx. Восьмеричное число 5 равно 101 в двоичном формате, поэтому вы устанавливаете чтение и выполнение, но запрещаете записывать биты, а так как это 5 для группы и других пользователей, эти две категории будут иметь одинаковые разрешения. Таким образом, r-x установлен.

Вот небольшая демонстрация:

bash-4.3$ touch file1 file2 bash-4.3$ chmod +x file1 bash-4.3$ chmod 755 file2 bash-4.3$ ls -l file1 file2 -rwxrwxr-x 1 xieerqi xieerqi 0 7月 6 13:54 file1 -rwxr-xr-x 1 xieerqi xieerqi 0 7月 6 13:54 file2
5
ответ дан 18 July 2018 в 10:38

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

После запуска chmod 755 в файле, его разрешения будут равны 755 или rwxr-xr-x.

chmod +x просто возьмет существующие разрешения, а выполнит права на для файла.

7
ответ дан 24 July 2018 в 19:37

Важным отличием является то, что chmod + подвержен ограничениям umask, а chmod & lt; восьмеричный & gt; не существует.

Рассмотрим следующий пример:

$ ls -l foo bar ---------- 1 gowenfawr users 0 Jul 7 16:40 bar ---------- 1 gowenfawr users 0 Jul 7 16:39 foo $ umask 0022 $ chmod +w bar $ umask 0002 $ chmod +w foo $ ls -l foo bar --w------- 1 gowenfawr users 0 Jul 7 16:40 bar --w--w---- 1 gowenfawr users 0 Jul 7 16:39 foo $

Итак, если вы хотите сделать изменение треугольника для разрешений таким образом, который подходит вашим настройкам umask, используйте команду ' + '. Но если вы хотите установить его абсолютно без учета umask, используйте & lt; восьмеричный & gt; формат и понять, что вам нужно указать все биты, а не только дельта.

3
ответ дан 24 July 2018 в 19:37

chmod +x добавляет разрешение на выполнение для всех пользователей к существующим разрешениям.

chmod 755 устанавливает для файла 755 разрешение для файла.

755 означает полный разрешения для владельца и права на чтение и выполнение для других.

34
ответ дан 24 July 2018 в 19:37

Разница заключается в том, какие разрешения устанавливаются и какой режим вы используете для их настройки.

С chmod +x вы устанавливаете исполняемый бит для всех - владельца, группу владельца и других пользователей. Это называется символическим режимом. Процитировать man chmod:

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

С помощью chmod 755 вы используете восьмеричные числа, двоичное представление которых используется для установки определенных бит разрешений. Первый (левый) 3 бита соответствует разрешениям владельца, средний 3 - групповым, а последний (самый правый) соответствует разрешениям всех других пользователей. Порядок бит всегда один и тот же, read,write,execute или rwx Таким образом, именно потому, что порядок один и тот же, индивидуальный номер при преобразовании в двоичное представление будет устанавливать биты разрешения, для которых соответствующий позиционный бит в числе равен 1 и отключите тот, который равен 0. В частности:

Октальное число 7 равно 111 в двоичном формате, поэтому вы устанавливаете все записи для чтения, записи и выполнения для владельца; rwx. Восьмеричное число 5 равно 101 в двоичном формате, поэтому вы устанавливаете чтение и выполнение, но запрещаете записывать биты, а так как это 5 для группы и других пользователей, эти две категории будут иметь одинаковые разрешения. Таким образом, r-x установлен.

Вот небольшая демонстрация:

bash-4.3$ touch file1 file2 bash-4.3$ chmod +x file1 bash-4.3$ chmod 755 file2 bash-4.3$ ls -l file1 file2 -rwxrwxr-x 1 xieerqi xieerqi 0 7月 6 13:54 file1 -rwxr-xr-x 1 xieerqi xieerqi 0 7月 6 13:54 file2
5
ответ дан 24 July 2018 в 19:37

Я рекомендую подробно просмотреть страницу man chmod. Вы просто видите два разных режима работы, доступных с командой chmod, чтобы выполнить ту же задачу изменения разрешений.

Восьмеричный режим использует числа и задает все разрешения файла. Режим символа использует буквы и обычно используется для изменения существующих разрешений.

chmod 755 устанавливает rwxr-xr-x, а chmod +x настраивает разрешения, чтобы у владельца, группы и мира были добавлены разрешения для выполнения. Предполагая, что разрешение файла по умолчанию для rwxr--r-- было настроено на те же разрешения, что и 755 из rwxr-xr-x.

6
ответ дан 24 July 2018 в 19:37

Другие вопросы по тегам:

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