环境配置sambasamba配置备份
lololowe1. 版本
samba版本: Version 4.17.12-Debian

2. 配置文件
配置文件路径: /etc/samba/smb.conf
以下省略了1-235行的默认配置,只保留了自定义配置:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| [home] comment = 用户目录 path = /home/ read only = no guest ok = no browseable = yes create mask = 0755 directory mask = 0755 writable = yes valid users = mkbk @mkbk forceuser = root forcegroup = root
[www] comment = Web目录 path = /var/www/ read only = no guest ok = no browseable = yes create mask = 0755 directory mask = 0755 writable = yes valid users = mkbk @mkbk forceuser = root forcegroup = root
[usb] comment = 挂载点 path = /mnt/ read only = no guest ok = no browseable = yes create mask = 0755 directory mask = 0755 writable = yes valid users = mkbk @mkbk forceuser = root forcegroup = root
[tmp] comment = 临时目录,允许匿名登录 path = /tmp/ read only = no guest ok = yes browseable = yes create mask = 0755 directory mask = 0755 writable = yes forceuser = root forcegroup = root
|
3. 注意
- 配置中的
valid users
用于指定允许访问samba的用户或组(@表示组),多个用户或组之间用空格分隔。被指定的用户必须是系统中真实存在的用户,并且需要用sudo smbpasswd -a <用户名>
命令为其设置samba独立密码,否则将无法访问。相关命令如下:
1 2 3 4 5 6 7
| id mkbk # 确保mkbk用户存在 sudo smbpasswd -a mkbk # 为mkbk用户设置samba独立密码 sudo pdbedit -L # 查看samba已知的用户 sudo systemctl restart smbd.service # 重启samba服务,使配置生效 smbclient //127.0.0.1/home -U mkbk # 使用smbclient测试访问 smbclient //127.0.0.1/tmp # 使用smbclient测试匿名访问(提示输入密码时直接回车) sudo pdbedit -x -u mkbk # 删除samba已知的用户
|

配置中的forceuser
和forcegroup
用于指定访问samba时,默认使用的用户和组。如果未指定,则默认使用访问samba的用户,如果是匿名登录,则使用nobody用户。
Windows 11 24H2默认开启smb安全签名,会导致samba无法访问,需要关闭smb安全签名。相关powershell命令如下:
1 2 3 4
| Set-SmbClientConfiguration -EnableSecuritySignature $false Set-SmbClientConfiguration -RequireSecuritySignature $false Get-SmbClientConfiguration | findstr EnableSecuritySignature Get-SmbClientConfiguration | findstr RequireSecuritySignature
|
windows 命令行连接SMB的方式如下
1 2 3
| net use z: \\IP地址\home dir z: net use * /delete
|
- Windows如果报错:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次。可以在管理员终端下运行以下命令后再尝试连接:
1
| net stop LanmanWorkstation && net start LanmanWorkstation
|