文字対数値によるChmod


8

最近、同僚からchmod、数字ではなく文字を使用するように依頼されました。明らかな読みやすさの利点以外に、数字よりも文字を使用する特別な理由はありますか?

回答:


13

chmodシンボリック表記はそのまま他のモードビットを残して特定のモードビットの変更を可能にする、よりきめ細かい進表記と比較されます。

記号表記は、3つのコンポーネントで構成されています。

chmod [references][operator][modes] file

references文字の組み合わせで構成さugoaへのユーザーのアクセスを指定し、fileそれを所有しているユーザー(:変更されますu)、ファイルのグループ内の他のユーザー(g)ファイルのグループで、他のユーザーではない(o)、またはすべてのユーザーを(a)。場合はreferences部品が省略され、それはすべてのユーザーにデフォルト、しかしによって許可されたアクセス許可のみumask変更されます。

これ+ operatorにより、指定されたファイルモードビットが各ファイルの既存のファイルモードビットに追加されます。-それらを削除します。そして=それらを追加する原因や、不特定のビットは除いて、削除されるsetuidsetgid、明示的に指定しない限りビットは、ディレクトリに設定されました。

mode文字の組み合わせで構成されてrwxXst対応し、読み取りに、( r)、書き込み(w()、実行(またはディレクトリを検索)x)、ファイルがディレクトリであるか、すでに(一部のユーザーの実行権限がある場合のみ、検索/実行X)、setuidまたはsetgid(指定された参照に応じて)(s)および制限付き削除フラグまたはスティッキービット(t)。または、modeはいずれかの文字ugoで構成できます。この場合、はmode、所有者に現在付与されている権限(u)、ファイルのグループのメンバー()、gまたは上記のいずれのカテゴリのユーザーの権限()にも対応しますo

の権限セットfile0764/-rwxrw-r--

ファイルのグループに含まれていない他のユーザーから権限を削除します。

  • 8進数: chmod 760 file

    8進数表記を使用する場合、変更されていない既存の権限を繰り返す必要があることに注意してください。

  • シンボリック: chmod o-rwx file

    シンボリック表記では、既存のファイル許可は問題ではありません。

セットsetuid

  • 8進数: chmod 4764 file

  • シンボリック: chmod u+s file

セットsetgid

  • 8進数: chmod 2764 file
  • シンボリック chmod g+s file

1

文字を使用すると、他のビットを変更せずに、個々のビットのオンとオフを切り替えることができます。

次のディレクトリがあるとします:drwxrwsr-x 6 f261-01a g261-01a 4096 Sep 12 17:51 / home / teams / 261 / f261-01a

他のユーザーの読み取りアクセス許可をオフにしたい場合や、数値を使用したい場合は、すぐに実行することができますchmod 751。ただし、ディレクトリのsetgidビットをオフにしただけです。おっとっと。

ただし、を使用する場合は、必要なchmod o-r読み取りビットをオフに切り替えるだけで、ディレクトリのsetgidビットは設定されたままになります。

また、ファイルまたはディレクトリのsetuid、setgid、またはスティッキービットをオンにする場合にも役立ちます。特に、めったにそうしないと、4番目のオクテットのどのビットがどれであるかを覚えるのが困難になります。

だから、それはあなたが何をしているかに依存します。パーミッションを設定するだけで、何から始めてもいいのに気にしない場合でも、数字を使用することを好みます。ただし、個々のビットを切り替える場合は、文字表記の方がはるかに簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.