荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: hayas.bbs@bbs.gliet.edu.cn (阿生), 信区: Linux
标  题: 构建没有NT服务器的NT域
发信站: 漓江夜话 (Mon Nov 25 22:38:50 2002)
转信站: SZU!news.tiaozhan.com!LiRiver


摘要
  本文说明如何在Linux操作系统下,用Samba构建一个没有NT服务器存在的NT域。(200
2-11-15 09:37:46)

------------------------------------------------------------------------------
--
By 风过留枫, 出处:转载自赛迪网 作者:杨鹏


  国内用户的中小型网络大量采用了Windows NT作为网络操作系统(NOS),提供诸如用
户管理、文件共享等基本网络服务。如果出于工作上的考虑,必须使用Windows NT域模型
来管理网络,同时出于性能、经济或者其它方面的考虑,又想放弃NT那样复杂的管理、昂
贵的许可和不太高的效率,那么就请进入自由的Samba世界!Samba是一套自由的、开放源
代码的软件。一位传说中的高手,依据Windows网络的基本协议——SMB(Server Message
 Block),编写了一套将Unix系统与Windows网络完全融合的软件。因为Samba刚好包含S、
M、B三个字母,所以这一整套系统被命名为Samba。

Samba与Windows网络

  Windows系列操作系统通过“网上邻居”提供了便捷的网络资源访问。这实际上是Win
dows浏览服务(请勿与Internet上的Web浏览混淆)提供的支持。Windows浏览服务基于Ne
tBIOS(名字),每台Windows主机都会向网络发送Windows浏览信息,并保留一份网络主机
名单。这样,当打开网上邻居的时候,就可以看见所有机器的NetBIOS名字。由于这份名单
定时更新,所以当某些机器关机后,我们仍然能够在网上看见它。

  在域模式出现以前Windows网络是基于工作组的,每台主机都要负责维护自己的用户名
/密码,以及共享资源认证。这样难于保证网络的安全和性能,而且访问不同机器的不同资
源都要提供相应的密码,非常繁琐和低效。根据商业用户对安全和工作效率的要求,Wind
ows商业网络提出了域的概念。在带有域的Windows网络中,主域控制器自动成为主浏览服
务器,负责提供并维护这份名单,其它Windows NT机器可以竞选成为辅助浏览服务器协助
工作。域提供统一的安全措施,所有用户的认证和资源共享工作由主域控制器进行管理,
可以实现整个域内一次认证、处处通行的目的。

  Samba是一套自由的、开放源代码的软件,虽然无法公开得到应有的技术资料(因为S
MB协议是私有的),但它还是逐步发展起来。现在,Samba已不是简单的Unix/Linux与Win
dows间的桥梁,它可以让Unix系统代替NT主域控制器管理整个Windows网络。这样,我们不
需要真正的NT服务器,也可以构建真正的Windows 域网络。

  Samba能够模仿NT PDC向网络发送PDC竞选消息,并允许Windows客户机登录,就像一台
NT PDC所做的那样。它会在启动时告诉其它Windows机器:我是主域控制器,登录认证找我
好了。此时域中就不能再有其它声明为PDC的NT Server了,否则会导致PDC竞选失败,并且
Samba必须提供域登录,这样Windows客户才能在启动时输入用户名、密码和域名登录到域
。需要注意的是,此时的安全级别必须是user,因为server和domain级别的认证都需要其
它服务器配合,而PDC却只有一个。这样,实际上使用了本地密码,最后出于安全的考虑必
须使用加密密码。

服务器的配置

  下面是Linux下作为PDC的Samba服务器的基本配置:


  [global]
    …… 其它全局参数 ……

    workgroup = Samba.net
    netbios name = PDC

    securety = user
    domain logons = true
    encrypt passwords = true
    domain master = true
    preferred master = true
    local master = true
    ……



  domain login表示Samba提供客户机的域登录;encrypt passwords表示使用加密的密
码;domain master表示Samba宣告自己是这个域的主域控制器;preferred master则是附
加的竞选选项;local master让Samba不但提供域浏览,也提供本地浏览服务。

  这样配置以后,根据NT域管理还要添加域用户。这个步骤很简单:

  首先创建一个本地Unix账号:


  useradd -r myaccount



  这条命令创建了一个名为myaccount的普通Unix用户。

  然后根据它创建一个Samba用户:


  smbadduser myaccount:mysmbact



  或者是:


  smbpasswd -a myaccount



客户端设置

  普通的Windows 9X(95/ME)客户端设置非常简单,因为完全不需要设置就可以正常登
录到Samba.net域。它根本不知道域控制器已经由NT Server变成了Samba Server。它可以
执行登录脚本,可以应用系统策略和用户配置文件,以及其它需要在NT Server上完成的所
有事情。

  如果客户端是NT 4.0/2000就麻烦一点,因为NT的域认证基于机器信任账号来进行。所
以必须在Samba服务器上先创建机器账号。下面以一个名为w2000的计算机为例(由于这部
分NT和2000差别不大,我们通称为NT):


  useradd -d /dev/null -r w2000$ -s /bin/false



  我们创建了一个Unix本地账号,出于安全考虑不需要它登录到Linux进行任何操作,因
此它的用户目录是/dev/null,Shell是/bin/false。

  然后,我们就可以用smbpasswd创建相应的Samba机器账号:


  smbpasswd -a -m w2000



  其中,-a是添加,-m是机器信任账号。这样,依据w2000$的Unix账号创建了一个NT域
的机器信任账号w2000。

  如果在安装NT时加入Samba域,可以直接选择将机器加入到域中,但最好不要选择在域
中添加计算机账号。因为这样必须在Linux上设置相应的执行脚本,对初学者来说不但麻烦
,而且极易出错。

  如果在已安装的NT工作站上重新加入到域,会要求提供可在域中添加账号的用户名和
密码,比如普通NT Server上的Administrator,在Samba服务器上可以用root组的成员来完
成这一操作。如果不敢确定,我们可以创建一个root的Samba账号:


  smbadduser root:root



  输入两遍口令。

  这样,Samba的工作就完成了,在NT客户端上执行更改用户或网络ID(Win2000),输
入用户名(Samba密码文件中必须存在这个用户)、域和密码,就会加入到Samba域。如果
要提供可以添加账号的用户名,使用前面的root即可。

结束语

  通过Samba PDC,我们可以将Windows网络管理全部纳入Linux之中,从而利用Linux配
置、管理灵活的特点,可以方便地实现文件共享认证、打印机共享和其它一些常用的功能


  由于SMB协议的性质,Samba开发小组无法获得协议细节。因此,目前的Samba PDC对较
为复杂的域结构支持尚不够完善。

  例如,它不支持其它Windows NT服务器作为备份域控制器(BDC)。也就是说,域中只
能存在一个域控制器。在大型网络中,大量的认证会话可能会影响服务器性能。

  另外,它在客户端对文件共享进行管理时可能存在一些问题,而且不支持多主域结构
,无法建立两个域之间的信任关系。我们相信这些问题都会被一一解决。



--

※ 来源:.漓江夜话  WWW http://bbs.gliet.edu.cn  [FROM: 211.97.77.143]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店