树莓派挂载了一个硬盘,用来存放文件,视频,照片,需要共享到其他设备查看,并且需要权限管理
常用的文件共享工具有
DLNA
: 主要用于多媒体共享,没有权限管理,所有人都可以看到,由于视频是服务器解码,对于大码率(4K)视频支持比较好
Samba
: 主要用于局域网文件共享,支持权限控制,大码率视频支持较弱
FTP
: 速度比Samba快,支持权限控制
我这里还是选择用Samba
,因为电视和手机支持比较好,而对于大码率视频,则使用DLNA(minidlna),这里介绍安装samba的过程
安装
1 2
| sudo apt update sudo apt install samba
|
配置
配置文件在/etc/samba/smb.conf
,下面配置放到文件最后面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [学习] comment = 学习,可读写,只有bomo可以查看 path = /mnt/h1/learn browseable = yes writable = yes available = yes valid users = ubuntu,bomo guest ok = no [视频] comment = 视频,所有人可以查看,只读 path = /home/ubuntu/git browseable = yes writable = no available = yes guest ok = yes
|
由于samba的用户必须是系统用户,这里我们创建用户bomo
,并且不需要密码,不需要
1 2
| sudo adduser --system --ingroup watchdog --disabled-password --shell /bin/bash --no-create-home bomo
|
虽然samba的用户必须是系统用户,但是密码
可以单独设置
设置完成,重启samba
1 2
| sudo systemctl restart smbd
|
接下来就可以在其他支持samba的设备发现并登录了
设置文件权限
安装samba
的时候,会自动添加开机启动服务/lib/systemd/system/smbd.service
,这里我们添加UMask
和Group
,方便管理文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| [Unit] Description=Samba SMB Daemon Documentation=man:smbd(8) man:samba(7) man:smb.conf(5) Wants=network-online.target After=network.target network-online.target nmbd.service winbind.service
[Service] Type=notify NotifyAccess=all PIDFile=/run/samba/smbd.pid User=root Group=watchdog UMask=0002 LimitNOFILE=16384 EnvironmentFile=-/etc/default/samba ExecStartPre=/usr/share/samba/update-apparmor-samba-profile ExecStart=/usr/sbin/smbd --foreground --no-process-group $SMBDOPTIONS ExecReload=/bin/kill -HUP $MAINPID LimitCORE=infinity
[Install] WantedBy=multi-user.target
|
刷新服务重启
1 2 3
| sudo systemctl daemon-reload
sudo systemctl restart smbd
|