小蒋同学 - ftp
type: channel
link: https://www.eybk.cn/tag/ftp/
items: 树莓派smb、ftp、webdav三种共享协议搭建方法和对比

树莓派smb、ftp、webdav三种共享协议搭建方法和对比
type: item
date: 2022-05-14T22:06:00+08:00
description: 树莓派挂了块3.5的硬盘做下载机和局域网影音共享，性能和耗电量都好于群晖Nas，特别是多盘位做raid保护的机型，群晖就不用24小时开机了，有需要的时候可以直接用树莓派通过网卡唤醒。换了电视后对片源的质量有了更高的要求，文件超过20G后，即使使用wifi6路由器，电视网卡支持800m+的传输速率，smb已经满足不了需求了，播放杜比视界版本的文件ftp也很卡，目前三个共享协议都尝试过了，分享一下搭建的过程。smb应该是兼容性最好的协议了，通吃各种系统，很多移动端的播放器也都支持好习惯，先更新软件源sudo apt-get update安装sambasudo apt-get install samba sudo apt-get install samba-common-bin配置sambasudo vim /etc/samba/smb.confglobal节点下添加一下配置，优化传输速度min receivefile size = 16384 write cache size = 262144在配置文件的末尾添加自定义配置[Public] comment = Public Storage # 共享文件夹描述 path = /你的共享目录 # 共享文件夹目录 read only = no # 不只读 create mask = 0777 # 创建文件的权限 directory mask = 0777 # 创建文件夹的权限 guest ok = yes # guest访问，无需密码 browseable = yes # 可见不需要密码到此搭建就结束了，可以直接跳到”重启服务”那步即可如果sma共享需要密码，添加如下配置[pt] # 共享段备注 comment = pt folder # 共享文件夹路径，必填 path = /你的共享目录 # 是否只读 read only = no # 允许匿名访问 guest ok = no # 是否出现在网络发现中 browseable = yes # 可以访问的用户，这个用户和本地的用户不同 valid users = 你的用户名为你的用户名设置密码sudo smbpasswd -a pi重启服务sudo samba restart #或 sudo systemctl restart smbd附上日志存放的目录，有问题方便排查cd /var/log/samba/ftp比较古老的协议，但在kodi播放器下，传输明显速度优于smb安全起见，创建新用户，给ftp使用sudo useradd -m -s /bin/bash ftper sudo passwd ftper映射共享的文件路径到新用户的home目录sudo ln -s /你的共享目录 /home/ftper/你的共享目录安装vsftpdsudo apt-get install vsftpd编辑配置文件sudo vim /etc/vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022启动sudo service vsftpd startwebdav速度和ftp没有明显区别，但kodi下播放杜比视界视频时，只有webdav可以流畅播放下载webdav程序，选择armv7版本wget https://github.com/hacdias/webdav/releases/linux-armv7-webdav.tar.gz解压、复制到/usr/bin目录下tar -zxvf linux-armv7-webdav.tar.gz sudo cp webdav /usr/bin/注册servicecd /etc/systemd/system sudo vim webdav.service写入如下内容[Unit] Description=WebDAV server After=network.target [Service] Type=simple User=root ExecStart=/usr/bin/webdav --config /etc/webdav/config.yaml Restart=on-failure [Install] WantedBy=multi-user.target建立配置文件和上面/etc/systemd/system/webdav.service里的ExecStart目录要对应上cd /etc/webdav/ sudo vim config.yaml写入# Server related settings address: 0.0.0.0 port: 21234 auth: true tls: false cert: cer…