如何设置使用“ls”的权限

如何设置使用“ls”的权限

我有一个文件夹(由另一个用户拥有但属于同一组)并且我想查看其内容,但我总是收到以下错误消息:

"ls: cannot open directory .: Permission denied"

但是该组具有rwx权限!

例如:

  • 文件夹/var/log/某个文件夹www-data:www-data
  • 用户user1属于组www-data(但这不是主组)。

我必须设置哪些权限才能user1查看文件夹内容并写入内容?

答案1

编辑

显然,您需要使用newgrp www-data使该补充组成为您的主组。此后,您就可以ls访问该目录了。

对我来说,它不需要newgrp

$ ls -l
drwxr-x--- 2 root     adm          4096 Aug 19 14:26 ls-test
$ id
uid=1000(ott) gid=1000(ott) groups=1000(ott),4(adm),5000(vmail)
$ ls -l ls-test/
total 0
-rw-r--r-- 1 root root 0 Aug 19 14:26 xxx

你的发行版是什么,什么版本?

答案2

执行权限应该足以列出目录内容。但您必须确保父树中的所有目录也具有执行权限,否则user1无法遍历树到您想要的目录ls

例如,如果您想检查的内容,/var/www但是您没有该目录的权限/var,那么您就无法这样做,ls /var/www因为您无法从/下到上遍历树/var/www

另一个问题可能是 SELinux 是否已启用。它启用了吗?

相关内容