菜鸟配置SAMBA服务之4

1.实验平台:Ubuntu11.10(实验未取得成功,有待于研究)ios

2.实验名称:PDC服务器的搭建vim

3.PDC简介:  Primary Domain Controller (PDC)windows

   让samba PDC 成为整个局域网的域管理员(domain controller),而后让windows主机加入这个域,将来用户利用windows登陆时,windows会前往PDC服务器取得用户的帐号和密码,同时PDC还会传送用户的重要数据到那台windows我的计算机上,而windows用户注销时,该用户的数据也会返回给PDC。centos

4.PDC的主要内容:安全

   domain:lan服务器

   servername:lyang-vbox1网络

   信任主机:liuyang-PC$dom

   信任用户:administrator 、root 、lyang网站

   至少所须要的共享资源:netlogon 、 profile 、用户主目录ui

   一个简易的 PDC 实做案例相关参数示意图

5.设置流程:

  • 区网计算机环境设定:总体网域设定好,尤为 Windows 的工做组与计算机名称及 IP 等参数;
  • PDC 设定:由于 PDC 管理本身的密码,因此 security = user;
  • PDC 最好拥有整个网域的名称解析权力,亦即成为主要的名称解析器;
  • 需有 netlogon 资源共享,提供 windows7 客户端的登入之用;
  • 因为 Windows 需读入我的配置文件,默认目录为 profile,Linux 系统需预先设定此目录;
  • 增长 PDC 上的使用者帐号以及机器代码 (machine account) 等等
  • 在 Windows7我的计算机上设定成为 PDC 的客户端。

6.PDC 服务器的建置:

        建置 NetBIOS 与 IP 对应的数据:设定 lmhosts 与 /etc/hosts(Ubuntu11.10没有在/etc/samba/下发现lmhosts)

   

[root@www ~]# vim /etc/samba/lmhosts
127.0.0.1       localhost      <==这行是预设存在的,不要动他,底下的请自行新增
192.168.2.3 liuyang-PC
192.168.2.4 lyang-vbox1
192.168.2.5 lyang-vbox2
192.168.2.6 Lyang-PC
 [root@www ~]# vim /etc/hosts 192.168.2.3 liuyang-PC
192.168.2.4 www.Ubuntu.ly lyang-vbox1 192.168.2.5 Ubuntuclient lyang-vbox2 192.168.2.6 Lyang-PC

  

  • 建置 PDC 主设定:处理 smb.conf

        假设咱们要让 PDC 客户端登入时能够取得他本身的家目录,那么须要这样处理:

[root@www ~]# vim /etc/samba/smb.conf
[global]
        workgroup       = lan   <==请务必确认一下工做组与主机名
        netbios name    = lyang-vbox1
        server string   = This is lyang's samba server
        unix charset    = UTF-8
        display charset = UTF-8
        dos charset     = cp936
client lanman auth = yes
lanman auth = yes log file = /var/log/samba/log.%m max log size = 50 security = user passdb backend = tdbsam load printers = no # 与 PDC 有关的一些设定值: # 底下几个设定值处理成为本局域网络内的主要名称解析器 preferred master = yes domain master = yes local master = yes wins support = yes # 操做系统 (OS) 等级越高才能成为主网域的控制者,通常 NT 为 32, # Windows 2000 为 64 ,因此这里咱们设定高一点,但不可超过 255 os level = 100 # 底下则是设定可否利用 PDC 登入,且登入须要进行哪些动做: domain logons = yes logon drive = C: <==登入后家目录挂载成 Windows 哪一槽 logon script = startup.bat <==每一个使用者登入后会自动执行的程序 time server = yes <==自动调整 Windows 时间与 Samba 同步 admin users = root <==预设的管理员帐号!预设为 root logon path = \\%N\%U\profile <==使用者的我的化设定 logon home = \\%N\%U <==用户的家目录位置! # 这个在指定登入者可以进行的工做,里面主要是具备许多执行程序: [netlogon] <==与前面的 logon script 有关,该程序放置在这里 comment = Network Logon Service path = /winhome/netlogon <==重要的目录,要本身创建才行! writable = no write list = root follow symlinks = yes guest ok = yes [homes] ....(底下保留本来设定).... [root@www ~]# testparm [root@www ~]# /etc/init.d/smb restart [root@www ~]# /etc/init.d/nmb restart

上面的设定有几个地方比较有趣一点:

  • time server:要使 Samba 与 Windows 主机的时间同步,使用这个项目;
  • logon script:当使用者以 Windows 客户端登入后,Samba 能够提供一支批处理文件,让使用者去设定好他们本身的目录配置。整个配置的内容记录在 startup.bat 当中。 你要注意的是,这个 startup.bat 档名能够随意更改,不过他必需要放置到 [netlogon] 所指定的目录内;
  • logon drive:那么这个家目录要挂载到那个分割槽? 在 Windows 底下大多以 C, D, E... 作为磁盘的代号,你这里能够指定一下家目录要放置成为那个磁盘代号;
  • admin users:指定这个 Samba PDC 的管理员身份。
  • [netlogon]:指定利用网络登陆时首先去查询的目录资源。
  • logon path:用户登入后,会取得的环境设定数据在哪? 咱们知道用户会有一堆环境数据,例如桌面等,这些东西都放置到这里来。使用的变量中, %N 表明 PDC 服务器的位置, %U 则表明用户的 Linux 家目录。所以最终你得要有 ~someone/profile 的目录才能够
  • logon home:用户的家目录,默认与 Linux 的家目录相同位置。
  •  创建 Windows 客户端登入时所需的设定数据 netlogon 目录

先来创建 [netlogon] 内所须要的数据好了,那就是一个目录。因为鸟哥预计将全部的 PDC 数据统统放置到 /winhome 当中,包括用户家目录,所以不少东西都须要修订喔!包括后来的 SELinux 确定会出问题的~

[root@www ~]# mkdir -p /winhome/netlogon

接下来咱们还得要创建容许使用者执行的档案,就是那个 startup.bat 才行! 注意一下,咱们这里假设用户家目录为 K 槽,那你能够这样作:

[root@www ~]# vim /winhome/netlogon/startup.bat
net time \\vbirdserver /set /yes net use K: /home
# 这个档案的格式为:net use [device:] [directory]

# 再将该档案转成 DOS 的断行格式才行!由于是提供给 Windows  系统嘛!

[root@www ~]# yum install unix2dos
[root@www ~]# unix2dos /winhome/netlogon/startup.bat
[root@www ~]# cat -A /winhome/netlogon/startup.bat
net time \\vbirdserver /set /yes^M$
net use K: /home^M$
# 瞧见吗?会多出个奇怪的 ^M 符号,那就是 Windows 断行字符。
其余: 若是是centos6.5系统就是unix2dos 若是是Ubuntu11.10就是dos2unix!!!

  • 创建 Windows 专用的使用者

由于鸟哥预计将使用者所有挪到 /winhome 底下,并且每一个用户家目录应该还要有 profile 目录存在才行, 为了不麻烦,因此咱们先到 /etc/skel 去处理一下,而后才创建帐号,最后才产生 samba 用户吧! 产生 samba 用户可使用 pdbedit 也可以直接使用 smbpasswd -a ,由于没有要用特殊的参数, 因此,Samba 用户就用旧的 smbpasswd 来处理便可。

[root@www ~]# mkdir /etc/skel/profile
[root@www ~]# smbpasswd -a root
[root@www ~]# pdbedit -L
root:0:root

# 重点是须要有画底线的那几我的物出现才行呦!

[root@www ~]# ll /winhome
drwxr-xr-x. 2 root   root   4096 Jul 29 16:48 netlogon
# 用户的家目录不是在 /home 而是在 /winhome 里头才是对的呦!

注意:在Ubuntu11.10下useradd和adduser是不同的,这里咱们须要adduser --home /winhome/administrator administrator

                                                                                            pdvedit -a -u administrator

那之后新增的使用者都有能够存放来自 Windows 的特殊配置文件目录喔!比较好管理啰~ 固然啦,使用 useradd 新增使用者后,记得也要使用 smbpasswd -a username 来让该使用者可使用 Samba 喔!


  • 创建机器码帐号

因为 PDC 会针对 Windows 客户端的主机名 (NetBIOS name) 进行主机帐号检查, 因此咱们也要为客户端的主机名进行帐号的设定。咦!啥是主机帐号? 通常用户帐号是英文或数字,主机帐号则在该帐号最后面加上一个钱字号『$』便可! 举例来讲, Lyang-PC这部主机可设定的帐号名称为 Lyang-PC$。

而咱们知道要使用 smbpasswd 增长的使用者必需要在 /etc/passwd 当中,所以要创建这个帐号你就得要这样作:

[root@www ~]# useradd -M -s /sbin/nologin -d /dev/null Lyang-PC$

会增长 -M -s -d 等参数的缘由是由于不想要让这个帐号具备能够登入的权限, 所以将这个主机帐号设定的比较怪一点~ ^_^~接下来让 Samba 知道这个帐号是主机帐号,因此你应该要这样作:

[root@www ~]# smbpasswd -a -m Lyang-PC$

这样便加入主机帐号啰!而咱们的 Samba PDC 也就能够透过『主机帐号』来判断 Windows 客户端可否连上来, 若链接上 PDC 与 Windows 客户端后,接下来通常使用者帐号就能够在 windows 客户端登入了!


  • 修改安全性相关数据

因为咱们创建的帐号目录在 /winhome 底下,并不是正规的 CentOS 目录,因此最重要的 SELinux 可能会跑掉~ 因此,咱们还得要修订 SELinux 才行!方法很简单,将 SELinux type 转为 samba_share_t 便可!

[root@www ~]# chcon -R -t samba_share_t /winhome

因为 SELinux 的数据是会继承上层目录的,所以将来新增的用户,理论上,就不须要从新修订 SELinux 的文件类型了。 可是,若是你总是发现登入 PDC 的帐号却没法取得家目录,那么就观察 /var/log/messages 内的资料来修订吧!


小标题的图示16.4.3 Wimdows XP pro. 的客户端(一下为参考,没有时间操做过,win7实验失败)

请注意,底下的方法仅适用于 Windows 2000, Windows XP 专业版 (Pro.),通常的 Windows XP home 版本是不支持的! 若是你客户端的主机是随机版的 Windows XP ,一般是 Windows XP home ,那底下的方法可能就没法适用啰! 要链接上 Samba PDC 的过程也是挺简单的,你能够这样作: (至于 Windows 7 对于 Samba 的版本要求较高,官方网站是说得高于 3.3.x 以上版本才有支持)


  • 1. 确认 windows 客户端的网域与主机名

首先咱们必需要确认 Windows 客户端的工做组与主机名跟我们的 Samba PDC 相同, 确认的方式在局域网络里面已经提过了,这里在强调一次。将鼠标移动到『个人计算机』上面,按下右键, 选择『内容』,而后点选『计算机名称』,会出现以下图示:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-二、Windows 客户端连上 PDC 的方式流程示意图

如上图所示,你要先确认箭头 1 处指的主机名与工做组,在咱们这个案例当中的工做组为 vbirdhouse, 这部 Windows 主机的 NetBIOS 名称则为 vbirdwinxp 喔!若是不对的话,请按下『变动』来设定, 而且从新启动。从新启动完毕后再到上图的画面当中,按下箭头 2 所指的网络识别处。


  • 2. 设定主机名与域名

接下来咱们要设定这部 Windows XP pro. 要连接到局域网络上的哪部 PDC 上面,亦便是处理主机帐号以及 Samba PDC 负责的网域 (domain) 啦!在图 16.4-2 按下『网络识别』后,分别在出现的窗口当中选择:

  1. 下一步;
  2. 这台计算机是公司网络的一部份,并且我在工做时用来联机到其余计算机(T)
  3. 个人公司使用一或多个网域的网络(C)
  4. 下一步

而后就会出现以下的窗口:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-三、Windows 客户端连上 PDC 的方式流程示意图

请依序填写 Samba 主机上面的管理员帐号与密码,要注意这个密码是记录于 Samba 中的那个,可不是 /etc/shadow 喔!别搞混了~这是 Samba 服务器的设定呢。输入以后按下一步吧,一般都会出现找不到正确主机的画面,以下所示:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-四、Windows 客户端连上 PDC 的方式流程示意图

鸟哥也以为很奇怪,总是告诉我找不到!不过没有关系,这里咱们依旧再填一次主机的 NetBIOS name 以及组名, 如上图所示,而后继续按下一步,就会出现以下的画面啦:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-五、Windows 客户端连上 PDC 的方式流程示意图

此次就给他输入正确的管理员帐号与密码,记得最后面的网域就是工做组名称,别写错了。 处理完毕后给他按下肯定吧!而后就会出现以下画面:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-六、Windows 客户端连上 PDC 的方式流程示意图

恭喜你,这就表示已经链接上 Samba PDC 啰!咱们但愿全部的使用者都直接由 Samba PDC 控管,因此这里请填写 『此时不新增使用者』吧!按下一步去。


  • 3. 从新启动并以新的域名登入

在图 16.4-6 以后请从新启动,开机后整个画面会有点相似这样:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-七、Windows 客户端连上 PDC 的方式流程示意图

为了保护咱们的系统,所以得要按下 [ctrl]+[alt]+[del] 三个组合按键后,才会出现以下的登入画面:

Windows 客户端连上 PDC 的方式流程示意图
图 16.4-八、Windows 客户端连上 PDC 的方式流程示意图

目前系统上面就会有两个可选择的帐号管理模式,一个是本机帐号一个是 PDC 提供的帐号,那我怎知登入者是哪一个管理模式? 因此你就得要按下上述画面的『选项』,才会出现『登入到』的那一行数据。出现的两个数据分别是:

  • VBIRDWINXP(此计算机):这就是你的计算机名称,亦便是以本机帐号登入;
  • VBIRDHOUSE:就是 PDC 的 workgroup 项目,透过 PDC 的帐号来尝试登入。

如今请输入你在 Samba PDC 上面拥有的帐号与密码来尝试登入吧!那若是你输入的帐号密码是对的,却发现以下的画面时, 确定是某些档案权限或者是 SELinux 设定错误!请参考 /var/log/messages 或 /var/log/samba/* 里面的登陆档来修改!

使用 PDC 帐号登入却发现权限错误的图示
图 16.4-九、使用 PDC 帐号登入却发现权限错误的图示


  • 4. 观察用户的家目录与配置文件

若是你能够顺利登入的话,打开档案总管后应该能够看到相似下方的画面:

登入 PDC 后,取得的家目录状态
图 16.4-十、登入 PDC 后,取得的家目录状态

呵呵!该连上的统统连结上来啰!你也能够在本身的家目录 (K 槽) 新增移除数据的!是否很不错啊! ^_^! 而当你注销以后,你在 Windows 桌面上头所进行的各项我的化设定统统会被移动到 /winhome/dmtsai/profile 当中喔! 若是不相信的话,请自行前往 Samba 服务器上头瞧一瞧就知道了。


小标题的图示16.4.4 Wimdows 7 的客户端

根据 SAMBA 官网的说明,支持 Windows 7 的 Samba 版本必需要高于 3.3.x 才行,还好,咱们的 CentOS 6.x Samba 版本真的是高于 3.3.x 的 3.5.x,所以理论上是支持 Windows 7 的!只不过 Windows 7 要加入 Samba PDC 还得要修改注册码才行!这部份真的是给它很困扰!在 Windows 7 机码的修改方面,主要是修改底下的机码:

# 1. 这个部分是进行『新增』机码!
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
“DomainCompatibilityMode”=dword:00000001
“DNSNameResolutionRequired”=dword:00000000

修改的方式为,在 Windows7 的执行里面输入『 regedit 』,会出现以下的画面:

Windows 7 注册机码的动做
图 16.4-十一、Windows 7 注册机码的动做

先由 (1)左侧窗口一层一层点选到咱们所须要的目标去,而后 (2)观察最底下的机码顺序看对不对。以后 (3)在右侧窗口点选咱们所须要的机码,若是是要新增,那就是在右侧空白处右键单击选新增便可增长一组机码名称。最后 (4)双击机码会出现可供修改的窗口,那就改为上面表格中的要求便可。更多关于 Windows 7 加入 PDC 的相关资料, 请查阅文末的参考数据部分喔。

等到将机码修订完毕,你就可使用与 Windows XP 相同的方式来加入 PDC 啰!


小标题的图示16.4.5 PDC 之问题克服

若是总是发生错误讯息为『使用的账户是计算机账户。请使用你的通用用户账户或本机用户账户来存取这台服务器』时, 你能够这样作的:

  • 先察看一下 /var/log/samba 里面的登陆文件信息,尤为是 log.vbirdwinxp 关于这部主机的信息吶;

  • 若是仍是没法解决,能够在 lmhosts 里面增长 vbirdwinxp 的 IP 与主机名的对应,而后将 samba 整个关掉『/etc/init.d/smb stop』,等待一段时间让 NetBIOS 的名称解析时间逾时,再从新启动 samba 『/etc/init.d/smb start』,而后再从新作一次输入 root 的密码那个动做

在鸟哥尝试过的案例中,上面第二个步骤挺有效的!不过,仍是得要察看 /var/log/samba 里面的登陆信息才行喔!


  • 一些 Windows 帐号在 Windows 系统上面的使用技巧

虽然 PDC 很好用,不过你要注意的是,每次你使用 PDC 上头的帐号登入 Windows 客户端主机时, Windows 主机会由 /winhome/username/profile/ 当中加载所须要的数据, 并暂时启动一个文件夹在 Windows 系统的 C:\Documents and Settings\username 当中,若是你的家目录下的 profile 数据太多时, 光是传输就会花去不少时间的!

因此,你应该将一些档案数据放置到你的家目录下,亦即 K 槽当中,尽可能不要使用 Windows 预设的『个人文档夹』, 由于『个人文档夹』会将数据移动到『 /winhome/username/profile/My Documents/ 』目录下,一样的, 储存到桌面的数据会被放置到『 /winhome/username/profile/桌面/ 』目录中,那样在登入与注销时会花去不少时间喔! 这个小地方也要注意的呢! ^_^

好了,关于 SAMBA 的 PDC 做法咱们就谈到这里,还有更多的信息你能够前往这个章节最后面的参考数据所列出的网址去查阅, 由于还有不少的做法吶!事实上,鸟哥以为在一个网域当中,若是有多部的 Windows NT 主机,例如 Windows 2000/XP pro. 这一类的比较稳定的我的使用桌面版本时,使用 PDC 就颇有用了!由于 Windows 2000/XP pro. 也是一个多人的操做系统,不像 Windows 98 是单人的操做系统。因此,当使用 Windows 2000/XP pro. 而没法登入 PDC 时,你是没法使用 Windows 2000/XP pro. 上面的任何的信息的。 可是在 Windows 98 上面若没法正确的登入,你仍然具备该计算机的主控权喔!

另外,设定 Windows 客户端以前,请先确认你的 Windows 是什么版本? 上述的动做对于 Windows XP 家用版 (Home), Windows 7 是没有做用的!请先确认才行喔!

相关文章
相关标签/搜索