次のACLルール設定を含むディレクトリがあります。
cd /nobackupp13/jrwrigh7
getfacl .
わかりました。
# file: .
# owner: jrwrigh7
# group: a1983
user::rwx
group::r-x
group:a1983:r-x
mask::r-x
other::---
default:user::rwx
default:group::r-x
default:group:a1983:r-x
default:mask::r-x
default:other::---
ただし、このディレクトリにテストファイルを作成すると、デフォルト値はmask
適用されず、ファイルに対する権限は次のようにr--
制限されますr-x
。
cd /nobackupp13/jrwrigh7
touch testfile
getfacl testfile
わかりました。
# file: testfile
# owner: jrwrigh7
# group: a1983
user::rw-
group::r-x #effective:r--
group:a1983:r-x #effective:r--
mask::r--
other::---
umask
ACLの適用を受けるとします(参照https://serverfault.com/q/349145/530204
)、とにかく結果は次のとおりですumask
。
cd /nobackupp13/jrwrigh7
umask
わかりました。
077
これをブロックする他の権限システムがありますか?
究極の目標は、r-x
このグループがこのディレクトリに作成されたすべてのファイルを生成することですa1983
。私がこれを経験したのは、私の研究グループが管理管理権限を持たないコンピュータ上のお互いのファイルにアクセス/実行するのに問題があるからです。所有者が設定したかどうかにかかわらず、すべてのスクリプトファイルが実行可能であることを保証したいと思います。
ベストアンサー1
一般情報
ファイルを生成するためにシステムコールを行うときに設定がopen()
ありますmode
。ファイルが受け取るすべての権限は、mode
このパラメーターで要求する必要があります。
親ディレクトリにデフォルトのACLがない場合、ファイルの権限mode
はumask
。
親ディレクトリにデフォルトのACLがある場合、これはmode
所有者権限と他のすべてのユーザーの権限を決定します。
他のすべてのACLエントリは、変更されていないデフォルトのACLを使用します。同じ効果を得るために、ACLマスクは、ACLが明示的に設定されている場合など、項目に基づいて計算されず、代わりにグループACL_USER
部分ACL_GROUP
に設定されます。ACL_GROUP
mode
mode
マスク値は、基本 ACL と基本マスクによって決まります。これには、3つの要素すべてに含まれる権限のみが含まれます。したがって、デフォルトのマスクは通常縮小されますが、他の値も縮小するために使用できます。
プログラムが「奇妙に」動作すると、結果が混乱する可能性があります。たとえば、モードをgcc
使用して出力ファイルを作成します666
。chmod()
777
あなたの状況
touch
モードを使用してファイルを作成します666
。- デフォルトのACL設定は次のとおりです。
750
- 結果(両方の権限を含む)はです
640
。