1. 安装Samba
更新系统并安装 Samba
sudo apt update
sudo apt-get install samba
2. 创建Samba专用共享用户和密码(使用NAS的用户随便起个名叫sys)
# 创建用户
sudo useradd -M -s /usr/sbin/nologin sys
# 设置密码
sudo smbpasswd -a sys
# 启用Samba账户
sudo smbpasswd -e sys
3. 创建共享目录(放在home下的sys,这里用的系统空间)
sudo mkdir -p /home/sys
4.设置正确的所有权和权限
sudo chown sys:sys /home/sys sudo chmod 755 /home/sys
5.允许Samba端口
sudo ufw allow samba
# 或者手动指定端口
sudo ufw allow 139/tcp sudo ufw allow 445/tcp
6.用于网络发现
sudo systemctl restart nmbd
7. Samba配置文件
sudo nano /etc/samba/smb.conf
[global] workgroup = WORKGROUP server string = Samba Server server role = standalone server netbios name = SMP wins support = yes local master = yes os level = 255 preferred master = yes domain master = yes # 网络接口设置 # 运行 ip addr 查看网卡名 # 如果有线网卡eth0如果无线网卡wlan0 interfaces = eth0 bind interfaces only = yes # 名称解析顺序 name resolve order = lmhosts wins host bcast # 禁用不需要的服务 disable netbios = no # 安全设置 - 使用简单验证 security = user map to guest = Never # SMB协议版本 min protocol = SMB2 server min protocol = SMB2 server max protocol = SMB3 # 性能设置 socket options = TCP_NODELAY # 苹果兼容性设置 vfs objects = catia fruit streams_xattr fruit:metadata = stream fruit:model = MacSamba fruit:veto_appledouble = no fruit:posix_rename = yes fruit:zero_file_id = yes ea support = yes # 其他设置 dns proxy = no load printers = no printing = bsd printcap name = /dev/null disable spoolss = yes log file = /var/log/samba/log.%m max log size = 1000 [share] # 基本信息 path = /home/sys comment = Shared Directory browseable = yes read only = no writable = yes # 访问控制 - 选择一种方式 # 方式1:使用用户验证(推荐) valid users = sys write list = sys # 方式2:或使用访客访问(测试用) # guest ok = yes # guest only = yes # 权限控制 create mask = 0664 directory mask = 0775 force create mode = 0664 force directory mode = 0775 force user = sys force group = sys
8. 重启Samba服务
sudo systemctl restart smbd
9. 设置开机启动
sudo systemctl enable smbd sudo systemctl enable nmbd
10. 检查服务状态
sudo systemctl status smbd
11.连接测试
Windows连接:
地址:\\服务器IP\share
用户名:sys
密码:Samba密码
手机连接:
文件App → 右上角三个点 → 连接服务器
地址:smb://服务器IP/share
注册用户 → 用户名:sys,密码:Samba密码
地址:\\服务器IP\share
用户名:sys
密码:Samba密码
手机连接:
文件App → 右上角三个点 → 连接服务器
地址:smb://服务器IP/share
注册用户 → 用户名:sys,密码:Samba密码
12.添加一块新硬盘,并且这个硬盘在windows电脑中也可以使用,硬盘在windows的格式为NTFS卷标改成mynas,把硬盘通过易驱线或硬盘盒插到树莓派上(U盘,移动硬盘一样的)
显示所有硬盘
显示所有硬盘
sudo lsblk -f
示例:
root@smp:~# sudo lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS loop0 swap 1 sda └─sda1 ntfs mynas 481E51891E517144 mmcblk0 ├─mmcblk0p1 vfat FAT32 bootfs F587-071F 442.6M 13% /boot/firmware └─mmcblk0p2 ext4 1.0 rootfs d6944274-f2f7-4644-96a4-213c3b367f5c 583.2M 95% / zram0 swap 1 zram0 9ff90a9c-c759-492d-ac15-a78c3daa77ad [SWAP] root@smp:~#
这里面sda1就是我的新硬盘卷标为mynas
sda └─sda1 ntfs mynas 481E51891E517144
13. 检查是否已安装NTFS支持
sudo apt update sudo apt install ntfs-3g -y
14. 创建挂载点并挂载硬盘 创建挂载目录 media(/media/mynas)
sudo mkdir -p /media/mynas
15. 临时挂载测试
sudo mount -t ntfs-3g /dev/sda1 /media/mynas
16. 检查挂载检查是否成功
df -h | grep mynas
显示类似下面的就成功了
root@smp:~# df -h /media/mynas Filesystem Size Used Avail Use% Mounted on /dev/sda1 932G 149M 932G 1% /media/mynas
17. 配置自动挂载
确认用户ID
root@smp:~# id sys uid=3(sys) gid=3(sys) groups=3(sys)
编辑 fstab
sudo nano /etc/fstab
在末尾添加一行(下面的uid和gid是id sys获取到的):
LABEL=mynas /media/mynas ntfs-3g defaults,uid=3,gid=3,umask=002,nofail 0 0
18. 修改Samba配置
sudo nano /etc/samba/smb.conf
# 在文件末尾添加:
[mynas] veto files = /System Volume Information/.*/ delete veto files = yes # 基本信息 path = /media/mynas comment = Shared Directory browseable = yes read only = no writable = yes # 访问控制 - 选择一种方式 # 方式1:使用用户验证(推荐) valid users = sys write list = sys # 方式2:或使用访客访问(测试用) # guest ok = yes # guest only = yes # 权限控制 create mask = 0664 directory mask = 0775 force create mode = 0664 force directory mode = 0775 force user = sys force group = sys # NTFS专用设置 nt acl support = no
19. 重新加载Samba配置
sudo systemctl restart smbd nmbd
20.添加到电脑中
打开电脑-映射网络驱动器-\\192.168.8.107\share-完成
打开电脑-映射网络驱动器-\\192.168.8.107\mynas-完成
打开电脑-映射网络驱动器-\\192.168.8.107\mynas-完成
不推荐使用\\smp\share 服务器重启后可能就不能连接了需要断开再连接,如果非要使用的话在添加hosts对应服务器的IP,有WIFI也有有线的话建议禁用WIFI直接用有线速度快。
21.故障排除命令
# 实时查看Samba日志
sudo tail -f /var/log/samba/log.smbd
# 查看具体客户端连接日志
sudo tail -f /var/log/samba/log.IP地址
# 查看Samba版本
smbd –version
sudo tail -f /var/log/samba/log.smbd
# 查看具体客户端连接日志
sudo tail -f /var/log/samba/log.IP地址
# 查看Samba版本
smbd –version
