今天给大家介绍一个GitHub上的项目Dufs,Dufs 作为文件服务器,还支持静态服务、上传、搜索、访问控制、webdav等功能。 功能特性: * * * * * * * * *
提供静态文件将文件夹下载为zip文件上传文件和文件夹(拖放)创建/编辑/搜索文件可恢复/部分上传/下载访问控制支持https支持webdav可以与curl配合使用
GitHut项目地址: *
https://github.com/sigoden/dufs
本文介绍如何部署Dufs文件服务器,安装过程非常简单,只需要将安装文件下载到服务器,然后将dufs文件保存在PATH环境变量中即可。
- 安装环境 操作系统:CentOS7.6 关闭防火墙和SELinux; 配置阿里YUM源:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
- 安装依赖命令
yum install wget -y
- 下载dufs 在服务器上执行以下命令进行下载:
wget https://github.com/sigoden/dufs/releases/download/v0.41.0/dufs-v0.41.0-x86_64-unknown-linux-musl.tar.gz
其他版本下载或操作系统下载地址访问以下网址获取: *
https://github.com/sigoden/dufs/releases
- 解压并配置 解压安装包:
tar -zxf dufs-v0.41.0-x86_64-unknown-linux-musl.tar.gz
复制dufs到PATH变量的目录中: *
cp dufs /usr/local/bin/
创建数据目录: *
mkdir /data
- 使用dufs
5.1 查看命令的使用方法 *
dufs --help
5.2 常用参数 (1)以只读的方式共享当前目录 *
dufs
(2)共享当前目录时设置所有权限,比如读、写、删除等 *
dufs -A
(3)共享当前目录只允许上传 *
dufs --allow-upload
(4)指定共享目录 *
dufs /data
(5)共享单个文件 *
dufs /data/file
(6)配置用户名密码访问,并且具备读写功能 *
dufs -a admin:abc123:rw
(7)指定监控的IP和端口 *
dufs -b 127.0.0.1 -p 8090
(8)使用https *
dufs --tls-cert my.crt --tls-key my.key
5.3 匿名共享/data目录 (1)只提供下载功能 *
dufs /data -b 192.168.211.101 -p 8090
注意:仅是前台启动,终端退出后服务终止。 在客户端使用浏览器访问IP:8090:
所有文件只有下载按钮。 (2)设置所有权限 *
dufs /data -A -b 192.168.211.101 -p 8090
在客户端使用浏览器访问IP:8090:
测试上传、下载、删除文件正常。可以看到,配置所有权限与仅下载权限,所显示的功能图标也不一样。 (3)设置账号密码访问 *
dufs /data -A -b 192.168.211.101 -p 8090 -a admin:abc123@/:rw
此时访问文件服务器时,需要使用用户名和密码进行验证:
|---------------------------------------------------------------------------------------------------------------------------| | |
验证通过后才可访问文件。
5.4 后台运行dufs 可以使用nohup命令在后台运行命令: *
nohup dufs /data -A -b 192.168.211.101 -p 8090 -a admin:abc123@/:rw > /dev/null 2>&1 &
- 通过API操作 (1)上传文件
curl -T path-to-file http://192.168.211.101:8090/new-path/path-to-file
(2)下载文件 *
curl http://192.168.211.101:8090/path-to-file
(3)以ZIP压缩包下载整个文件夹 *
curl -o path-to-folder.zip http://192.168.211.101:8090/path-to-folder?zip
(4)删除文件或目录 *
curl -X DELETE http://192.168.211.101:8090/path-to-file-or-folder
(5)创建目录 *
curl -X MKCOL http://192.168.211.101:8090/path-to-folder
更多操作方法请参考GitHub。
- 总结 dufs不管是使用Web操作还是API操作,易用性都很好。 安装方法也很简单,只用一个文件即可启动共享服务。