一、 前言 

开源软件samba的主要功能是使得unix,linux系统与windows系统相连接,实现文件可以跨平台共享。Samba的安全级别有uesr;share;domain等,在企业应用上应当选取安全级别较高的策略,所以结合现有的windows域控制器,实现samba的ads级别认证,使用samba结合域身份认证既可以满足企业对域用户的安全策略,又可以通过跨文件系统平台提高文件的安全性。

二、 准备环境

1. 安装操作系统 

操作系统选择CentOS 5.7 Final版本,选择base安装,并在language选取chinese support。

2. 检查kerberos安装情况  

查看kerberos安装情况,windows域认证需要用到kerberos协议,所以linux需要对其支持

# rpm -aq | grep krb5

krb5-workstation-1.6.1-55.el5

krb5-libs-1.6.1-55.el5

pam_krb5-2.2.14-18.el5

3. 安装samba  

#yum install samba

4. 安装ntp与域控制器时间同步  

Samba需要与域控时间同步,所以查看时间是否一致

#yum install ntp

三、 Samba与域集成AD认证
 5. Edit:/etc/security/pam_winbind.conf  

#vi /etc/security/pam_winbind.conf

krb5_auth = yes

mkhomedir = yes

6. Edit:/etc/krb5.conf  

更改如下内容

[realms]

VANCLOA.CN = {

kdc = 10.8.3.4:88

admin_server = 10.8.3.4:749

default_domain = vancloa.cn

}

[domain_realm]

.vancloa.cn = VANCLOA.CN

vancloa.cn = VANCLOA.CN

7. Edit:/etc/hosts 8. Edit:/etc/nsswitch.conf  

#vi /etc/nsswitch.conf

passwd: files winbind

shadow: files winbind

group: files winbind

9. Edit:/etc/pam.d/system-auth  

# vi /etc/pam.d/system-auth

auth sufficient pam_winbind.so

account required pam_winbind.so

password sufficient pam_winbind.so

10. 配置samba  

#============ Global Settings ===================

[global]

workgroup = VANCLOA

server string = Samba Server Version %v

netbios name = pek6-samba

security = ads

passdb backend = tdbsam

realm = VANCLOA.CN

idmap uid = 10000-20000

idmap gid = 10000-20000

template shell = /sbin/nologin

template homedir /home/%D/%U

#============ Share Definitions =================

[homes]

comment = Home Directories

path = /home/VANCLOA/%U

browseable = no

writable = yes

valid users = %U

[public]

comment = Public Stuff

path = /home/samba

public = yes

writable = yes

printable = no

write list = +staff

11. 加入windows域  

#net ads join -U 

#/etc/init.d/winbind restart

四、 测试是否可以与域控制器正常通信 

#wbinfo -u