1. 安装 Samba
2. 编辑配置文件
/etc/samba/smb.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# Global parameters
[global]
log file = /var/log/samba/log.%m
max log size = 50
syslog = 0
panic action = /usr/share/samba/panic-action %d
usershare allow guests = Yes
load printers = No # 没有打印机,不需要加载
client max protocol = SMB3 # 设置客户端最大协议版本
client min protocol = SMB2 # 设置客户端最小协议版本
server min protocol = SMB2 # 服务器最小协议版本
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
security = USER # 开启非匿名访问
server role = standalone server
unix password sync = Yes
dns proxy = No
idmap config * : backend = tdb
# 共享文件夹名称
[myshares]
comment = my shares
path = /mnt/hdd # 此处为需要共享的目录
read only = No
writeable = yes # 开启可写( testparm 默认不显示 )
|
关于 Samba 协议版本:由于 Windows 10 已经默认不支持 SMBv1 了 ( 仍可通过 「启用或关闭 Windows 功能」 来开启对 SMBv1 的支持 ),所以这里将协议版本设置为 SMBv2 。
2.1. 测试配置是否正确
3. 建立 Samba 账户
3.1. 新建系统账户
待创建的 Samba 账户必须已经在 Linux 中存在;此处也可直接用已经存在的账户,不要新建。
1
2
3
|
sudo useradd -G users smb
sudo passwd smb
(输入两次密码,此为 Linux 账户的密码,非 Samba 账户的访问密码)
|
3.2. 使用 pdbedit 新增 Samba 账户
1
2
|
sudo pdbedit -a -u smb
(接下来输入 smb 的密码)
|
3.2.1. 查询目前已经存在的 Samba 账号
3.2.2 修改密码
4. 重启 Samba 服务确保新配置生效
1
|
systemctl restart smbd.service && systemctl restart nmbd.service
|
5. 其他
5.1. 关于挂载 NTFS 的移动硬盘遇到的坑
使用 sudo mount /dev/sda1 /mnt/hdd
挂载以后,发现登录 Samba 后无法写入,总是提示没有权限。几番折腾发现是 Linux 内核对 NTFS 文件系统的支持不足,只支持读取,要写入的话需要安装第三方 NTFS 支持包 ntfs-3g,安装后在挂载时加上参数 -t ntfs-3g
即可。