samba和openldap结合实战
RedHat Enterprise Linux Server 4.2 + OpenLDAP + LDAP Browser/Editor + Samba + Squid + Postfix + Antivir-Mailgate + EGroupWare
作者:Fandy
电子邮箱:cbbc@163.com、cbbc@avl.com.cn
QQ号码:332018422
建立日期:2006年01月16日,最后修改日期:2006年03月02日
版权说明:本文章的内容归作者版权所有,同时也接受大家的转贴,但一定要保存作者信息和出处,多谢!
因为软件版权和费用的问题,一直是公司疑难问题(我们是一家中小型企业,没有那么多钱来投资和购买软件license费用)。经过公司高层领导的决定,公 司准备将所有Microsoft服务器操作系统更改为RedHat Enterprise Server 4.2服务器操作系统!公司高层领导对新网络改造要求也不高,就是可以共享上网和打印机、公司邮件和用户数据统一管理。
在网络配置过程中遇到了许多不明白的问题,好在有google.com这个好朋友和得到“日京三子、Extmail、fjufirefox”等几位Linux前辈的指导,才可以顺利完成这一次网络改造任务,真的要好多谢几位前辈的帮助,多谢!
文章分为五大部分介绍实施情况:
第一部分:OpenLDAP主机安装RedHat Enterprise Linux Server 4.2系统过程;
第二部分:DNS + OpenLDAP + Samba(PDC)+ LDAP Browser/Editor系统安装和配置;
第三部分:Squid系统安装和配置;
第四部分:Postfix + Dovecot + Antivir-Mailgate + MailScanner + EGroupWare系统安装和配置;
第五部分:客户端Windows XP、Fedora加入Samba PDC和电子邮件正常收发,EGroupWare的使用介绍;
Setp0、实现网络图:
Setp1、OpenLDAP主机安装RedHat Enterprise Linux Server 4.2操作系统截图:
磁盘配置:
设备 类型 大小
/ ext3 39911
swap 1024
网络基本配置:
etho IP/Gateway:192.168.1.254/255.255.255.0
主机名:ldap.easy.com
网关:192.168.1.1
主/次DNS:192.168.1.254/202.96.128.68
防火墙基本配置:
⊙ 无防火墙
⊙ 是否启用 SELinux:已禁用
安装方式的选项:
⊙ 定制要安装的软件包(C)
桌面选项:
(√) X窗口系统 (选取全部)
(√) GNOME桌面环境 (选取全部)
应用程序选项:
(√) 工程和科学 (选取默认)
(√) 图形化互联网 (选取默认)
(√) 基于文本的互联网 (选取默认)
(√) 办公/生产率 (选取默认)
服务器选项:
(√) 服务器配置工具 (选取全部)
(√) 万维网服务器 (选取全部)
(√) Windows文件服务器 (选取全部)
(√) DNS服务器 (选取全部)
开发选项:
(√) 开发工具 (选择全部)
系统选项:
(√) 管理工具 (选取默认)
(√) 打印支持 (选取默认)
杂项选项:
全部不要选择;
OpenLDAP + Samba所需要的全部软件包清单(包括:DNS、DB、OpenLDAP、Samba、Other):
bind-9.2.4-2.i386.rpm bind-chroot-9.2.4-2.i386.rpm
bind-devel-9.2.4-2.i386.rpm bind-libs-9.2.4-2.i386.rpm
bind-utils-9.2.4-2.i386.rpm
db4-4.2.52-7.1.i386.rpm db4-utils-4.2.52-7.1.i386.rpm
db4-devel-4.2.52-7.1.i386.rpm
openldap-2.2.13-3.i386.rpm openldap-clients-2.2.13-3.i386.rpm
openldap-devel-2.2.13-3.i386.rpm openldap-servers-2.2.13-3.i386.rpm
samba-3.0.10-1.4E.2.i386.rpm samba-client-3.0.10-1.4E.2.i386.rpm
samba-common-3.0.10-1.4E.2.i386.rpm samba-swat-3.0.10-1.4E.2.i386.rpm
smbldap-tools-0.9.1-1.2.el4.rf.noarch.rpm
perl-Crypt-SmbHash-0.02-1.2.el4.rf.noarch.rpm perl-Digest-SHA1-2.07-5.i386.rpm
perl-LDAP-0.31-5.noarch.rpm perl-XML-SAX-0.12-7.noarch.rpm
mod_authz_ldap-0.26-2.i386.rpm nss_ldap-226-6.i386.rpm
Setp2、DNS详细配置过程:
修改/var/named/chroot/etc/named.conf文件,添加以下内容如下:
详细内容:
zone "easy.com" { #正解
type master;
file "/var/named/easy.com.hosts";
};
zone "1.168.192.in-addr.arpa" { #反解
type master;
file "/var/named/192.168.1.rev";
};
在/var/named/chroot/var/named/目录建立正解easy.com.hosts文件,文件完整内容如下:
详细内容:
$ttl 38400
easy.com. IN SOA ldap.easy.com. fandy.easy.com. (
1137063120
10800
3600
604800
38400 )
easy.com. IN NS ldap.easy.com.
easy.com. IN A 192.168.1.254
ldap.easy.com IN A 192.168.1.254
mail.easy.com. IN A 192.168.1.253
mail.easy.com. IN MX 10 mail.easy.com
在/var/named/chroot/var/named/目录建立正解192.168.1.rev文件,文件完整内容如下::
详细内容:
$ttl 38400
1.168.192.in-addr.arpa. IN SOA mail.easy.com. fandy.easy.com. (
1137063268
10800
3600
604800
38400 )
1.168.192.in-addr.arpa. IN NS ldap.easy.com.
254.1.168.192.in-addr.arpa. IN PTR easy.com.
253.1.168.192.in-addr.arpa. IN PTR mail.easy.com.
254.1.168.192.in-addr.arpa. IN PTR ldap.easy.com.
Setp3、OpenLDAP的详细配置过程:
在配置OpenLDAP前,先复制samba.schema文件到/etc/openldap/schema/目录下(添加ldap所需要的samba认证的资料文件到schema目录):
详细操作:
# cp /usr/share/doc/samb-3.0.10/LDAP/samba.schema /etc/openldap/schema/
-----------------------------------------------------------------------------------------------------------------------
说明:请一定要复制samba.schema文件到/etc/openldap/schema目录下, 否则在启动ldap时会出现以下的错误提示信息:
# service ldap start
检查 的配置文件:slaptest: bad configuration file! [失败]
-----------------------------------------------------------------------------------------------------------------------
修改/etc/openldap/目录中的slapd.conf文件,主要说明修改的关键部分,详细内容如下:
详细配置内容:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
部分增加以下一行内容:
include /etc/openldap/schema/samba.schema
database ldbm(定义ldap的数据库类型)
更改为:
database bdb
suffix "dc=my-domain,dc=com" (定义ldap搜索的域后缀)
rootdn "cn=Manager,dc= my-domain,dc=com" (定义ldap的管理DN)
更改为:
suffix "dc=easy,dc=com"
rootdn "cn=Manager,dc=easy,dc=com"
# rootpw {crypt}ijFYNcSNctBYg (设置管理DN的密码)
更改为:
rootpw {SSHA}zW6nrZ8Muho9GOl/nAk3grt4Xqq0ZpJi
-----------------------------------------------------------------------------------------------------------------------
说明:DN管理者密码的制造过程:
# slappasswd -h {SSHA} -s jinbiao
{SSHA}zW6nrZ8Muho9GOl/nAk3grt4Xqq0ZpJi
-----------------------------------------------------------------------------------------------------------------------
继续slapd.conf文件内容:
详细配置内容:
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
更改为:
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUid,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
access to attrs=userPassword,sambaLMPassword,sambaNTPassword
by self write
by anonymous auth
by * none
access to *
by * read
-----------------------------------------------------------------------------------------------------------------------
在slapd.conf文件最后部分添加的内容,作用为定义ldap的访问权限(注意书写的格式,因为作者就是因为这个问题浪费了不少的时间和感情啦!
-----------------------------------------------------------------------------------------------------------------------
修改/etc/openldap/ldap.conf文件内容,主要说明修改的关键部分:
详细配置内容:
BASE dc=example,dc=com (更改ldap搜索的域后缀)
更改为:
BASE dc=easy,dc=com
TLS_CACERTDIR /etc/openldap/cacerts(不使用TLS服务项目)
更改为:
# TLS_CACERTDIR /etc/openldap/cacerts
启动OpenLDAP服务器项目,详细操作如下:
详细操作:
# service ldap start
检查 slapd 的配置文件:config file testing succeeded
启动 slapd: [ 确定 ]
配置linux系统使用ldap进行认证过程:
详细操作:
# setup
选择一种工具项目中选择:验证配置,然后按“运行工具”键;
用户信息项目中点选“缓存信息”、“使用LDAP”;
验证项目中点选“使用MD5口令”、“使用屏蔽口令”、“使用LDAP验证”;
然后按“下一步”键;
LDAP设置:
[ ] 使用TLS (不要点选);
服务器:127.0.0.1 (按默认地址)
基点 DN:dc=easy,dc=com (更改为:dc=easy