参数“+x”在 Unix 中意味着什么? (关于权限)?

参数“+x”在 Unix 中意味着什么? (关于权限)?

我使用 Ubuntu,有人建议我更改sudo chmod " +x ".

我不清楚是否+x意味着将权限更改为非常通用的内容,例如777775,或者完全不同的内容。

我尝试过 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。可以给出多种符号模式,用逗号分隔。

请参阅此链接了解更多信息:chmod

答案2

+x您引用的“ ”是 的符号模式参数chmod。如给定的,假设您的 chmod 来自 Gnu Coreutils,该参数指示 chmod 为用户、组和其他设置可执行位,但在 shell 中设置的可执行位除外umask。因此,如果您的 umask 是 0077(这是常见的),该命令只会为拥有该文件的用户设置可执行位。如果您的 umask 是 0007(这也是常见的),则拥有该文件的用户和组将能够执行该文件。

预期效果很可能是让所有用户都能够执行该文件。您可以通过指定要设置所有执行位来使用符号模式来实现这一点:

chmod a+x filename

或者通过明确说明所需的权限:

chmod 0755 filename

符号模式是一种非常有用的快捷方式,但它们的大部分行为都由 POSIX 保留为“实现定义”。因此,记住数字模式及其含义对于可移植脚本和指令也很有用。

答案3

chmod 可以通过两种方式授予权限:
1)使用数字(例如 chmod 744 文件将向您创建文件 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)

相关内容