Linux网络操作系统-第26节-配置Samba服务器(二)用户认证
生产环境的共享目录不可能人人匿名可写。这一节给 Samba 加上用户名密码认证。

一、添加 Samba 用户
Samba 用户必须先是系统用户,但密码可以和系统密码不同(独立存放在 Samba 的库里):
useradd zhangsan # 先有系统用户 pdbedit -a -u zhangsan # 加为 samba 用户(设独立密码) pdbedit -L # 列出已添加的 samba 用户
二、[homes] 段:自动挂家目录
smb.conf 自带的 [homes] 段是个魔法:任何 Samba 用户登录,都能看到一个以自己用户名命名的共享,对应自己的家目录。
[homes]
comment = Home Directories
browseable = no # 不在浏览列表出现,但能直接连
writable = yes
三、两层权限验证
| 层 | 管什么 | 查哪里 |
|---|---|---|
| 第一层 共享权限 | valid users / writable 等共享级开关 | smb.conf |
| 第二层 文件系统权限 | 目录的 rwx 与所有者 | chown / chmod |
# 例:仅 sales 组可读写部门共享
groupadd sales && useradd u1 && pdbedit -a -u u1
gpasswd -a u1 sales
mkdir /samba/dept && chown root:sales /samba/dept
chmod 770 /samba/dept
# smb.conf 里:
[dept]
path = /samba/dept
valid users = @sales # @ 开头表示组
writable = yes
四、Linux 客户端访问
smbclient //192.168.200.10/dept -U u1 smb: \> ls smb: \> put test.txt # 上传
排障心法:Windows 访问被拒时,按「服务 → 防火墙 → 共享权限 → 文件系统权限」逐层排查。valid users = @sales 与 chmod 770 两层都写对,非 sales 组用户才会被挡在门外。

