构建局域网内文件共享是不是经常忍受不了windows服务器的协议问题,加密又不方便,又不好操作呢?
现在我们用一个工具 chfs
搭建一个局域网或者公网(你得有服务器)都可以使用的基于浏览器就可以访问的磁盘共享工具啦
这里我们选用的工具官网是 点击这里 网站很简陋,因为要实现的功能很简单,操作也比较简单
windows局域网
直接在这个网站上面下载我这里是2.0版本的直接下载链接 gui-chfs-windows.zip
然后解压后得到一个exe
文件,双击运行即可,然后在主目录有一个设置共享目录的,默认了这个压缩包解压的位置,可以修改需要共享的目录。
当然用这个app的情况下,下次重启电脑后 你再打开这个软件,配置信息可能会丢失,所以,我们这里更加推荐下面的命令行部署方式,如果不限制很细的话,直接用这个即可
服务器部署
下面只负责能直接命令行启动 具体部署由你安排
第一步
还是去网站下载对应版本的软件
这里我下载的是linux版本,其它版本是一样的,在这里可以找到对应你服务器的版本
第二步
然后把它解压出来,里面会有一个文件
如果按照官方的教程,是可以很轻松的就部署的
但是我们要使用配置文件的方案,这样子可以把配置都记录下来
第三步
我这里放到服务器一个位置
第一步我们先给这个文件一个可执行的权限
1 | chmod +x chfs |
第二步我们直接创建一个空文件的配置文件 config.ini
官方的教程
help: | 显示帮助信息 |
---|---|
path: | 你要共享的目录,默认为程序运行目录。如果需要共享多个目录,则用“|”符号隔开。注意:如果路径带有空格,则需要将整个路径用引号包住。 |
port: | 程序使用的端口号,默认为80 |
allow: | IP地址过滤,可使用白名单模式或黑名单模式 |
rule: | 账户及访问权限,允许一个账户多点登陆,默认情况下匿名用户具有读写权限,其语法为: |
RULEITEM1[|RULEITEM2|RULEITEM3…]
每个RULEITEM代表一个账户信息及其访问权限,多个RULEITEM则用’|’进行分割,RULEITEM的语法为:
USER:PWD:MASK[:DIR:MASK…]
每个项由“:”来分隔,前三个项是必须的,分别对应:账户名、账户密码、共享目录根目录的访问权限。后面的可选的项,必须成对出现,用来设定根目录下面的子级目录的访问权限。一些规定:
- 对于匿名用户,前两个项都为空
- 访问权限分为四种:””(不可访问),”R”(只读),”W”(读写),”D”(写+删除)。读权限指的是下载,写权限指上传、新建等操作,删除权限是在写权限的基础上加上删除权限。
- 各项的值应避免出现空白键,’:’及’|’(目录名除外) |
| log: | 用户操作日志存放目录,默认是程序所在目录下的logs中。禁用日志功能只需将其赋值为空即可。 |
| file: | 配置文件,该文件可配置上述配置项,语法相同,如果配置有效则覆盖对应配置项。另外,一些功能需要通过配置文件进行配置,比如页面自定义和SSL证书设置。 |
| version: | 显示程序版本号 |
我们这里
可见,官方的教程写的是很复杂的,特别是rule这一块,然后我们直接按行输入我们要配置的,这里先看看我这里的配置
1 | html.title="测试文件" |
配置详解
html.title
这个就是设置网页标签的名称html.notice
这里是设置行首的,这里可以写html 可以用 “`” 这个符号包裹住port
对外开放的端口path
共享的目录,多个共享目录的话可以用|
进行分割rule
这个是配置权限规则的,默认是匿名用户可以拥有读写权限,我上面写了两个用户
::
这个意思就是匿名用户拥有根目录的读写权限:::pic:r:com:r
我这里是匿名用户对根目录没有读写权限,对pic
目录和com
目录有读权限,这里pic和com都是根目录下面的子目录username:userpass:rwd
这里是用户名为username
密码为userpass
对根目录有读写删
权限username:userpass::pic:r:com:rw
这里是用户对根目录没有读写权限,对pic
目录有读权限,对com
目录有读写权限
allow
这里是白名单和黑名单的设置log
这里可以配置日志存放的目录,如果不配置,默认当前文件所在目录(如果你用了配置文件不写也不会有日志,命令行启动会这样)
其它配置比如证书啥的都必须放在配置文件里面
这里自己看官网教程
挂载服务
这个自己安排
上面是我展示的配置执行后显示的情况
无网情况
- 你服务器没有开对应端口的安全组,基本都是这个问题啦
- 暂时没有想到