过程配置:https://www.cnblogs.com/shu-sheng/p/14453283.html
sssd服务:https://ubuntu.com/server/docs/service-sssd
简便结果:https://www.cnblogs.com/lemon-le/p/6207695.html
samba是通过本地与ldap相结合的方式进行认证
#这里测试使用的是ldap www.test.com
apt install samba slapd ldap-utils sssd smbldap-tools -y
slapd
创建略
...
#创建的用户(ou=People)和用户组(ou=Group)的ou 与samba配置中指定的ou 相匹配
#用户与用户组之间的关系,根据题意配置
...
添加 LDAP 的 Samba 配置
cp /usr/share/doc/samba/examples/LDAP/samba.ldif.gz /etc/ldap/schema
cp /usr/share/doc/samba/examples/LDAP/samba.schema.gz /etc/ldap/schema
cd /etc/ldap/schema
#解压
gzip -d samba.ldif.gz
gzip -d samba.schema.gz
#导入
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f samba.ldif
samba
#修改配置文件
vi /etc/samba/smb.conf
[global]
...
netbios = test #设置在ldap中sambaDomainName
passdb backend = ldapsam:ldap://192.168.65.165/
ldap suffix = dc=www,dc=test,dc=com
ldap user suffix = ou=People #用户
ldap group suffix = ou=Group #组
ldap admin dn = cn=admin,dc=www,dc=test,dc=com
ldap ssl = no
#告知samba ldap的密码 (密码:111111)
smbpasswd -w 111111
Setting stored password for "cn=admin,dc=company,dc=com" in secrets.tdb
smbpasswd -a
#这时可以添加用户,添加的用户会同步到ldap中
smbpasswd -a [用户]
samba的权限设置未发生变化。
smbldap-config配置
/usr/share/doc/smbldap-tools/examples/smbldap.conf.gz 解压至
/etc/smbldap-tools/
根据要求配置 line 36
60
65
71
91
97
sssd:为了让LDAP用户能够连接到samba并进行身份验证的最后一步,现在需要这些用户也以“ unix”用户身份出现在系统中。
#配置sssd.conf
cp /usr/lib/x86_64-linux-gnu/sssd/conf/sssd.conf /etc/sssd/
vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam
domains = shadowutils
[nss]
[pam]
[domain/shadowutils]
id_provider = ldap #修改
auth_provider = ldap #
#proxy_pam_target = sssd-shadowutils
ldap_uri = ldap://192.168.65.165 #添加
cache_credentials = True #
ldap_search_base = dc=www,dc=test,dc=com #
proxy_fast_alias = True
#修改权限
chmod 0600 /etc/sssd/sssd.conf
chown root:root /etc/sssd/sssd.conf
#启动sssd
systemctl restart sssd #本地就会存在ldap中的用户
常见错误:登陆时,“session setup failed: NT_STATUS_LOGON_FAILURE” 用户不存在或者本地用户与ldap端不匹配(一边有一边没有,ldap端没有的 使用smbpassws -a [用户]添加即可)