我正在完成一项为标准 UNIX 系统添加时间支持的作业。但是,其中的一部分涉及通过使备份文件不可见来保护备份文件的位置(默认情况下我们已将其设置在系统根目录下),即使是通过像“ls -al”这样的命令,并且只能通过指定访问它的绝对路径名。这是原始报价:
最后,历史目录应该是“虚拟的”,因为它们在检查代表根目录的 inode 的内容或执行诸如“ls -al /”之类的命令时不会出现,并且只能通过直接 chdir 访问() ("cd") 操作到历史路径名。
我一直在浏览 UNIX 文件系统 API,但我还没有想出一种方法来强制执行此操作(我认为命令行程序或 bash 脚本中的这些程序的组合可能会完成这项工作)。我是不是在思考错误的方向?
将不胜感激任何指向正确方向的指示或提示,谢谢:)
您可以防止非 root 用户列出目录的内容,同时允许他们通过授予x
权限而不是r
. 对于目录,r
(“read”) 表示可以列出内容,而x
表示可以访问目录中的文件或cd
进入其中。但是,这似乎不是分配的含义,因为它不是指权限。
对于普通文件系统,目录中的条目是出现在目录列表中的条目。但是,如果您控制文件系统驱动程序,则可能违反此约定。以下是一些您可能会在野外找到的示例:
Foo
,你可以也被称为访问文件FOO
,fOO
等,他们都是一样的文件,因为文件系统驱动程序是这样设计的。/amnt/myserver/somedir
时尝试挂载myserver:/somedir
,从而使目录/amnt/myserver
和/amnt/myserver/somedir
存在。ls ~/.avfs/path/to
显示为,foo.zip
则目录~/.avfs/path/to/foo.zip#
也存在。/snapshot/20140415022342
或者/snapshot/yesterday
你在指定时间之前获得最新的快照。