Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

能否支持目录过滤功能?在分配特定的目录给指定用户时,希望可以过滤目录中特定文件及文件夹 #7

Open
hhs66317 opened this issue Feb 14, 2023 · 4 comments

Comments

@hhs66317
Copy link

hhs66317 commented Feb 14, 2023

比如配置中,增加一个专门配置特定用户的目录过滤字段 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.
@pluveto
Copy link
Owner

pluveto commented Feb 14, 2023

这些是可以通过 Linux 自带的权限控制实现的。更复杂的功能,可以自行在服务的 downstream 部署 gateway 实现。

@hhs66317
Copy link
Author

Linux 权限的话,用 flydav 运行的权限来决定目录的读写权限,不能解决特定子目录开放给A,不开放给B的问题

在另外的地方额外配合控制权限,就太麻烦了,本身做为webdav也有权限控制的需求,一个配置文件直接就可以搞定是最方便的。

我现在主要是的类似软件是 chfs ,不过也有一些小问题,一直没有解决,它的权限控制基本上满足使用了

@pluveto
Copy link
Owner

pluveto commented Feb 14, 2023

你可以描述一下你的使用场景吗?

@hhs66317
Copy link
Author

举个例子:

目录结构如下:

\---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下的目录可以读写,其他目录均不可读写

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants