【chfs】文件共享服务搭建

  1. 1. windows局域网
  2. 2. 服务器部署
    1. 2.1. 第一步
    2. 2.2. 第二步
    3. 2.3. 第三步
      1. 2.3.1. 第一步我们先给这个文件一个可执行的权限
      2. 2.3.2. 第二步我们直接创建一个空文件的配置文件 config.ini
      3. 2.3.3. 官方的教程
      4. 2.3.4. 我们这里
        1. 2.3.4.1. 配置详解
    4. 2.4. 挂载服务
  3. 3. 无网情况

构建局域网内文件共享是不是经常忍受不了windows服务器的协议问题,加密又不方便,又不好操作呢?

现在我们用一个工具 chfs 搭建一个局域网或者公网(你得有服务器)都可以使用的基于浏览器就可以访问的磁盘共享工具啦
这里我们选用的工具官网是 点击这里 网站很简陋,因为要实现的功能很简单,操作也比较简单

windows局域网

直接在这个网站上面下载我这里是2.0版本的直接下载链接 gui-chfs-windows.zip
windows界面下载
然后解压后得到一个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
2
3
4
5
html.title="测试文件"
html.notice="啦啦啦啦啦"
port=9049
path="/root/share"
rule=":::pic:r:com:r|username:userpass:rwd"

配置详解

  1. html.title这个就是设置网页标签的名称
  2. html.notice这里是设置行首的,这里可以写html 可以用 “`” 这个符号包裹住
  3. port对外开放的端口
  4. path共享的目录,多个共享目录的话可以用|进行分割
  5. rule这个是配置权限规则的,默认是匿名用户可以拥有读写权限,我上面写了两个用户
  • ::这个意思就是匿名用户拥有根目录的读写权限
  • :::pic:r:com:r我这里是匿名用户对根目录没有读写权限,对pic目录和com目录有读权限,这里pic和com都是根目录下面的子目录
  • username:userpass:rwd这里是用户名为username密码为userpass对根目录有读写删权限
  • username:userpass::pic:r:com:rw这里是用户对根目录没有读写权限,对pic目录有读权限,对com目录有读写权限
  1. allow这里是白名单和黑名单的设置
  2. log这里可以配置日志存放的目录,如果不配置,默认当前文件所在目录(如果你用了配置文件不写也不会有日志,命令行启动会这样)

其它配置比如证书啥的都必须放在配置文件里面
这里自己看官网教程

挂载服务

这个自己安排
启动后情况
上面是我展示的配置执行后显示的情况

无网情况

  1. 你服务器没有开对应端口的安全组,基本都是这个问题啦
  2. 暂时没有想到