【发布时间】:2016-03-12 09:51:17
【问题描述】:
发现使用 d 开关使用 acl 时最奇怪的行为:
在 setfacl commando 中使用 d: 进行测试
create directory: mkdir /var/tmp/tester
create three users: useradd userA -d /tmp etc…
remove the other permission of the directory: chmod 750 /var/tmp/tester
grant acl permissions for userA: # file: setfacl -md:u:userA:rwx var/tmp/tester/
grant acl permissions for userB: setfacl -m d:u:userB:rx /var/tmp/tester
grant acl permissions for userC(not really needed): setfacl -m d:u:userC:rwx /var/tmp/tester
list the acl of the directory: getfacl /var/tmp/tester
# owner: root
# group: root
user::rwx
group::r-x
other::---
default:user::rwx
default:user:userA:rwx
default:user:userB:r-x
default:user:userC:---
default:group::r-x
default:mask::rwx
default:other::---
Become userA and navigate to the tester dir: ''su - userA cd /var/tmp''/tester
结果:-bash: cd: /var/tmp/tester: Permission denied
现在相同的测试,但不在我的 acl setfacl commando 中使用 d:
create directory: mkdir /var/tmp/tester
create three users: useradd userA -d /tmp etc…
remove the other permission of the directory: chmod 750 /var/tmp/tester
grant acl permissions for userA: # file: setfacl -m u:userA:rwx var/tmp/tester/
grant acl permissions for userB: setfacl -m u:userB:rx /var/tmp/tester
grant acl permissions for userC(not really needed): setfacl -m u:userC:rwx /var/tmp/tester
list the acl of the directory: getfacl /var/tmp/tester
# owner: root
# group: root
user::rwx
group::r-x
other::---
default:user::rwx
default:user:userA:rwx
default:user:userB:r-x
default:user:userC:---
default:group::r-x
default:mask::rwx
default:other::---
Become userA and navigate to the tester dir: ''su - userA cd /var/tmp''/tester
结果:成功!?
这是预期的行为吗? 为什么 getfacl 在测试中没有显示任何差异?
【问题讨论】: