Linux中的ACL与组权限


0

我想允许一组学生访问共享的Web服务器。学生按小组工作,每个小组的主目录都包含一个www文件夹,apache2的共享实例应该可以访问该文件夹。例如,如果Bob和John是MyPetShop组的一部分,则您将john在这些john students mypetshop组中拥有用户。我不想授予www-data学生会员资格,以避免他们直接弄乱别人的页面*。

而他们家directy会在/home/students/mypetshop/home/students/mypetshop/www读取用户/写www-data。我可以使用

  • www-data这些文件夹的粘性组(以便它们的权限为drwxrwsrwx john www-data)。这有一个问题,约翰对文件使用了错误的权限,因此bob或www-data无法访问它们;或www-data创建的文件,只有john和bob在权限上摆弄一会儿才可以触摸。
  • 标准组所有权(mypetshop),以及允许www-data访问这些文件夹(通过setfacl -m d:g:www-data:rwx www)的ACL 。

ACL是否可以按预期在这里工作?是默认的ACL自动在子文件夹中继承,还是有一些更简单的方法来设置我所缺少的?


(*)是的,这不是万无一失的,因为他们可以编写www-data-execute phps来为他们做...

Answers:


0

我已经实现了ACL版本,它的工作原理很吸引人。学生不能使用标准的SSH / SFTP客户端(不支持ACL的方式)弄乱他们的组权限。绝对推荐用于共享主机,但不是很高的安全性设置。

顺序为:

  1. 添加ACL工具setfaclgetfacl(debian / ubuntu软件包acl
  2. acl选项添加到您的相关文件系统中/etc/fstab(不带该mount-option的文件系统会静默忽略任何ACL;这充其量是令人困惑的)。
  3. 使用setfacl允许用户www-data向所有目录遍历访问/home/stucents/*/www的文件夹
  4. 用于setfacl在每个www文件夹中允许相关组的成员和用户的默认(=粘性)读写执行访问www-data

使用默认ACL在文件夹中创建的任何文件或文件夹都将继承该ACL。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.