能否支持目录过滤功能?在分配特定的目录给指定用户时,希望可以过滤目录中特定文件及文件夹
比如配置中,增加一个专门配置特定用户的目录过滤字段 sub_fs_exclude
这样在使用 admin 登录时,不能访问 /opt/usr/ 目录下 abc、bcd、x/y/z 目录,其他目录可以正常访问
另外关于目录权限的设置,如果能更细化一些就更好了(只读,读写,禁止),作为额外的设置,提供给有需要的人使用,不过如果只考虑轻量化,也可以不做支持。
[server]
host = "0.0.0.0"
port = 7086
path = ""
fs_dir = "/opt"
[auth]
[[auth.user]]
username = "admin"
sub_fs_dir = "/usr/"
sub_fs_exclude = "/abc|/bcd|/x/y/z"
sub_path = ""
password_hash = "99c3b031ec66335ae36b6687d5ec778a11915bb232c905079abbb6b8cdd927b5"
password_crypt = "sha256"
# add more users here
# note: the above line is required by auto install script, do not delete.
这些是可以通过 Linux 自带的权限控制实现的。更复杂的功能,可以自行在服务的 downstream 部署 gateway 实现。
Linux 权限的话,用 flydav 运行的权限来决定目录的读写权限,不能解决特定子目录开放给A,不开放给B的问题
在另外的地方额外配合控制权限,就太麻烦了,本身做为webdav也有权限控制的需求,一个配置文件直接就可以搞定是最方便的。
我现在主要是的类似软件是 chfs ,不过也有一些小问题,一直没有解决,它的权限控制基本上满足使用了
你可以描述一下你的使用场景吗?
举个例子:
目录结构如下:
\---A
\---B
+---F
+---C
+---D
+---E
admin用户需要对整个A目录有读写权限 B用户不能访问A/B/F(也不能看到),A/B下的其他目录可以读写,A下的其他目录只读 C用户A/C下的目录可以读写,A下的其他目录只读 D用户A/D下的目录可以读写,A下的其他目录只读,但不能访问A/B/F(也不能看到) E用户A/E下的目录可以读写,其他目录均不可读写