3桁:
644
ugo (user group other)
4桁:
0644
?ugo (??? user group other)
4桁の8進数のUnixファイル許可表記の最初の8進数は何ですか?
3桁:
644
ugo (user group other)
4桁:
0644
?ugo (??? user group other)
4桁の8進数のUnixファイル許可表記の最初の8進数は何ですか?
回答:
からman chmod
:
数値モードは1〜4桁の8進数(0〜7)であり、値4、2、および1のビットを加算することで得られます。省略された数字はすべて先行ゼロと見なされます。最初の桁は、ユーザーIDの設定(4)とグループIDの設定(2)およびスティッキー(1)の属性を選択します。
「ユーザーIDの設定」、「グループIDの設定」、「スティッキー」とは何ですか?
setuidおよびsetgid(「実行時にユーザーIDを設定」および「実行時にグループIDを設定」の略)は、ユーザーが実行可能ファイルの所有者またはグループの許可で実行可能ファイルを実行できるようにするUnixアクセス権フラグです。多くの場合、特定のタスクを実行するために、コンピューターシステム上のユーザーが一時的に昇格した特権でプログラムを実行できるようにするために使用されます。提供される想定のユーザーIDまたはグループIDの特権は必ずしも昇格されるわけではありませんが、少なくとも特定の特権です。
また、ディレクトリに適用すると、setuid / setgidにより、ディレクトリで作成された新しいファイルは、それぞれ親ディレクトリのuidまたはgidを継承します。この動作は、unixのフレーバーによって異なります。たとえば、Linuxはsetgidを尊重しますが、ディレクトリのsetuidは無視します。
そして粘着性:
現在、スティッキービットの最も一般的な使用方法はディレクトリです。スティッキービットが設定されている場合、アイテムの所有者、ディレクトリの所有者、またはスーパーユーザーのみがファイルの名前を変更または削除できます。スティッキビットが設定されていない場合、ディレクトリの書き込みおよび実行権限を持つユーザーは、所有者に関係なく、含まれているファイルの名前を変更または削除できます。通常、これは/ tmpディレクトリで設定され、一般ユーザーが他のユーザーのファイルを削除または移動できないようにします。
Setgidには、私が毎日依存しているもう1つの非常に重要な機能がありますが、Handyman5の抜粋には含まれていません(引用は上記と同じページからです)。
setuidフラグとsetgidフラグは、ディレクトリで設定された場合、まったく異なる意味を持ちます。
ディレクトリ(chmod g + s)にsetgid権限を設定すると、ファイルを作成したユーザーのプライマリグループIDではなく、その中に作成された新しいファイルとサブディレクトリがグループIDを継承します(所有者IDは影響を受けません。グループID)。新しく作成されたサブディレクトリは、setgidビットを継承します。
したがって、これにより、新しいファイルまたはディレクトリを作成する前に、グループメンバーが現在のグループを明示的に変更する必要がないという不都合なしに、グループの共有ワークスペースが可能になります。ディレクトリにsetgid権限を設定すると、setgidビットが設定された後に作成される新しいファイルとサブディレクトリのグループIDのみに影響し、既存のエンティティには適用されないことに注意してください。既存のサブディレクトリのsetgidビットの設定は、次のようなコマンドを使用して手動で行う必要があります。
[root@foo]# find /path/to/directory -type d -exec chmod g+s {} \;
chmod g+s
8進値の前に2を追加すると、775のアクセス許可(drwxrwxr-x
)を持つディレクトリが2775(drwxrwsr-x
)になります。