我创建了一个名为“app-data”的组和一个文件夹/db-data/archived-data/
我希望 app-data 的成员对 /db-data/ 文件夹拥有所有权限,但我希望同一组用户只能对 /db-data/archived-data/ 文件夹拥有创建和删除访问权限(用户不应该能够修改其中的任何文件或目录。但他们应该能够创建或删除他们想要的任何文件或文件夹。
我们该怎么做呢?我认为这可以通过 ACL 实现,但请随时告诉我我们如何实现这一点?使用任何方法都可以,但我想要这个配置。
请帮忙。
答案1
这绝对是可能的。首先,/db-data
将 的组更改为app-data
:
sudo chgrp -R app-data /db-data
现在设置权限:
sudo chmod -R g+rwx /db-data
sudo chmod -R g-w /db-data/archived-data/*
sudo find /db-data/archived-data -type d -exec 'chmod' 'g+rwx' '{}' ';'
sudo chmod -R g+rwx /db-data
授予其内部所有内容app-data
的完整权限/db-data
sudo chmod -R g-w /db-data/archived-data/*
删除app-data
里面所有内容的写入权限/db-data/archived-data
- 最后,
sudo find /db-data/archived-data -type d -exec 'chmod' 'g+rwx' '{}' ';'
恢复app-data
每个目录在/db-data/archived-data
(但是不是这些目录内的文件),这对于app-data
创建和删除其中的任何文件或目录是必要的/db-data/archived-data
。
现在, 中的任何人app-data
都可以读取、执行、创建和删除 中的文件或目录/db-data/archived-data
(包括深度超过 1 级的子目录;即,app-data
将能够在 中创建和删除文件/db-data/archived-data/a/b/
)。如果您不想app-data
拥有读取和/或执行权限,请将g-w
中的sudo chmod -R g-w /db-data/archived-data/*
更改g-rw
为无读取权限、g-wx
无执行权限或g-rwx
根本没有权限(如果您在运行命令后执行此find
操作,则必须重新运行它)。
最后,请注意如果用户 app-data
创建文件或目录,他/她将能够修改他/她创建的文件/目录(但现有文件仍然不可修改)。