特定の操作を実行するとfind
エラーdu
が~/.cache
発生します。
$ ls ~/.cache/gnome-control-center
ls: cannot open directory /home/user1/.cache/gnome-control-center: Permission denied
所有者がディレクトリを読み取ったり閲覧したりできないようにする奇妙な権限があります(ただし、共有されている場合はユーザーグループは可能です)。
$ ls -ld ~/.cache/gnome-control-center
d-w-r-xr-T. 2 user1 user1 4096 Sep 30 16:51 /home/user1/.cache/gnome-control-center
これは書き込み専用のドロップボックスのように見えますが、一貫して適用されないため、「グループ」と「その他」は書き込み専用ではなく読み取り専用として扱います。 (以前のエンタープライズ環境では)デフォルトグループがあると仮定するとuser
(拒否が優先され、権限が左から右に読み取られるため)、誰でもディレクトリを読み取ることができます。とは別に所有者。ただし、親エントリは所有者.cache
だけを読み取って閲覧できるため、そうすることはできません。
確認しました。これは他の人にも起こります。。私は2つの質問をしていると思います:
- この許可が愚かな理由は文書化されていますか?
- 自分のホームディレクトリに保存されているディレクトリから所有者をロックするには、どのような理由がありますか?
ベストアンサー1
これはバグであり、GNOME 3.30で修正されました。gitlab.gnome.org/GNOME/gnome-control-center/-/issues/49。
0700
この問題は、サポートされていないユーザーディレクトリ権限の生の8進値が原因で発生し、この値は10進数に誤って変換されます700
。この問題を解決するには、値を文字列値'0700'
として作成する必要がありますmeson.build
。
源泉:github.com/GNOME/gnome-control-center/commit/37a6b940cb83d97b808da77f397e34100beb263f
ビルド:config.hの "USER_DIR_MODE"値の変更
mesonは、ユーザー設定ディレクトリを作成するときにデフォルトの権限として使用される生の8進値として「USER_DIR_MODE」を定義します。
ただし、中間子は元の8進値[0]をサポートしていないため、定義では最初の「0」値が失われます。そのため、ディレクトリが無効な権限で作成されました。
中間子では、8進値を文字列として使用するように変更されているため、定義は正しい値を持ちます。
修正 #49