次のようにしましたが、最終結果を理解していません。
$ mkdir mydir
$ setfacl -d -m u::rwX,g::rwX,o::rX,m::rwx mydir
$ touch mydir/test.txt
$ getfacl mydir/test.txt
# file: mydir/test.txt
# owner: ubuntu
# group: ubuntu
user::rw-
group::rwx #effective:rw-
mask::rw-
other::r--
$ setfacl -m g::rwX mydir/test.txt
$ getfacl mydir/test.txt
# file: mydir/test.txt
# owner: ubuntu
# group: ubuntu
user::rw-
group::rwx
mask::rwx
other::r--
したがって、私が予想する状況は次のとおりです。
- ディレクトリを作成し、そのディレクトリに新しく作成されたファイルのデフォルト値を設定します。 (ディレクトリの場合、「X」は実行可能で、すでに実行可能な場合は通常のファイルに対してのみ実行可能です。)
touch
「rw-rw-r--」権限と「rwx」マスクを使用して新しいファイルを作成します。setfacl -m g::rwX mydir/test.txt
ファイルにマスクが「rwx」の「rw-」グループがすでに存在している必要があるため、何もしないでください。
実際に起こっていることは次のとおりです。
- レポート用に生成されたデフォルトディレクトリは次のとおりです。
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x
touch
「rw-rw-r--」というファイルを作成してください。ls
ただし、getfacl
表示されるグループ権限は実際には「rwx」です。マスクはデフォルトの「rwx」ではなく「rw-」なので、「rw-」でマスクされます。- test.txtはすでに「rwx」グループであるため、グループ
setfacl -m g::rwX mydir/test.txt
権限は変更されませんが、マスクが「rwx」として再計算され、グループに対する「x」権限が表示されますls
。
ディレクトリのデフォルトマスクが新しいファイルに適用されないのはなぜですか?新しいファイルのグループ権限に実行ビットが含まれるのはなぜですか?
これはgetfacl
mydirにあります:
# file: mydir
# owner: ubuntu
# group: ubuntu
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::r-x
getfacl
デフォルト設定に「X」(大文字)が含まれておらず、「x」のみが表示されるのはなぜですか?