配置Samba 3.0使用ADS安全模式(CentOS)
这是Samba 3.0发行说明中的第一行:
“Active Directory支持Samba 3.0现在可以作为成员服务器加入ADS(Active Directory服务)领域,并使用LDAP / Kerberos对用户进行身份验证。”
本文的目的是向您展示如何使用Kerberos身份验证将Linux机器和Samba服务器配置为以Windows 2003 Active Directory域作为成员服务器。 这涉及到在Samba中使用security = ADS安全模式。
你为什么想做这个? 这样就无需在Linux服务器上创建单独的Samba用户帐户,因此您的Windows用户可以访问Samba共享。 除了消除大量的管理开销,没有这个,您需要尝试保留与AD域中的用户密码同步的Samba用户帐户的密码。 如果您没有,并且Windows用户更改了密码,则每次访问Samba共享时都会提示输入密码。
安全= ADS安全模式的主要优点是,如果您以纯模式运行Win2003AD域,并且您的安全策略禁止使用NT兼容的身份验证协议。 所有的工作站都是Windows 2000或XP Professional。 在这种情况下,Samba以前无法充当域中的域成员服务器。
如果您想要使用winbind(在另一篇文章中讨论过),您的Samba服务器必须是域成员服务器。
如果你不熟悉不同的AD模式,这里有一个简短的解释。 在混合模式下,所有Windows客户端都能够对包括Win9x,NT4,Win2k和XP Pro在内的域进行身份验证。 Samba也可以是此域的成员服务器。
Active Directory以纯模式完全允许NT4风格的域成员。 这与人们的信仰是相反的。
Active Directory以纯模式禁止仅使用运行MS Windows NT4的备份域控制器。 在本机模式下使用AD,并限制使用NT兼容认证协议(即使用Kerberos身份验证),只有Win2k和XP Pro客户端可以属于该域。 如果您只有Win2k和XP Pro客户端的网络,这是首选和最安全的模式。
内容
- 网络设置
- 安装Kerberos
- 安装Samba 3.0
- 配置Kerberos
- 配置Samba
网络设置
这是我们网络上的设置:
Linux:
CentOS从CentOS CD的RPM包安装了Samba 3.0。
主机/ NetBIOS名称 - sambaserver
(eth0: 10.0.0.1
)
Win2003:
运行SP1的Windows 2003企业服务器Active Directory(域控制器)
机器名称 - 服务器
(eth0: 10.0.0.1
)(eth1: 192.168.1.1
)
AD域名 - fahdaziz.com.pk
网络域名 - fahdaziz.com.pk
运行整个网络的DNS(eth0: 10.0.0.0
)
为整个网络运行DHCP(eth0: 10.0.0.0
)
安装Kerberos
您需要做的最重要的事情是在Linux机器上安装Kerberos V5。 不过,您不需要将CentOS机器配置为Kerberos服务器。
您可以使用rpm -q
命令检查是否已安装它们:
rpm -q krb5-libs
rpm -q krb5-workstation
rpm -q krb5-server
这些应该返回版本号,而不是错误消息。
如果您还没有安装它们,可以在CentOS CD上找到它们。 您可以使用以下命令从命令行安装它们:
rpm -ivh <packagename>
如果您的发行版使用RPM软件包,请尝试www.rpmfind.net 。 您还可以访问http://web.mit.edu/Kerberos/www/index.html了解Kerberos的最新版本。
如果您在基于RPM的发行版上安装了yum,则可以执行:
yum install krb5-libs
yum install krb5-workstation
yum install krb5-server
一旦您在CentOS机器上安装了Kerberos,您需要检查几个关键的事项:
- 您的Win2003 AD服务器和CentOS机器上的时间必须匹配。 默认的Kerberos设置允许5分钟的错误。 我推荐设置它们尽可能接近以允许漂移随着时间的推移。 这是绝对关键! 如果时钟不匹配,它将不起作用。 这也适用于要使用Kerberos从CentOS机器进行身份验证的AD域中的任何其他机器。
- 使用Kerberos进行身份验证的Win2003 AD域中的任何用户帐户必须自创建以来至少更改一次密码。 如果密码从创建帐户以来从未被更改,这将不会工作!! 在我使用的帐户中,我只是更改了密码,然后将其更改为原始文件。
安装Samba 3.0
以下是安装Samba 3.0的步骤:
1.使用以下命令从计算机中删除旧版本的Samba:
rpm -e samba
如果从CENTOS CD安装了Samba,则可能需要删除多个rpm包。 您可以使用CENTOS GUI软件包管理器或执行:
rpm -qa | grep samba
列出已安装的Samba软件包,然后从命令行卸载它们。
您应该在安装Samba 3之前卸载当前版本的Samba。当您删除Samba时,rpm命令将将您的smb.conf
文件备份到smb.conf.rpmsave
。 我推荐你自己制作一个备份副本。
如果您没有使用CentOS,请使用特定于Linux发行版的方法来卸载Samba。 如果从源代码安装Samba,请参阅Samba.org中的文档进行卸载。
2.为CENTOS下载并安装Samba 3 rpm软件包。
一旦从Samba.org网站下载,只需使用:
rpm -ivh samba-3.0.0-1.i386.rpm
要么
yum install samba
安装它。
如果您不使用CentOS,请使用特定于Linux发行版的方法进行安装。 如果要从源安装Samba,请参阅Samba.org中的文档进行安装。
一旦你安装它,使smb.conf.rpmsave
文件您的活动smb.conf
文件或恢复您的备份副本smb.conf
,然后启动Samba。 测试它,以确保它像以前一样工作。 您的Samba服务器应与Samba 3一样使用Samba 3。
一旦你测试了Samba 3,以确保它正常工作,那么在继续进行进一步的配置之前,先停止它。 如果您不停止Samba,以下尝试配置它将很可能会失败。