假设我们有一个用户,他的主目录中pepe
有一个目录,他在该目录中拥有权限,并且在该目录内,还有另一个目录,pepe 在其中拥有权限。然后 pepe 将能够进入该目录,但他将无法列出其内容 - 因此虽然理论上他可以进入,但他无法知道该目录是否存在或其名称是什么。~/pepe_cant_see
-wx
~/pepe_cant_see/no_restrictions
rwx
cd
pepe_cant_see
cd
no_restrictions
我的问题是:如果我所在的目录缺乏读取权限,但该目录中存在我拥有完全权限的其他文件/目录,有什么方法可以检测它们的存在吗?例如,是否有一个命令允许我从 CWD 输入随机/任意目录或编辑随机/任意预先存在的文件?
(注:这纯粹是出于好奇,我没有理由认为这种事情在实践中会发生。)
答案1
不可以。由于您无法读取该目录,因此您无法看到其内容。这意味着您也不能使用诸如cd *
匹配您可以移动到的一个目录之类的技巧,因为 shell 需要扩展*
并且要做到这一点需要读取权限,并且由于它在具有您的权限的用户下运行,因此它不能这样做:
$ pwd
/home/terdon/pepe_cant_see
$ sudo ls -l .
total 4
drwxrwxrwx 2 root root 4096 Oct 23 14:36 no_restrictions
$ cd p*
bash: cd: p*: No such file or directory
$ cd *
bash: cd: *: No such file or directory
$ cd no_restrictions
$ pwd
/home/terdon/pepe_cant_see/no_restrictions