rootユーザーを使用して次のコマンドを実行しました。
setfacl -R -d -m u:MYUSER:rwx /myfolder
その後、そのユーザー()に変更しsu MYUSER
てファイルを削除しようとすると(rm /myfolder/somefile.sql
次のエラーが発生します)。
rm: cannot remove 'somefile.sql': Permission denied
私もmv
そうすることはできません。これにより、次のエラーが発生します。
mv: cannot move 'somefile.sql' to 'someotherfile.sql': Permission denied
を追加しましたMYUSER
。/etc/sudoers
だから実行すると、sパスワードのsudo rm /myfolder/somefile.sql
入力を求められ、MYUSER
大丈夫です。ただし、sudo
crontabジョブとして実行できるように機能せずに機能する必要があります。
作成すると、getfacl /myfolder
次のような結果が出ます。
# file: /myfolder/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:MYUSER:rwx <-- That looks right, doesn't it?
default:group::r-x
default:mask::rwx
default:other::r-x
...ゼウスの名前でこのディレクトリのファイルを削除できないのはなぜですか?
答え1
MYUSER
デフォルトの所有者ですが、有効な所有者ではありません。
両方を実行する必要があります
setfacl -R -d -m u:MYUSER:rwx /myfolder
setfacl -R -m u:MYUSER:rwx /myfolder
-d
2番目のコマンドにはデフォルト(/)フラグはありません--default
。
この魂はgetfacl
寄付につながります
# file: /myfolder/
# owner: root
# group: root
user::rwx
user:MYUSER:rwx
group::r-x
other::r-x
default:user::rwx
default:user:MYUSER:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
答え2
setfacl
(AND firewalld
)は常に2回実行する必要があります。デフォルト権限を設定すると-d
新しく作成されたファイルに影響し、デフォルト権限を設定しないと実際のファイルに影響します。