首页›云计算›云计算-OpenStack+LDAP集成-第八节-Samba共享与LDAP集成

云计算-OpenStack+LDAP集成-第八节-Samba共享与LDAP集成

账号统一到 LDAP 之后,好处不止在登录云平台。这一节把文件服务器也接进来:学生用同一个 LDAP 账号访问共享目录,交作业、领资料不再需要另一套密码。

第八节 Samba 与 LDAP:Windows 客户端 → smbd → LDAP 校验 → 授权访问共享目录
第八节 Samba 与 LDAP:Windows 客户端 → smbd → LDAP 校验 → 授权访问共享目录

一、原理:Samba 怎么”借用” LDAP

Samba 本身维护一张本机密码表(smbpasswd)。把 passdb backend 换成 ldapsam 后,它就不再查本机表,而是拿着用户名去 LDAP 里校验——LDAP 说“通过”,共享才放行。这样一台 LDAP 服务器就能同时给云平台、监控大屏和文件共享当“门卫”。

关键一步是 smbpasswd -w:它把 LDAP 管理员的密码写进 Samba 的 secrets.tdb,让 Samba 有权限去查询目录。少了这一步,共享会一直连不上——它填的是 LDAP 管理员密码,不是 Samba 自己的密码。

二、操作步骤

第 1 步:安装并写 smb.conf。

yum install -y samba samba-client samba-common
vi /etc/samba/smb.conf

[global]
workgroup = EXAMPLE
realm = EXAMPLE.COM
security = user
passdb backend = ldapsam:ldap://192.168.100.10
ldap admin dn = cn=admin,dc=example,dc=com
ldap suffix = dc=example,dc=com
ldap user suffix = ou=people
ldap group suffix = ou=groups
ldap ssl = off

[student]
path = /srv/samba/student_share
browsable = yes
writable = yes
valid users = @students
force group = students
create mask = 0660
directory mask = 0770

第 2 步:建共享目录并设置属组权限。

mkdir -p /srv/samba/student_share
chmod 0770 /srv/samba/student_share
groupadd students
chown root:students /srv/samba/student_share

第 3 步:把 Samba 接到 LDAP(关键)并启动服务。

smbpasswd -w 12345678

systemctl start smb nmb
systemctl enable smb nmb

三、[student] 段参数含义

参数“, ”作用
path 共享对应的真实目录
browsable / writable 是否可见、是否可写
valid users = @students 只允许 students 组成员访问(@ 表示组)
force group = students 新建文件的属组强制为 students
create mask = 0660 新建文件权限:同组可读写,其他人无权
directory mask = 0770 新建目录权限:同组可进入

四、验证

LDAP 用户能通过认证:

ldapsearch -x -D "uid=student1,ou=people,dc=example,dc=com" \
  -W -b "dc=example,dc=com" "(objectclass=*)"

OpenStack 侧也能看到这个用户(说明同一套账号两头通用):

openstack user list --domain ldap_domain

五、常见问题与排错

现象“, ”原因“, ”解决办法
Windows 连共享提示密码错误 Samba 没接到 LDAP 重新执行 smbpasswd -w
能连上但不能写“, ”目录属组不是 students chown root:students + chmod 0770
@students 组不生效 LDAP 里组后缀与配置不符“, ”核对 ldap group suffix 是否为 ou=groups
nmb 没起来“, ”主机名解析问题“, ”检查 /etc/hosts 与 workgroup 设置

六、本节小结

一句话记住:装包 → smb.conf 里把 passdb backend 指向 LDAP → 建目录给组权限 → smbpasswd -w 告诉 Samba 管理员密码 → 起服务。下一节做整体联调,把三条访问路径一次验完。

上一篇
下一篇