在组内设置文件共享目录的常用方法是:
$mkdir foo $chgrp felles foo $chmod g+ws foo $setfacl -m group:felles:rwx foo $setfacl -dm group:felles:rwx foo
这可以确保在foo中创建的任何文件都是组felles可读写的:
$umask 0022 $echo hi > foo/bar $ls -l foo total 4 -rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
但是,如果将文件复制到foo,则不应用默认ACL:
$echo you > baz $cp baz foo/ $ls -l foo total 8 -rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar -rw-r--r--+ 1 bhm felles 4 2010-09-23 00:19 baz $getfacl foo/baz # file: foo/baz # owner: bhm # group: felles user::rw- group::rwx #effective:r-- group:felles:rwx #effective:r-- mask::r-- other::r--
为什么会发生这种情况,有没有解决方法呢?