进入目录而不知道其名称?

进入目录而不知道其名称?

假设我们有一个用户,他的主目录中pepe有一个目录,他在该目录中拥有权限,并且在该目录内,还有另一个目录,pepe 在其中拥有权限。然后 pepe 将能够进入该目录,但他将无法列出其内容 - 因此虽然理论上他可以进入,但他无法知道该目录是否存在或其名称是什么。~/pepe_cant_see-wx~/pepe_cant_see/no_restrictionsrwxcdpepe_cant_seecdno_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

相关内容