保护主目录中的子目录,很多时候,用户允许其他人访问他的主目录(如上例)。只给访问者执行权限,但没有可读权限的话,其他人必须事先知道目录存在于主目录中的文件名才能访问这些文件。
因为其他用户不能使用ls命令浏览主目录内容,用户的主目录还是保密的,其他人只能访问用户选择公开的部分。
虽然不赋予主目录可读权限在防止其他用户浏览该目录内容上有一定的作用,但这不是百分百可靠的。尽管其他用户只有执行权限而没有可读权限,他们还是可能“猜到”目录中的内容。
举例来说,用户通常会建立一个名为~/mail的目录存放邮件。如果用户nero给了其他人他主目录的执行权限(如上例),然后建立一个~/mail目录。如果用户elvis猜到了这个目录的存在,~nero/mail的默认权限会允许他浏览其内容。如下:
从这里nero得到什么教训呢?如果你允许其他人访问你的主目录,必须重新考虑新建子目录的权限。在默认状态下,如果有人能猜到目录的名称,他们就能浏览这个子目录。要解决这个问题,用户nero需要对外关闭他的mail子目录。