我正在使用亚马逊 Linux。我已经对文件设置了全局读取权限,但我似乎无法以普通用户身份访问它:
[myuser@mymachine ~]$ ls -al /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css
ls: cannot access /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css: Permission denied
[myuser@mymachine ~]$ sudo ls -al /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css
-rwxrwxr-x 1 jboss jboss 771 Oct 29 18:51 /usr/java/jboss/standalone/deployments/myproject.war/css/reset.css
[myuser@mymachine ~]$ whoami
myuser
请注意,当我运行“sudo”时,我可以访问它。我想保留 jboss 用户拥有的文件。如何在读取模式下让我的(或其他任何人的用户)可以访问该文件?
您需要检查路径中每个元素的权限,而不仅仅是文件权限。对于希望运行该命令的用户,每个目录都必须有权访问“x”(这意味着对文件执行但对目录进行遍历)。