ænd*_*rük 12 filesystem permissions
我想在文件系统上有一个位置,以显示我具有读写访问权限的另一个文件夹的只写“视图”。
我正在想象一些行为类似于 FTP 投递箱的东西,其中文件可以复制到其中但不能从中读出,例如:
$ ls read-write-view/ write-only-view/
read-write-view/:
a b c
write-only-view/:
$ cp d write-only-view/
$ ls read-write-view/ write-only-view/
read-write-view/:
a b c d
write-only-view/:
Run Code Online (Sandbox Code Playgroud)
重要的是,这在示例中起作用 - 通过 访问时内容仍然可见read-write-view/,并且两个“视图”对单个用户都有效。
我怎样才能设置这样的东西?也许是符号链接的一些巧妙安排?或者绑定安装的不寻常配置?
使用bindfs,它的设计目的是“将目录安装到另一个位置并更改权限位”。
从具有读写访问权限的普通文件夹开始:
$ mkdir read-write-view && touch read-write-view/{a,b,c}
$ ls read-write-view
a b c
Run Code Online (Sandbox Code Playgroud)
使用bindfs挂载没有读访问权限的文件夹:
$ mkdir write-only-view
$ sudo bindfs --perms=a-r read-write-view write-only-view
Run Code Online (Sandbox Code Playgroud)
验证是否只能列出原始文件夹的内容:
$ ls read-write-view write-only-view
read-write-view:
a b c
ls: cannot open directory write-only-view: Permission denied
Run Code Online (Sandbox Code Playgroud)
验证原始文件夹是否可以通过挂载写入:
$ echo 'Can you read this?' > write-only-view/d
$ cat read-write-view/d
Can you read this?
Run Code Online (Sandbox Code Playgroud)
验证是否无法通过挂载读取文件:
$ cat write-only-view/d
cat: write-only-view/d: Permission denied
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8211 次 |
| 最近记录: |