我是一所小型私立学校域系统的联合管理员。我使用 Zentyal 3.4 设置系统,Windows 和 Ubuntu 客户端都可连接。学生有自己的个人登录名,服务器上有 500Mb 空间的个人“服务器驱动器”。这些“服务器驱动器”是用户的主文件夹(即,用户 john.smith 服务器驱动器位于 /home/john.smith 下)。
我之前遇到过多个权限问题。通过混合使用 ubuntu 的 drwxrwxrwx 权限系统和 Zentyal 的 ACL,我设法通过创建只有管理员才有权访问的主文件夹的符号链接,让所有管理员都能访问用户文件。我使用 Zentyal 文件共享 (Samba) 将其添加到 Samba,它工作了一段时间。 (/userfiles 是指向 /home 的符号链接,只有管理员才能访问。我这样做是因为如果我创建与 /home 的共享,Samba 会搞乱,因为这是用户在获取其服务器驱动器时使用的,我猜是重复的 Samba 条目)。
每个用户的主文件夹由他们作为用户拥有,但由管理员作为组拥有。所有文件夹(包括任何子文件夹)的权限都设置为 770,典型的用户文件夹将如下所示:
drwsrws--- 4 john.smith Administrators 4096 Aug 15 16:02 john.smith/
用户可以访问他们的所有文件,管理员也可以访问他们的文件。当用户创建自己的个人文件夹时,问题就出现了。在 /etc/skel 中,用户从 Documents 和 Pictures 文件夹开始。这里的任何内容(不包括子文件夹)都可以被任何管理员读取。如果用户在任何地方创建个人文件夹(即 /home/john.smith/Computer Class),管理员将无法读取它。
我尝试通过以下方式修复此问题:
for line in `ls -1`
do chown $line:Administrators $line -R
chmod 770 $line -R
done
这基本上将所有文件夹和文件的权限设置为上面所见的权限。它仍然不起作用。我也尝试过这样做:
setfacl -b john.smith
仍然没有结果。Documents 或 Pictures 文件夹(可读)和用户个人创建的文件夹(不可读)的 ACL 和 ubuntu 权限系统结果之间没有区别。我在这里做错了什么?有什么建议可以清理这个烂摊子吗?我如何才能获得我需要的这些权限?
答案1
我对 Ubuntu 的使用经验很少,对 Zentyal 的使用经验更少,但今天我遇到了类似的问题。我正在将文件从旧的 Ubuntu/Samba 文件服务器恢复到新的 Ubuntu/Zentyal 文件服务器。我设置/更新了 ACL,使用了管理员:adm 所有权,但无法在 Windows 客户端上浏览。然后我执行了 chown shareuser:sharegroup(实际需要文件的用户/组),它运行正常。也许这对你的情况来说是显而易见或多余的,但万一它能帮上忙,我就会发帖。