LDAP与samba

方法一:

服务器端:
编辑 smb 的配置文件

# vim /etc/samba/smb.conf

       修改以下行

workgroup = WORKGROUP                             # 设定工作组

passdb backend = ldapsam:ldap://127.0.0.1          # 指定用户验证的 LDAP 服务器地址

      

       添加以下行

ldap admin dn = "cn=root,dc=rookie,dc=com"      # 指定管理员

ldap suffix = dc=rookie,dc=com                         # 指定搜索后缀

ldap user suffix = ou=user                                  # 指定信息存放的目录路径

ldap delete dn = no                                           # 不允许删除 DN

log file = /var/log/samba/smbd.log                      # 添加 samba 日志文件

 

       保存退出,

cn=root,dc=example,dc=com 管理员的密码保存到 secrets.tdb 中,

以便 samba ldap 通讯  

格式: smbpasswd –w [ 密码 ]

# smbpasswd -w 111111

 

       如果我需要把某个文件夹共享出来,共享名为 share ,可以在 smb.conf 最下面加上

 

[share]

        comment = share files            # 目录的描述

        path = /data           # 共享的目录路径

        browseable = yes           # 是否在浏览器中显示目录

        writable = yes               # 是否有写的权限

openldap系列4-与samba服务 - zhuzhu - 津津计较

 

openldap系列4-与samba服务 - zhuzhu - 津津计较

使用LDAP验证 参考 ldap与ftp

用户管理:
由于 SAMBA 的用户由 smbpasswd 来管理,而在 LDAP 中新建的 svn UID 用户的密码又不能由 smbpasswd 来设置,所以只能用户和密码都由 smbpasswd 来管理了,换句话说,用户和密码都在终端里创建的。

 

       SAMBA 用到的用户必须是系统用户,所以建 SAMBA 用户前要先建系统用户 也为了方便管理,我们把使用在 subversion,samba,vsftpd 的用户放在同一个组里,有需要的话也可以按照部门来分

# groupadd team                          建立一个 team 的组

 

# useradd test4  –g team              建立一个属于 team 组的 test 4 用户

 

新建一个 test4 的系统用户后,就可以新建一个相应的 samba 用户

# smbpasswd –a test4

输入密码后,提示 Added user test ,证明成功建立了 smb 用户

 

       如果需要修改密码就输入 smbpasswd [ 用户 ] ,就能修改相应的用户密码,而且同时把 vsftpd 的登录密码也修改了



客户端:

# smbclient -U test4 -L 192.168.1.200

方法二:

Samba+LDAP+LAM管理工具应用 :http://wiki.yepn.net/lam

http://pbraun.nethence.com/doc/net/samba-ldap.html


软件:
yum install samba* -y
下载: smbldap-tools-0.9.5-2.el5.rf.noarch.rpm                 http://packages.sw.be/smbldap-tools/

perl-Crypt-SmbHash
perl-Digest-MD4
perl-Jcode
perl-Unicode-Map
perl-Unicode-Map8
perl-Unicode-MapUTF8
perl-Unicode-String

           perl-Crypt-SmbHash                            http://packages.sw.be/perl-Crypt-SmbHash/

        perl-Unicode-MapUTF8/


     http://packages.sw.be/perl-Unicode-MapUTF8/
openldap系列4-与samba服务 - zhuzhu - 津津计较
 
openldap系列4-与samba服务 - zhuzhu - 津津计较
 
openldap系列4-与samba服务 - zhuzhu - 津津计较
 

要让 PAM 身份验证服务使用 OpenLDAP 服务器
openldap系列4-与samba服务 - zhuzhu - 津津计较
7    14   21     30
 
auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass 

account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so 

password sufficient /lib/security/$ISA/pam_ldap.so use_authtok

session optional /lib/security/$ISA/pam_ldap.so 

samba配置:

openldap系列4-与samba服务 - zhuzhu - 津津计较

 Samba的主要配置文件/etc/samba/smb.conf,其实系统中存有一个实际的例子配置文件可提供参考,只要更换成例子文件和按照自己的实际情况做一定的修改就可供使用:

详细操作:
# cp /usr/share/doc/smbldap-tools-0.9.1/smb.conf /etc/samba/

cp:是否覆盖‘/etc/samba/smb.conf’?  y

[global] 
workgroup = YEPN
netbios name = vanilla
security = user
server string = Samba Server 7T %v
encrypt passwords = Yes
obey pam restrictions = No
ldap passwd sync = yes

 
#与LDAP密码同步
log level = 3
syslog = 0
log file = /var/log/samba/log.%m
max log size = 100000
time server = Yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
mangling method = hash2
Dos charset = UTF-8
Unix charset = UTF-8
logon script = %U.bat
logon drive = H:
domain logons = Yes
os level = 65
preferred master = Yes
passdb backend = ldapsam:ldap://127.0.0.1/
#指定LDAP服务器
 
ldap admin dn = uid=root,dc=yepn,dc=net
#管理员用户
  ldap suffix = dc=yepn,dc=net
#搜索域

  ldap group suffix = ou=Groups
#用户级的检索字段
  ldap user suffix = ou=Users
#用户检索字段
  add user script = /usr/sbin/smbldap-useradd -a -m "%u"
#添加用户
ldap ssl = off
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel -r "%u"
#删除用户
  add group script = /usr/sbin/smbldap-groupadd -a -p "%g"
#添加组
  delete group script = /usr/sbin/smbldap-groupdel "%g"
#删除组
  add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
#把用户加到指定组
  delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
#从组中删除用户
  set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
#设定用户的属组
#以上配置是跟LDAP相关的,其他对于共享目录等控制可以自行添加
 
[homes]
comment = Home Directories %U, %u
browseable = no
writeable = yes
read only = no
force create mode = 0700
force directory mode = 0700
directory mode = 0700
create mode = 0700
inherit acls = yes
guest ok = no
printable = no
#homes目录的定义,其实这个作用已经不大了,因为建立目录的时 候会通过smbldap-tool
[netlogon]

        path = /home/netlogon/

        browseable = No

        read only = yes



############################# Public parameters ##################



[public]

        comment = Public Directory

        path = /home/public/

        browseable = No

        writable = yes

        guest ok = yes

        create mask = 0777

# mkdir /home/netlogon
# mkdir /home/public

启动Samba服务项目:
详细操作:
# service smb start
启动 SMB 服务:                                                                  [  确定  ]
启动 NMB 服务:                                                                  [  确定  ]
添加Samba admin dn的ldap管理员密码(注意密码要和您openldap的rootdn密码要一致啊):
详细操作:
# smbpasswd -w kk
Setting stored password for "cn=Manager,dc=nseasy,dc=net" in secrets.tdb
使用testparm命令来测试Samba PDC服务器配置是否正常启动:
# testparm

openldap系列4-与samba服务 - zhuzhu - 津津计较
 
把LDAP的管理员密码加到Samba中,这个一定要做,让Samba对LDAP有权修改。
Sambldap的配置使用过程
# cd /usr/share/doc/smbldap-tools-0.9.1/
# ./configure.pl
openldap系列4-与samba服务 - zhuzhu - 津津计较
 
openldap系列4-与samba服务 - zhuzhu - 津津计较
 
openldap系列4-与samba服务 - zhuzhu - 津津计较
 
openldap系列4-与samba服务 - zhuzhu - 津津计较
 
openldap系列4-与samba服务 - zhuzhu - 津津计较
 

<think>好的,用户想了解在Debian系统上配置LDAPSamba集成的教程。我需要先回顾一下之前提供的引用内容,确保信息准确。首先,引用[1]提到了将sambaLDAP schema复制到/etc/ldap/schema目录,这可能涉及到安装和配置LDAP服务器时需要导入Samba的schema。然后引用[2]提到了在Debian12上部署LDAP目录访问,并参考了Samba4 AD域的教程,说明可能需要安装Samba并配置为使用LDAP作为后端。引用[3]则指出常见错误,比如用户登录失败的原因,需要确保用户存在于LDAP中,并使用smbpasswd命令添加用户到Samba。 接下来,我需要整理一个步骤清晰的配置流程。首先应该安装必要的软件包,比如slapd、ldap-utils和samba。然后配置OpenLDAP服务器,包括修改slapd.conf或使用动态配置,并导入Samba的schema。这部分需要检查是否正确复制了samba.ldif.gz文件,并生成对应的LDIF文件导入。 接下来是配置Samba使用LDAP作为用户后端。需要修改smb.conf文件,指定安全模式、密码后端等参数。同时需要配置SambaLDAP的认证,可能涉及修改nsswitch.conf和PAM配置,确保系统通过LDAP验证用户。然后使用smbpasswd工具将用户添加到SambaLDAP数据库中,这里要注意用户必须已经存在于LDAP中,否则会出现错误。 测试阶段需要重启相关服务,检查配置是否正确。使用smbclient命令测试Samba共享访问,同时使用ldapsearch验证LDAP中的用户和Samba条目是否存在。常见问题比如用户不存在或密码错误,需要检查LDAP用户是否存在,以及smbpasswd是否正确添加了用户。 用户可能的疑问包括如何处理schema导入错误,如何调试连接问题,或者如何确保SambaLDAP之间的加密通信。此外,权限设置和共享目录的配置也是需要注意的地方。需要提醒用户注意配置文件的语法,避免拼写错误,以及服务重启后是否生效。 最后,生成的相关问题需要覆盖LDAP服务安装、常见错误解决、Samba配置参数、加密通信设置和用户管理工具等方面,帮助用户进一步深入学习可能遇到的问题。</think>### Debian系统LDAPSamba集成配置教程 #### 一、安装必要软件包 1. 安装OpenLDAP服务端客户端: ```bash sudo apt install slapd ldap-utils libnss-ldap libpam-ldap ``` 2. 安装Samba服务: ```bash sudo apt install samba samba-common smbclient ``` #### 二、配置OpenLDAP服务 1. **导入Samba Schema**: ```bash sudo cp /usr/share/doc/samba/examples/LDAP/samba.ldif.gz /etc/ldap/schema # [^1] gunzip samba.ldif.gz sudo ldapadd -Y EXTERNAL -H ldapi:/// -f samba.ldif ``` 2. **配置LDAP数据库**: ```bash sudo dpkg-reconfigure slapd ``` 按提示设置组织名称、管理员密码和数据库类型(建议选择MDB) #### 三、配置SambaLDAP集成 1. **修改Samba配置文件**(`/etc/samba/smb.conf`): ```ini [global] security = user passdb backend = ldapsam:ldap://localhost ldap suffix = dc=example,dc=com ldap admin dn = cn=admin,dc=example,dc=com ldap ssl = off # 测试环境可关闭SSL ``` 2. **设置LDAP密码同步**: ```bash sudo smbpasswd -W # 输入LDAP管理员密码 ``` #### 四、用户管理操作 1. **添加LDAP用户**: ```bash sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W ``` 输入LDIF格式用户数据,例如: ```ldif dn: uid=testuser,ou=People,dc=example,dc=com objectClass: inetOrgPerson uid: testuser cn: Test User sn: User userPassword: {SSHA}xxxxxxxx ``` 2. **映射Samba账号**: ```bash sudo smbpasswd -a testuser # [^3] ``` #### 五、测试验证 1. 重启服务: ```bash sudo systemctl restart slapd smbd nmbd ``` 2. 测试SMB访问: ```bash smbclient -L localhost -U testuser ``` ### 常见问题解决 - **登录失败NT_STATUS_LOGON_FAILURE**:检查用户是否存在于LDAP且已执行`smbpasswd -a` - **Schema导入错误**:确认`samba.ldif`文件路径正确 - **权限问题**:确保`/var/lib/samba`目录权限为0755
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值