用户无法访问组权限目录

用户无法访问组权限目录

jenkins我在组中有一个用户jenkins。我想访问该目录/var/www/html/,因此我将目录组从 更改rootjenkins

$ ll /var/www
...
drwxrwx---. 7 root jenkins ... html
...
$ groups
jenkins
$ cd /var/www/html
-bash: cd/var/www/html: Permission denied

用户来自/etc/passwd:jenkins:x:779:779::/home/usr:/bin/bash

/var和的所有者和组/var/wwwroot。据我了解,我不应该更改他们的组,而应该只更改我想要访问的目录。

你知道为什么这不管用吗?

编辑:$ ls -l /var total 97...drwxrwx---.8 root root...www...

抱歉,没有显示完整输出,这是来自离线计算机。我不知道可执行路径是什么,但这个文件是唯一看起来不同的文件:

lrwxrwxrwx. 1 root root ... mail -> spool/mail

答案1

似乎是父文件夹的权限有问题,如果您要读取并更改目录,您必须获取文件夹及其父文件夹的读取和执行权限。检查以下文件夹的所有权和位模式:

  • / = 模式:755,用户:root,组:root
  • /var = 模式:755,用户:root,组:root
  • /var/www = 模式:750,用户:WebSrvUsr**,组:WebSrvGrp**
  • /var/www/html = 模式:750,用户:WebSrvUsr**,组:jenkins

** WebSrvUsr 和 WebSrvGrp 依赖于发行版

最后,您的用户必须是以下组的成员:WebSrvGrp、jenkins。

如果这不起作用,您可以检查 selinux 或 apparmor (getenforce)

答案2

确保:

  • a)/var/具有 755 权限(推荐),或
  • b)/var的所有权设置为root:jenkins(不推荐)。

相关内容