在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定

日期:2019-11-22编辑作者:明仕ms57服务器&运维

其实早在samba2.2版本已经能非常好的支持samba做PDC主域控制器),只不过到了3.0对域的支持更加好,到现在为止最新的版本3.0,已经支持AD,并且支持Microsoft Kerberos 认证、完全重写和可配置的认证子系统等新功能。

系统环境:RHEL4 [在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定PDC域服务器。 2.6.9-5.EL ]
软件版本:
samba-3.0.10-1.4E
samba-common-3.0.10-1.4E
samba-client-3.0.10-1.4E

在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定PDC域服务器。好了,我们来开始今天的任务,我们今天只是实现简单的域控制器PDC的建立,至于他支持的AD和Kerberos等功能大家慢慢的自己去研究,我也不是很懂哦:)

目标功能:
此处仅实现使用samba服务器作为PDC主域控制器,网内主机可以加入该域并使用域帐号登陆以及用户配置文件漫游。AD及及域帐号管理等不在此陈述。

1。安装samba,这个很简单了,如果你是fedora,就可以从光盘直接安装samba的rpm包。

域控制器[RHEL4]:
netbios name:SambaPDC
domain name: RedHat.com
eth1: 192.168.1.1/24
域成员主机[Win2003]:
netbios name: xiyuan
eth0: 192.168.1.100/24

rpm -ivh samba-3.0.0-15.i386.rpm

1、域控制器
1> samba配置[仅列出主要相关配置]
[在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定PDC域服务器。global]
workgroup = redhat.com //对应的域名
netbios name = SambaPDC
server string = Samba-PDC-Server
security = user
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = yes
os level = 64
domain master = yes
preferred master = yes
domain logons = yes
logon script = netlogon.bat
logon path = \%LProfiles%U
logon home = \%L%U.profile
在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定PDC域服务器。logon drive = T:
;add user script = /usr/sbin/useradd -d /dev/null -g machines -s /bin/falsev %U
unix charset = cp936
[homes]
browseable = no
writeable = yes
[netlogon]
path = /etc/samba/netlogon
write list = root
read only = yes
browseable = no
share modes = no
[Profiles]
path = /etc/samba/Profiles
valid users = root kenthy
writeable = yes
browseable = no
create mask = 0765

大家也可以直接到samba的官方网站

2> samba用户设置
# useradd kenthy ; passwd kenthy
# smbpasswd -a root
# smbpasswd -a kenthy
# groupadd machines
#在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定PDC域服务器。 useradd -d /dev/null -g machines -s /bin/false xiyuan$
# passwd -l xiyuan$
# smbpasswd -am xiyuan$

或者下载最新的tar包,

3> 域登陆目录设置
# mkdir -p /etc/samba/netlogon/scripts
# mkdir -p /etc/samba/Profiles
# chmod 1777 /etc/samba/Profiles
# su - kenthy
$ cd /etc/samba/Profiles
$ mkdir kenthy

那就最好按下面的方法编译

4> DNS服务器配置,为redhat.com域提供名称解析[过程略]

tar zvxf samba-3.0.0.tar.gz

5> 启动服务
#在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定PDC域服务器。 service smb start

cd samba-3.0.0

2、域成员主机[WinXP或Win2003]
1> 找到samba服务器上的/usr/share/doc/samba-3.0.10/registry/目录里的WinXP_PlainPassword.reg和WinXP_SignOrSeal.reg文件
,复制到windows成员主机上并执行。或者手动编辑注册表文件导入以下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanworkstationparameters]
"enableplaintextpassword"=dword:00000001
"enablesecuritysignature"=dword:00000001
"requiresecuritysignature"=dword:00000000
"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,
00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,
77,00,6b,00,73,00,73,00,76,00,63,00,2e,00,64,00,6c,00,6c,00,00,00
"OtherDomains"=hex(7):00,00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetlogonParameters]
"requiresignorseal"=dword:00000000

./configure
--prefix=/usr
--bindir=/usr/bin
--sbindir=/usr/sbin
--libexecdir=/usr/libexec
--datadir=/usr/share/samba
--sysconfdir=/etc/samba
--localstatedir=/usr/local/samba/var
--libdir=/usr/lib
--with-lockdir=/var/locks/samba
--with-swatdir=/usr/share/samba/swat
--with-codepagedir=/etc/samba/codepages
--with-configdir=/etc/samba
--with-smbwrapper
--with-automount
--with-smbmount
--with-pam
--with-pam_smbpass
--with-winbind

2> 将DNS服务器指向PDC,在“我的电脑”-->“属性”-->“计算机名”-->“更改”-->“隶属于”-->“域”,填入“redhat.com”,根据提示输入root用户名和密码,验证通过后成功加入redhat.com域。

make

3> 注销后,使用设置的kenthy域用户登陆成员主机,并查看验证用户配置文件漫游等功能。图片 1

make intall

ok!安装完以后,下面才是我们的重点,修改/etc/samba/smb.conf,大家最好在原来的基础上修改。

[global]

workgroup = bmit
netbios name = proxy
server string = Samba PDC running %v
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192

# 这里的workgroup = bmit就代表bmit域,当然如果用bmit.com那就更加规范,但为了客户端输入的方便,还是直接bmit的好,netbios name = proxy表示这台服务器的netbios名,socket options选项设置控制 TCP/IP 性能。所显示的设置就可以与基于 Linux 的系统一起很好地工作了。

os level = 64
preferred master = yes
local master = yes
domain master = yes

#domain master 选项是一个“开关”,通告 Samba 将成为主域控制器。local master browser)是维护局域网机器列表的服务器被称为本地主浏览器。

security = user
encrypt passwords = yes
domain logons = yes
log file = /var/log/samba/log.%m
log level = 2
max log size = 50
hosts allow = 127.0.0.1 192.168.1.0/255.255.255.0

#这里我们还是使用user验证方式,不要悬在所谓的domain,至于hosts allow大家可以根据自己的需求写那些网段可以访问你的服务器,或者索性不写也行。

logon home = \%L%U.profile
logon drive = H:
logon path = \%Lprofiles%U
logon script = netlogon.bat

#以上是漫游设置和登录脚本,logon path = \%Lprofiles%U,会于下面我们要说的 [profiles] 共享成对应关系。

[homes]
comment = Home Directories
browseable = no
writeable = yes

[profiles]
path = /home/samba/profiles
writeable = yes
browseable = no
create mask = 0600
directory mask = 0700

[netlogon]
comment = Network Logon Service
path = /home/netlogon
read only = yes
browseable = no
write list= root

以上是关于共享的手腕子,其中profile是用来存放每个登录用户的设置文件,以便用户以后登录可以从服务器读取以前的桌面设置,netlogon是用来存放登录脚本的,所以要限制写的权限,假设这里只有root用户可以有权限。

至于其他共享,完全可以参照《Samba3.0服务器实战调试》(

接着是将用户和机器帐户添加到域控制器。

先建立创建了下列各组以及创建两个必要目录,并设置正确的所有权。

groupadd admin

groupadd machines

mkdir -m 0775 /home/netlogon

chown root.admins /home/netlogon

mkdir /home/samba /home/samba/profiles

chown 1757 /home/samba/profiles

对上述目录设置正确的权限和所有权是保护服务器的关键一步哦 :)

手工添加机器帐号

比如我的客户端的机器名是ibm240,那么我们可以这么做

useradd -g machines -d /dev/null -c "machine id" -s /bin/false ibm240$

passwd -l ibm240$

输入两遍密码;

不要忘记标上美元符号;这是必需的,它将该项标识为信任帐户

创建 linux 帐户后,我们现在可以将该机器添加到 /etc/samba/smbpasswd

smbpasswd -a -m ibm240

当然你也可以让系统自动添加机器帐号,用下面的方法,不过大家最好先试手动添加,成功后再试验系统自动添加

自动添加只要在[global]添加

add user script = /usr/sbin/useradd -d /dev/null -g machines -s /bin/false -M %u

添加用户帐号

首先添加的是root帐户,把root加入到smb帐户中

smbpasswd -c root

这一步很重要,因为后面的加入域要用到有管理员的帐号加入域的权限,否则用普通用户好像不能顺利加入域

然后添加普通用户

useradd frank

passwd frank

smbpasswd -a frank

为了方便以后的管理,最好smb的用户密码和unix系统密码一样,这样我们还可以用到samba的密码同步功能

#下面的选项语句将允许用户从 Windows 客户机上更改他们的 Samba 密码,这样会随即更新他们的 UNIX 密码以与新的 Samba 项相匹配。但是如果更改了 UNIX 密码,那么同一技术不能逆向工作;必需手工同步更改 Samba 密码。也是在[global],初学者可以先不做这个工作。

unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %nn *Retype*new*UNIX*password* %nn *Enter*new*UNIX*password* %nn *Retype*new*UNIX*password* %nn *passwd: *all*authentication*tokens*updated*successfully*

#上述语句中唯一值得一提的是 passwd chat 选项,不管这里如何显示它,都要将它输入成一行。还要注意有些选项使用“password”,而有些使用“passwd”。

Samba PDC 的配置就这样完成了。剩下唯一要做的是将客户机加入到域中。记得重启samba服务哦!

客户端的设置,这里由于条件的限制,我只试验了windows2000客户端加入域,至于winxp和win98的加入大家自己去试验。

win200机器最好先重启一下,可以避免一些不必要的问题)然后转至 控制面板 -> 网络-> 网络标示,如果机器目前被配置在 工作组 选项下,那么选中 域 单选按钮并输入域名bmit。

现在,通过使用用户名 root 和相应的密码登录到域。必需初始化服务器和客户机机器之间的“秘密”。从此时起,任何已认证的用户都可以从这台机器登录。
应该出现一个欢迎您来到 XX域的消息

恭喜你已经成功将samba配置成PDC

...

本文由明仕ms577发布于明仕ms57服务器&运维,转载请注明出处:在RHEL4系统中使用Samba搭建主域控制器,0轻松搞定

关键词:

从谷歌宕机事件认识互联网工作原理,网络封锁

译者注:本文中提到CloudFlare是一家总部位于美国旧金山的内容分发网络(CDN)服务公司,由ProjectHoneyPot项目的三位前开...

详细>>

选择服务器托管比起自建机房有什么优势,选择

服务器托管是指为了提高网站的访问速度,将您的服务器及相关设备托管到具有完善机房设施、高品质网络环境、丰...

详细>>

Web服务器保持安全的秘诀是什么,Web安全实践

ApacheHTTP服务器是世界上最常见的Web服务器软件,这点是明摆着的。据最近一项调查显示,全世界运行ApacheHTTP的网站数...

详细>>

搭建完美的媒体服务器

本教程介绍了如何安装Ubuntu 11.10OneiricOcelot)和必需的所有程序,以便完美的媒体服务器下载你的所有媒体,并流式传...

详细>>