我有目录和文件
$HOME/tmp/file.txt
我想做到这一点,以至于我无法可视化 tmp 中的内容,但我可以可视化 file.txt 中的上下文,所以我制作了这部分
cd $HOME
cd tmp
bash: cd: tmp: Permission denied
ls tmp
ls: cannot open directory 'tmp': Permission denied
现在我无法查看 tmp 目录中的内容(正如我想要的那样)
但是我想访问 file.txt 里面的内容,所以当我输入时
cat $HOME/tmp/file.txt
它必须显示 file.txt 里面的内容而不是像这样:
cat: /home/user/tmp/file.txt: Permission denied
答案1
您需要了解目录权限的工作原理。
read(r)
:允许列出目录中条目的名称,但不允许列出条目元数据或内容。
write(w)
:允许添加、删除或移动条目
execute(x)
:允许访问和修改条目内容和元数据。简而言之,就是搜索目录的权限。
因此,execute(x)
仅目录权限就足以满足您的使用情况并让您实现所需的目的。至于cd
您是否r+x
需要ls
该r
权限。