Samba4集成LDAP详细安装及配置

近期公司的项目组给我们提需求,让我们搭建几套打印机测试环境,测试打印机的bug,环境分别为:1.windows2012 LDAP的匿名、SSL(636)、kerbors。2.Samba4集成的LDAP服务的匿名、SSL(636)、kerbors。3domino9.0.1FP3的LDAP服务的匿名、SSL(636)、kerbors服务。花了一些时间搭建完成了,所以分享给有需求的参考。其实对于以上提到的服务相信大家都已经很熟悉了。大概思路讲解:windows LDAP顾名思义就是Microsoft的Active Directory服务,安装完除了匿名其他服务均可以默认访问的,如果需要开启匿名,需要通过Adsiedit编辑配置AD配置来完成。SSL(636的话,我们可以安装CA服务器来提供证书的申请及办法)。Domino服务跟windows LDAP、SAMBA4其实跟windows的操作大同小异,具体见下:

我们首先说说Samba4集成的LDAP服务吧。说到samba大家应该都很熟悉,最早是实现windows和linux之间的文件共享。自升级到4.0版本就集成了LDAP协议。

参考链接:https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO

https://wiki.samba.org/index.php/Main_Page

介绍完后,我们就可以开始部署了

Server Information

Below, we will be using the following configuration/settings:

Installation Directory: /usr/local/samba/  
AD DC Hostname: Samba4    
AD DNS Domain Name: Samba4.iternalsoft.com    
Kerberos Realm: Samba4.iternalsoft.com    
NT4 Domain Name/NetBIOS Name: Samba4    
IP Address: 192.168.6.163    
Server Role: Domain Controller (DC)    
Domain Admin Password: 123456    
Forwarder DNS Server: 192.168.6.163

Os: Centos6.4

再次我们准备在线下载安装包,在线下载的话,我们需要用到wget组件进行在线下载。

所以我们需要安装wget组件。

下载地址:开始下载安装

https://wiki.samba.org/index.php/Binary_Distribution_Packages#CentOS_6

Yum install –y wget

然后使用wget downloadlinks下载即可

Wget https://download.samba.org/pub/samba/stable/samba-4.2.1.tar.gz

Ls 查看下载的文件

Samba4下载成功后,我们在安装samba4前需要做一些准备工作。比如安装依赖包及卸载系统自带的低版本。在此我们先通过rpm来查看系统再带的低版本samba

Rpm -qa | grep samba

我们需要通过以下命令来卸载系统自带的低版本samba程序

yum remove samba-winbind-client samba-common samba-client

卸载后,可以通过 rpm -qa | grep samba进行确认

接下来安装samba4依赖包,不然samba4无法编译通过安装

yum install perl gcc libacl-devel libblkid-devel gnutls-devel \  
readline-devel python-devel gdb pkgconfig krb5-workstation \    
zlib-devel setroubleshoot-server libaio-devel \    
setroubleshoot-plugins policycoreutils-python \    
libsemanage-python setools-libs-python setools-libs \    
popt-devel libpcap-devel sqlite-devel libidn-devel \    
libxml2-devel libsepol-devel libattr-devel \    
keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils \    
libxslt docbook-style-xsl openldap-devel

依赖包安装完成

接下来就是开始编译安装了。我们首先查看下载的文件。

ls

然后解压,编译安装

Tar zxvf samba-4.2.1.tar.gz

然后ls进入解压目录,进行编译安装

./configure

make

Make install

# vim ~/.bash_profile 添加环境变量

在PATH 后边添加:/usr/local/samba/bin:/usr/local/samba/sbin

#source ~/.bash_profile

# echo $PATH 查看是否添加成功。

设置hosts

https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO

Cd /usr/local/samba/etc

samba-tool domain provision --use-rfc2307 –interactive

按照提示完成操作

如果测试不成功,vim /etc/reslov.conf 添加以下格式的域名解析即可

Domain test.com

最后运行samba启动samba服务就可以了

最后netstat -anlpt

服务启动了,怎么测试呢?

smbclient -L localhost -U%

smbclient //localhost/netlogon -UAdministrator -c ‘ls‘

我们最后需要通过真实的client加域进行测试

最后我们需要将client加域然后测试

使用域用户登陆

然后我们为了方便管理该域,安装ADDS管理工具

然后我们连接域控制器,新建用户

添加邮件地址

通过测试工具测试 simple

然后单击ok即可进行连接测试,最后的结果是连接失败,如果我们新建一个测试账户就可以连接,使用系统自带的administrator就无法正常连接。那如果新建测试账户呢,在此我们需要应用到windows 管理工具进行连接。通过新创建的账户进行测试完成。

接下来我们需要为samba4的LDAP服务配置匿名,默认SAMBA4的LDAP匿名是关闭的,我们可以通过以下方法开启匿名,我们通过windows 系统自带组件的ADSI工具连接进行编辑配置。

https://technet.microsoft.com/zh-cn/library/cc816788(WS.10).aspx

Click Start, point to Administrative Tools, and then click ADSI Edit.

选择-----配置

In the console tree, double-click the configuration directory partition (CN=Configuration,CN={GUID}), double-click the services container (CN=Services), double-click the Windows NT container (CN=Windows NT), right-click the directory service container (CN=Directory Service), and then click Properties.

1.In Attributes, click dsHeuristics, and then click Edit.

2.In Value, modify the value of the seventh character in the attribute (counting from the left) to 2, as follows:  
0000002001001

dsHeuristics===0000002001001

最后单击确认即可。然后我们通过测试工具进行测试

接下来我们要配置samba4的kerbors服务

In CentOS 6.3 or 6.4, kerberos is handled by the ‘/etc/krb5.conf‘ file. Make a backup copy of this original file, and then replace the existing file, if any, with the sample from /usr/local/samba/share/setup/krb5.conf.

# cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.confEdit the file and replace ${REALM} with the value you chose for the ‘--realm‘ parameter of the provision command earlier, make sure to enter the realm in uppercase letters. It should look something like this:

# cat /etc/krb5.conf

[libdefaults]

default_realm = MYDOMAIN.COM

dns_lookup_realm = false

dns_lookup_kdc = true

首先备份

cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf

然后vim /etc/krb5.conf 确认一下三行就可以了

nslookup

Set type=srv

> _ldap._tcp.beyond.com

Server:                192.168.6.165

Address:        192.168.6.165#53

_ldap._tcp.beyond.com        service = 0 100 389 dc.beyond.com.

我们通过kinit工具测试kerbors是否运行正常,通过以下结果看出就是正常的

Kinit [email protected]

最后我们进行测试

最后我们要说说samba4的LDAP服务的SSL,在window上我们需要安装一个ca服务器,再次我们也是一样

http://wenku.baidu.com/link?url=b0cXa89f_beZeZkluX7k17utIoja1wR2L3sC2tmKE5Wl09VXnDFo89yUvN4rQKY1zQ3wxwmzO42gVRpvZ0bNN4xQNDL1RrJtnOO0b1IE-ZC

Mkdir certs

Cd certs

/etc/pki/tls/misc/CA -newca

Cd /etc/pki/CA/

Openssl x509 -in cacert.pem -days 3650 -out cacert.pem -signkey ./private/cakey.pem

Cd /root/certs/

/etc/pki/tls/misc/CA -newreq

/etc/pki/tls/misc/CA -sign

Newcert.pem 位证书文件

Newkey.pem为证书秘钥文件

/etc/pki/CA/目录下的cacert.pem为CA证书

证书申请及配置

https://wiki.samba.org/index.php/Setup_LDAPS_on_a_DC

http://blogs.msdn.com/b/alextch/archive/2012/04/25/configuring-openldap-pass-through-authentication-to-active-directory.aspx

Cd /usr/local/samba/private/tls/

Cd ..

Cd /usr/local/samba/etc

Vim smb.conf

tls enabled = yes  
tls keyfile = tls/key.pem    
tls certfile = tls/cert.pem    
tls cafile = tls/ca.pem

时间: 2024-08-29 10:57:11

Samba4集成LDAP详细安装及配置的相关文章

Citrix 6.5 详细安装及配置介绍

Citrix 6.5 详细安装及配置介绍 说到虚拟机化,相信大家都对虚拟化的概念及环境的搭建都有一定的了解,我们都知道目前最主流的虚拟化产品有很多,比如microsoft Hyper-v.vmware workstation.vmare vsphere.citrix等产品,我之前的环境搭建都基于hyper-v和vmware vsphere的,近期呢,闲着没事想体验一下citrix产品,目前citrix虚拟化xencenter 6.5,所以我们今天就介绍一下xencenter6.5的全新安装及配置

图解MySQL5.5详细安装与配置过程

出自:http://www.dbhom.com/show.aspx?id=77&cid=9 MySQL是一个开源的关系型数据库管理系统,原由瑞典MySQL AB公司开发,目前属于Oracle公司旗下.MySQL是目前世界上开源数据库中最受欢迎的产品之一,是应用最为广泛的开源数据库.MySQL就是LAMP中的M. 本文详细讨论的是MySQL最新版MySQL5.5详细安装与配置过程.MySQL5.5安装程序可以MySQL官网下载,下载地 址:http://dev.mysql.com/download

Sharepoint Foundation 2013 SP1详细安装及配置介绍

Sharepoint Foundation 2013 SP1 详细安装及配置介绍 说到sharepoint产品相信大家都已经非常熟悉了,所以呢就不多介绍了:首先呢,先说说我的环境需求,公司最早内部网站是使用wss完成搭建的,wss其实就是sharepoint2003版本,最大的差别就是wss是免费产品, 我们都知道微软的软件服务是非常贵的,这样就导致很多企业被迫使用其他供应商提供的类似软件服务:我们言归正传,公司内部的wss站点使用了10多年多,后来互联网越来越先进,公司的内部站点就从wss级别

CentOS下Apache+SVN+LDAP的安装与配置

上班接近4个月了,在公司做配置管理工程师,主要是在Linux下对公司的源代码以及项目发布进行管理.4个月接触了好多新知识,也对各种工具的集成使用搞得云里来雾里去的,所以打算自己搭建一套环境,进行测试. 首先是Apache+SVN的安装与配置.本人使用Virtualbox创建了一个虚拟机,所以接下来的环境搭建均在虚拟机CentOS上实现 1.Apache的安装 网上有很多教程都是使用源码安装的方式,但安装起来稍显复杂,容易将像我这样的初学者搞晕,所以我就采用了yum工具(CentOS系统下是yum

linux应用之xampp集成环境的安装及配置(centos)

1.xampp集成环境的下载 在xampp的官网上选择对应系统的版本进行下载,官网地址:https://www.apachefriends.org/zh_cn/index.html #wget https://downloadsapachefriends.global.ssl.fastly.net/xampp-files/5.6.30/xampp-linux-x64-5.6.30-1-installer.run?from_af=true #ls -al ./xampp-linux-x64-5.6

Linux上redis详细安装及配置过程

本次介绍下redis的安装及详细配置,需要注意的是本地介绍的不是通过yum方式安装,也不推荐大家使用yum安装,安装完了其实啥也不知道. 1,通过rz命令将本地的tar.gz包上传到linux服务器上;我这里用的是redis-3.0.2.tar.gz,上传到/home/download下: 2.tar -zxvf 命令解压文件: 3,进入到redis-3.0.2文件夹下执行make编译命令, 看到下面这样的结果说明一切正常, 5,执行 make install命令进行安装,我个人习惯将软件都安装

Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置

要点概括 1.关闭iptables 或者设置常用端口为accept(关闭省事) 2.修改/etc/hosts ,设置RSA互信,避免在传文件需要密码 3.使用mariadb或者其他版本的DB带有WSREP功能 4.修改配置文件,在原来初始化的基础上加上WSREP的参数 5.启动第一个节点 6.在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致 7.初始化启动其他节点 8.集群负载均衡和单点故障使用haproxy+keepalived 9.Haproxy+cluster状态检测 10.h

Exchange2013 SP1的详细安装及配置

说到Excchange相信很多童鞋都很熟悉了,对于Exchange从2003到目前最新的Exchange2013的功能及架构的变化大家都已熟悉了,变化最多的也就是普通操作上,从C/S架构变化到了B/S架构了,当然内部的功能变化也相当大,对功能在此就不多介绍了.由于近期工作不是非常繁忙,就做了一些关于Exchange2013相关的部署及应用,我准备了一些关于Exchange2013功能应用集合,后期也会陆续上传分享给大家,希望对大家有用,今天介绍的是第一篇,具体见下: 环境介绍: Hostname

Node.js-视图引擎【1】-Swig集成express的安装与配置

node.js视图引擎,选来选去发现Swig最符合我的胃口哈哈. 一.安装Swig视图引擎 npm install -g swig 二.在node.js代码中配置如下 var app = require('express')(); var swig = require('swig'); app.engein('html', swig.renderFile); app.set('view engine', 'html'); app.set('views', __dirname + '/views'