linux使用ghfs搭建http文件共享服务器,权限和目录控制
1、背景
有一个内网服务器,需要多人共享文件。不同人账户不同,目录不同。所以就要有权限控制。服务器还是纯内网,不能联网,也不可以联网,所以就需要依赖的库少,一个包搞定的。
几番搜索找到了ghfs,即go http file server
使用go语言编写的,可以自己编译,也可以直接下载安装包,直接运行安装包就可以使用了。非常简单。
2、下载安装包
ghfs源码地址:
github直达
安装包下载直达:
安装包下载
我下载的是linux版本
3、安装运行
我下载的ghfs是linux的二进制可执行文件,不需要安装,直接运行即可
./ghfs |
启动后,页面无法访问的问题:
1、首先确认地址:http://ip |
运行后,浏览器直接访问ip地址,默认是80端口。就可看到当前目录的文件。默认是匿名访问
此时还不能上传文件。启动时指定目录和用户即可。继续往下看
4、启动配置文件
下面我配置了一个根目录,多用户,除admin外,其他用户只能访问自己的目录。并且都具有删除和打包下载的功能。并且隐藏以 . 开头的文件,就是不展示隐藏的文件
注意:不同的用户访问时,需要在http链接后跟上自己的目录,不然登录会失败:如:u1的用户目录是hnzzdx,则url为:http:ip/hnzzdx
在ghfs文件的目录中,新建ghfs.conf,把以下内容粘贴进去
-r /var/www/fileserver |
启动时指定配置文件
./ghfs --config ghfs.conf |
5、运行效果
登录后,目前暂不支持退出
6、将ghfs添加到系统的systemd的服务中,就可以通过systemctl管理服务了
参考文章
https://blog.csdn.net/weixin_44663564/article/details/144192854
首先进入 /etc/systemd/system/
cd /etc/systemd/system/ |
新建ghfs.service文件
sudo vi ghfs.service |
填写如下内容,ExecStart中将ghfs的路径替换为你自己的
[Unit] |
接下来重加载systemd配置
sudo systemctl daemon-reload |
启动ghfs.service
systemctl start ghfs.service |
至此,一个内网服务器就搞定了

意外收获认可,内心充满感激;打赏之举,更添无限动力。