Unix では引数「 +x 」は何を意味しますか? (権限に関して)?

Unix では引数「 +x 」は何を意味しますか? (権限に関して)?

私は Ubuntu を使用していますが、 のファイルの権限を変更するようにアドバイスされましたsudo chmod " +x "

が、権限をや+xなどの非常に一般的なものに変更することを意味しているのか、それともまったく異なるものに変更することを意味しているのかはわかりません。777775

+x unixGoogleやを試してみました+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 は のセットからの 0 個以上の文字rwxXst、または のセットからの 1 つの文字ですugo。複数のシンボリック モードをコンマで区切って指定できます。

詳細については、次のリンクを参照してください。chmod

答え2

あなたが参照している「+x」は、 のシンボリックモード引数ですchmod。与えられたように、そしてあなたのchmodがGnu Coreutilsから来ていると仮定すると、その引数は、シェルのumaskしたがって、umask が 0077 (一般的) の場合、そのコマンドはファイルを所有するユーザーに対してのみ実行ビットを設定します。umask が 0007 (これも一般的) の場合、ファイルを所有するユーザーとグループはファイルを実行できます。

おそらく、すべてのユーザーがファイルを実行できるようにするのが目的でしょう。すべての実行ビットを設定するように指定することで、シンボリック モードを使用してこれを実現できます。

chmod a+x filename

または、必要な権限を明示的に指定することによって:

chmod 0755 filename

シンボリック モードは、非常に便利なショートカットですが、その動作の多くは POSIX によって「実装定義」のままになっています。したがって、移植可能なスクリプトや命令の場合、数値モードとその意味を覚えておくことも役立ちます。

答え3

chmod は、次の 2 つの方法で権限を付与できます。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)

関連情報