如何在同一目录中授予两个用户权限(linux)

如何在同一目录中授予两个用户权限(linux)

我需要为同一目录中的两个用户授予权限,即

我在 /var/www 中运行 Web 应用程序,我想使 Web 服务器 (nginx) 可写,还想授予 ftp 用户访问权限(/var/www 是 ftp 用户的主目录)。我尝试使用 setfacl,但不起作用?

答案1

  1. (可选)创建一个组groupadd groupname
  2. 将两个用户都添加到组中for u in user1 user2 ; do usermod -aG groupname $u ; done
  3. 将该组设置为目录(及其内部文件)的所有者chown :groupname /var/www ; chmod -R g+rwX /var/www

答案2

acl 应该可以工作。你用对了吗?为现有文件提供递归规则,为新文件提供默认规则?

sudo setfacl -Rm d:g:<user-group>:rwX,g:<user-group>:rwX /var/www

将授予您主组对文件的 rw 权限和对目录的 x 权限(以进入它们)。

-R: recursive
-m: modify existing rule (used to modify the existing permissions)
d:g:...:rwX: this indicates the default part for new files/directories
g:..:rwX: group to use for the acl
rwX: read, write and change directory allowed (rwx will allow execute on files too)

该命令分为两部分:d:g:.....之前,g:....之后。, 第一部分(d:...)将为新文件/目录分配默认值,第二部分(g:...)将修改现有文件。

注意:您还可以对用户(u:)或其他(o:)使用 acl,而不是对组(g:)使用 acl

相关内容