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 - 津津计较
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值