我已经建立了一个包含几个用户的组(mygroup),然后将 Web 目录的所有者设置为 apache,并将组设置为 mygroup。
chown -R apache:mygroup /home/myweb
然后我已将权限设置为
chmod -R 764 /home/myweb
这个想法是所有人都可以查看,apache 可以读取、写入和执行,而 mygroup 可以读取和写入。
但是现在,当我尝试使用 php 中的 ssh2 在 /home/myweb 中创建一个文件夹时,由于权限问题,它不起作用。
ssh2 连接的用户和 apache 一样,都是 mygroup 的一部分。
据我所知我的设置是正确的。
答案1
目录的权限x
决定了您是否能够遍历目录,这是写入文件所必需的。如果您想mygroup
拥有写入权限,则还需要执行权限。此外,值为 4 将允许other
用户查看目录中有哪些文件,但无法读取文件,甚至无法查看文件的大小。您希望775
目录能够实现您所描述的功能。
由于您真正想要的是文件具有一组权限,而目录具有另一组权限,因此我建议您运行这些命令。
find /home/myweb -type f -exec chmod 764 {} \;
find /home/myweb -type d -exec chmod 775 {} \;
第一个find
命令查找所有类型 f(文件)的项目并对chmod 764
每个匹配执行,并将其替换{}
为找到的文件的名称。
第二个find
做同样的事情,除了它查找目录并将权限设置为775
。