
ファイルシステムに「/etc/file.conf」というファイルがあります。
$ getfacl /etc/file.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/file.conf
# owner: root
# group: root
user::rw-
group::r--
other::r--
私のアカウント「userr」に書き込み権限を与えて、Python スクリプトがそこに書き込めるようにしたいです。このアカウントは root によって所有されているので、新しいグループを作成して、それに setfacl を設定することを考えました。
$ sudo groupadd rsnap
$ sudo usermod -a -G rsnap userr
$ id userr
uid=1000(userr) gid=1000(userr) groups=1000(user),27(sudo),1001(rsnap)
$ sudo setfacl -m g:rsnap:rw /etc/file.conf
$ getfacl /etc/file.conf
getfacl: Removing leading '/' from absolute path names
# file: etc/file.conf
# owner: root
# group: root
user::rw-
group::r--
group:rsnap:rw-
mask::rw-
other::r--
しかし..
$ echo "Test" >> /etc/file.conf
-bash: /etc/file.conf: Permission denied
何を見逃したのでしょうか?
答え1
変更しました/etc/rsnapshot.conf
が、 でテストしました/etc/file.conf
。
以下の方法でマスクを有効にする必要があります:
setfacl -m m:rw- filename
または
setfacl -m m::rw- filename
OS によって異なります。この種の ACL は標準化されていないことに注意してください。1993 年の関連標準提案は 1997 年に撤回されました。
ところで、マスクがすでに設定されている可能性があることに気づきました。つまり、まだ間違ったファイル名を使用していることになります。
この時代遅れの ACL 提案では、標準提案が完成せず、顧客が望むものではないという合意があったため、問題が頻繁に発生します。