我正在运行 Ubuntu Server 14.04.2 LTS,并且已经使用进行了acl
安装sudo apt-get install acl
。
我正在尝试创建一个www
文件夹/srv
,Web 服务器除了我的用户帐户外还具有读写访问权限。我希望将来在其下创建的所有文件夹和文件/srv/www
都继承权限、用户和组。
这是我的进展:
cd /srv
sudo mkdir www
sudo chown -R ryan:www-data www/
sudo chmod -R a-rwx www/
sudo chmod -R ug+rwX www/
sudo setfacl -Rdm u:ryan:rwX,g:www-data:rwX www/
getfacl www/
输出:
# file: www/
# owner: ryan
# group: www-data
user::rwx
group::rwx
other::---
default:user::rwx
default:user:ryan:rwx
default:group::rwx
default:group:www-data:rwx
default:mask::rwx
default:other::---
问题是,每当我创建新文件或文件夹时,www/
权限都会被继承,但所有者或组不会继承。如何让所有者和组继承?我以为在冒号 :[用户或组]: 之间指定用户或组会导致它们被继承?
答案1
在冒号之间指定用户/组意味着这些权限适用于该用户/组。例如,您可以拥有一个文件夹模式 0600,但可以通过 ACL 由某个随机用户读取user:user:randomuser:rwx
。
您可以chmod g+s /srv/www
让文件/文件夹继承其组。您无法在 Linux 上继承用户(在某些系统上chmod u+s /srv/www
会这样做)。通常您不需要这样做,因为您可以使用 ACL 向您想要的任何用户/组授予任何权限。