我可以将特定的组|umask设置为特定路径内所有操作的默认组|umask吗?

我可以将特定的组|umask设置为特定路径内所有操作的默认组|umask吗?

我只想覆盖某些目录内的默认umask设置owner:group,而不需要 root 权限,因为那样会违背目的。

例如,当我将touch其中的一个文件/var/www/变为0755并归 拥有时redsandro:redsandro

我希望将内的所有内容都默认为0770和。redsandro:www-data/var/www/

也许对于这种特定情况有更好的解决方案。这似乎是让我的非 root 用户和 Web 服务器完全控制 的唯一方法/var/www/。作为这台机器的唯一用户,我希望htdocs是“我的”,而不是 root。但是,当你在 htdocs 中占据太多领地时,Apache 就会感到厌烦。

这是一个相关问题对于umask答案的部分“不”。但我确信其他人也寻求过同样的功能,我可以想象pwdbasedumask以某种方式可用,就像git用于.git存储pwd沿目录树向上或向下的独立设置一样。我不确定您是否将子目录称为沿树向上或向下的子目录。 ;)

答案1

部分答案:

setgid在父目录上添加位:

sudo chown redsandro:www-data /var/www
sudo chmod 2770 /var/www

交替:

sudo chmod u=rwx,g=rwxs /var/www

答案2

因为您需要两者usergroup进行设置,所以这应该可以工作。

sudo chown -R redsandro:www-data /var/www

改变所有权。

然后做:

sudo u=rwx, g=rwxs /var/www

保持所有权的永久变更。

相关内容