Linuxでは、umaskはどのように計算されますか?

Linuxでは、umaskはどのように計算されますか?

umaskしたがって、この形式を使用して特権ユーザーを制限することが可能であることがわかりますumask ugo

私は読み取り= 4、書き込み= 2、exec = 1であることを知っています。ところで、を入力するとumask4桁の数字が出ます。これは0022ORです0073。余分な数があるので、これがどのように機能するのか今は理解できません。その余分な数字は何ですか?どういう0022意味ですか?

ベストアンサー1

デフォルトのマスク0666.0022が umask新しいマスク0644(0666-0022 = 0644)を作成すると仮定すると、このグループとは異なるグループには読み取り(書き込みまたは実行なし)権限があることを意味します。

「追加」数字(最初の数字= 0)は特別なパターンを指定しません。

パターンが数字で始まる場合は8進数として解釈され、それ以外の場合は記号として解釈されます。

0は、1(固定ビットの場合)または6(SGIDの場合)と同じ数です。このようなコマンドは、ユーザーやグループに読み取りおよび書き込み権限を追加するなど、他chmodの方法で呼び出すことができます。chmod ug+rw mydirこの例のパターン(ug + rw)は数字で始まらないため、8進数として解釈されず、記号として解釈されます。

バラよりen.wikipedia.org/wiki/Chmod#Symbolic_examplesシンボルだけでなくwww.lifeaftercoffee.com/2007/03/20/special-permission-modes-in-linux-and-unix/いくつかの特別なパターンについて学びます。

最初に discover を使用するかどうかはわかりませんが、umask技術的には可能です。これは、ほぼ常にゼロで表される理由を説明します。

~に帰属ピンクフロイド x33

マスクの最初の数字は、所有者/グループ/その他のモデルに適していない特別な権限に関連しています。ファイル権限に4桁の数字が指定されている場合、最初の数字は次の特殊値を表します。

4000 = SUID
2000 = SGID
1000 = sticky bit

set-user-IDの略であるSUIDビットは、実行可能プログラムが所有者の有効なユーザーID(uid)で実行されるようにします。つまり、プログラムは誰が実行しても、所有者の権限で実行されます。これはroot権限を必要としますが、通常のユーザーが実行するプログラムを実行するときに一般的です。passwdこれがそのような例の1つです。

SGID ビットは set-group-ID の略で非常に似ていますが、有効グループ所有者のID(gid)。

粘着性のある部分は少し複雑です。詳しく知りたい場合は、マンページを読んでくださいsticky

このビットはディレクトリにも使用できますが、意味が変わります。

基本的に、これらの追加ビットを有効にできる設定を実際に構成できるとは思わないが、umaskおそらくそうしたくないだろう。

~に帰属ユーザー 470379

おすすめ記事