umaskがより制限的であるにもかかわらず、私のホームディレクトリのファイルが誰でも書き込み可能に生成されるのはなぜですか?

umaskがより制限的であるにもかかわらず、私のホームディレクトリのファイルが誰でも書き込み可能に生成されるのはなぜですか?

新しいファイルとディレクトリに対する権限の動作が少し奇妙であることに気づきました。まず、umaskは正解を返すようです。

$ umask
0002

これは、私のユーザーと私のグループが完全なアクセス権を持ち、残りの世界には書き込みアクセス権とsuidがないことを意味します。しかし、$ HOMEにファイルを作成すると、次のようになります。

$ ls -l testfile 
-rw-rw-rw- 1 robe robe 0 mar 16 12:58 testfile

つまり、全員に書き込み権限を付与します。ディレクトリでも同じことが起こります。

$ ls -ld testdir
drwxrwxrwx 2 robe robe 6 mar 16 13:00 testdir

これは0002ではなくumask 0000のような気がします。デフォルトの0002または0022を変更した一部のumaskインスタンスに対してすべての/ etcを検索しましたが、何も見つかりませんでした。これはデフォルトのCentOS 5.5インストールです。なぜこれが起こるのかわかりますか?

ベストアンサー1

私の質問に答えるのが適切かどうかわかりません。それ以外の場合は、編集者にこれについてのアドバイスを求めます。よろしくお願いします。

私は謎を解決したと思います。問題は、XFSボリュームにデフォルトのACLがないことです。以下は、影響を受けるディレクトリの1つである/ srv / backupsのACLエントリです。

# file: srv/backups
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

「mkdir test」または「touch testfile」を実行するたびに777の権限が付与されます。だから私はこれをしました:

setfacl -m d:u::rwx /srv/backups

次のようにACLを保持します。

# file: srv/backups
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:other::r-x

以前はACLはありませんでしたが、今はあります。 「ls -l」を実行すると、「+」記号が追加された権限を表示できます。奇跡的に、「mkdir test」と「touch testfile」が予想される権限で動作します。

# ls -l testfile 
-rw-r--r-- 1 root root 0 Dec 20 10:00 testfile
# ls -ld testdir
drwxr-xr-x+ 2 root root 6 Dec 20 10:00 testdir

なぜこれが起こるのかわかりません。 XFSはデフォルトのACLがないのが好きではなく、ACLが発生すると奇妙に動作します。また、Debian / UbuntuではなくCentOSでのみこれが起こるのを見ました。それはおそらく、カーネルのXFSバージョン、または類似のものと関連があるかもしれません。全く知らない。

とにかくこの問題は解決されました。すべての提案に感謝します:-)

おすすめ記事