使samba 2.0 加入NT域

发表于:2007-05-25来源:作者:点击数: 标签:
为了使samba-2 服务器 加入到一个NT域中,你必须先使用域中PDC上的服务器管理器把samba服务器的NetBIOS名加入到NT域中,并在主域控制器上的 安全 账号管理器 数据库 中创建这个机器的账号。注意你应该把samba服务器作为" Windows NT工作站或服务器"加入到域


  为了使samba-2服务器加入到一个NT域中,你必须先使用域中PDC上的服务器管理器把samba服务器的NetBIOS名加入到NT域中,并在主域控制器上的安全账号管理器数据库中创建这个机器的账号。注意你应该把samba服务器作为"Windows
  NT工作站或服务器"加入到域,而不是一个主域或备份域控制器。

 

    假定你有一个NetBIOS名是SERV1的samba-2服务器,并要加入名为DOM的NT域,域中有一个NetBIOS名为DOMPDC的主域控制器和两个NetBIOS名为DOMBDC1及DOMBDC2的备份域控制器。

 

    为了加入这个域,首先要停止所有的samba守护程序并运行命令:

 

    smbpasswd -j DOM -r

 

    把域DOM和域的主域控制器(对域的SAM数据库有写权限的机器)作参数来使samba服务器加入DOM域。如果顺利你将在终端窗口中看到这样的信息:

 

    smbpasswd: Joined domain DOM.

 

    参见smbpasswd可以得到更多的详细信息。

 

    这个命令通过机器账号改变协议,然后把一个新的(随机的)samba服务器机器账号写入与存放smbpasswd文件相同目录(通常是:/usr/local/samba/private)下的一个文件中。
 

 

    文件名看起来象这样:..mac

 

    .mac后缀代表机器账号口令文件。所以在以上的例子中,文件名应该是:

    DOM.SERV1.mac

 

    此文件由root建立并拥有,而其它用户不可读。对你系统采用的domain-level安全级来说是个关键,应该象影子口令文件一样仔细对待。

 

    好了,在重启samba守护程序之前你必须编辑smb.conf文件以通知samba使用域安全级。

 

    修改或者加入smb.conf文件中[global]段的"security ="行:security = domain

 

    然后修改[global]段的"workgroup ="行:workgroup = DOM 标出我们要加入的域的名称。

 

    你也必须在参数"encrypt passwords"中设定"yes"以便用户可以在NT主域控制器上进行认证。

 

    最后加入或修改[global]段的"password server ="行:password server = DOMPDC DOMBDC1
  DOMBDC2

  这些参数是samba为了用户认证而尝试联系的主或者备份域控制器。samba将试着按次序联系每个服务器,所以你可以按次序重新排列这个列表以便在这些域控制器之间均衡认证工作的负载。
 

 

    如果你想让smbd自动检测域控制器的列表以便进行用户认证,可以设置这样的可选项:

 

    password server = *

 

    这个在samba 2.0.6及以上版本出现的方法,允许samba采用与NT同样精确的方式,用广播或者使用WINS数据库来查找域控制器作反向验证。

 

    最后,重启你的samba守护程序并准备好客户以域安全级来使用!

 

    为什么域安全级比服务器安全级更好?

 

    通常,在samba中采用域安全级对你来说并不是件轻松的事儿,你必须建立了本地unix用户来访问你的服务器。这意味着如果域用户DOMfred访问你采用域安全级的samba服务器时,需要成为一个能访问unix文件系统的本地unix用户。这个情况和先前的samba安全模式"security=server"非常相似,samba能在NT服务器上通过认证请求,同样也可以作为windows
  95和windows 98的服务器。

 

    域安全级的优势在于通过此级的认证是在已得到认证的RPC通道上继承而来的,而NT服务器就是以这样同样精确的方法来操作的。这意味着samba服务器可以NT服务器同样精确的方法参与域委托关系(例如,你可以把samba服务器加入到资源域中并能在一个资源域PDC上通过认证从而取得域PDC中的账号)。
 

 

    另外,使用"security=server"参数的每个samba守护程序可以保持联接已开放认证服务的服务器,只要守护程序支持。这样做会耗尽NT服务器上的联接资源并导致可联接资源被用完。而使用"security
  =domain",samba守护程序只保持向PDC/BDC认证用户时必需的联接,然后结束这个联接,因而保存了PDC的联接资源。

 

    最后,通过用与NT服务器认证相同的风格来运作而得到的认证回复部分,samba服务器可以获得象用户SID这样的证明信息及用户所属的NT组列表等等。所有这些信息将使samba可以在未来被扩展到开发者们通常称为工具的模式。在这样的模式中,不需要本地unix用户,并且当用户认证时samba将以PDC传回的信息来产生unix用户账号和组账号,使samba服务器真正在NT域环境中做到即插即用。请关注这样的代码信息。


原文转自:http://www.ltesting.net