这么说吧
- 我的用户帐户是
homer
- 有一个后台服务
marge
运行一个帐户bart
。 marge
正在使用目录lisa
来存储其数据。- 我已将 的所有者设置
lisa
为bart
。
如果我创建一个文件并尝试将其复制到lisa
,则会由于权限而失败。我可以通过 复制它sudo cp
,但是文件的所有者变成root
,bart
无法读取。我希望所有文件的所有者lisa
都是bart
.我可以bart
在将文件复制到 后手动将文件的所有者更改为lisa
,但不能自动完成吗?也就是说,我希望 中所有文件的所有者lisa
,无论是谁将它们复制/创建到 中lisa
,都是bart
默认的。
答案1
如果您在目录上添加 setgid 位bart
(例如 )chmod 2775 bart; chgrp maggie bart
,则该目录内的所有文件的组所有权都将更改为maggie
,并添加bart
到该maggie
组中,然后该组中的任何人maggie
(例如您)bart
都将能够访问这些文件。目录有一个setuid概念,但没有实现。另一种选择是 posix ACL,它有优点也有缺点,但对于您的需要,setgid 目录可能会起作用。