參數「+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 是 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)

相關內容