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

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

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

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

4.PDC的主要内容:

domain:lan

servername:lyang-vbox1

信任主机:liuyang-PC$

信任用户:administrator 、root 、lyang

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

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-vbox1192.168.2.5 lyang-vbox2192.168.2.6 Lyang-PC
 [root@www ~]# vim /etc/hosts 192.168.2.3 liuyang-PC192.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-vbox1server string   = This is lyang's samba serverunix charset    = UTF-8display charset = UTF-8dos charset     = cp936        client lanman auth = yes        lanman auth     = yeslog file        = /var/log/samba/log.%mmax log size    = 50security        = userpassdb backend  = tdbsamload printers   = no# 与 PDC 有关的一些设定值:# 底下几个设定值处理成为本局域网络内的主要名称解析器preferred master = yesdomain master    = yeslocal master     = yeswins support     = yes# 操作系统 (OS) 等级越高才能成为主网域的控制者,一般 NT 为 32,# Windows 2000 为 64 ,所以这里我们设定高一点,但不可超过 255os level      = 100# 底下则是设定能否利用 PDC 登入,且登入需要进行哪些动作:domain logons = yeslogon 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 Servicepath            = /winhome/netlogon  <==重要的目录,要自己建立才行!writable        = nowrite list      = rootfollow symlinks = yesguest 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 相同, 确认的方式在局域网络里面已经提过了,这里在强调一次。将鼠标移动到『我的计算机』上面,按下右键, 选择『内容』,然后点选『计算机名称』,会出现如下图示:


图 16.4-2、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. 下一步

然后就会出现如下的窗口:


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

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


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

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


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

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


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

恭喜你,这就表示已经连接上 Samba PDC 啰!我们希望所有的使用者都直接由 Samba PDC 控管,所以这里请填写 『此时不新增使用者』吧!按下一步去。


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

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


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

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


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

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

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

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


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


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

如果你可以顺利登入的话,打开档案总管后应该可以看到类似下方的画面:


图 16.4-10、登入 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 』,会出现如下的画面:


图 16.4-11、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 是没有作用的!请先确认才行喔!

转载于:https://www.cnblogs.com/ly565911158/p/3625800.html

菜鸟配置SAMBA服务之4相关推荐

  1. 菜鸟配置SAMBA服务器之2

    1.实验平台:Ubuntu11.10 2.硬件环境:虚拟局域网 3.网络配置:SMBServer IP 192.168.2.4 SMBClient  IP 192.168.2.5 windowns   ...

  2. Centos7配置Samba服务实现与Windows文件共享

    一.安装samba软件包 yum insatll samba -y 二.关闭selinux和防火墙,开启samba服务,开机启动samba服务 setenforce 0 sed -i 's/SELIN ...

  3. 配置samba服务实现Linux(CentOS7)与Windows之间的文件共享

    Samba是一个开源软件套件,提供了在Windows和Linux操作系统上实现文件和打印机共享的功能,允许Windows.Unix.Linux等不同的操作系统之间共享文件和打印机资源.Samba可以将 ...

  4. 系统运维 | Ubuntu 下安装配置 samba 服务的详细过程

    本文首发于 2014-08-05 10:14:48 1. Samba作用 Samba的主要任务就是实现Linux系统和Windows系统之间的资源共享.我们现在是要在Linux下配置Samba,让Wi ...

  5. 傻瓜式配置samba服务

    系统:CentOS7,root用户 身份 文件权限:无需用户名,任何人可访问 1.安装samba yum -y install samba 2.查看安装状态 rpm -qa | grep samba ...

  6. Linux学习笔记-配置SAMBA服务

    SAMBA的配置: SAMBA:Linux下的一个服务 作用:在Linux服务器上设置一个共享目录,人Windows主机上可以访问(读写)这个目录. 首先关闭2个服务: 1.关闭selinux(一个强 ...

  7. ceentos5.5 配置samba服务用户组

    准备 Change Root Password passwd root 在提示下建立新密码 静态IP vi /etc/sysconfig/network-scripts/ifcfg-eth0  #网络 ...

  8. linux下启动nfs服务,linux下Samba服务和NFS服务配置的方法

    linux下Samba服务和NFS服务配置 一.Samba服务配置过程 samba的功能很简单,就是为了使linux和windows之间能够实现共享.并且利用samba搭建文件服务器,不仅比windo ...

  9. Samba服务概述、配置、及其搭建

    文章目录 写在开头的话 Samba 概述 Samba与FTP的区别 ftp 的优缺点: Samba 的特性: smb 协议和 cifs 之间的关系 Samba 服务详解 Samba 软件相关信息 登录 ...

最新文章

  1. dateformat java_java常用API之DateFormat
  2. python初学者用什么开发环境_python初学者用什么开发环境
  3. 电力系统潮流计算程序 matlab,大神们,求个电力系统潮流计算的matlab程序。
  4. Python 本身真的有用吗?CSDN要对Python下手了!
  5. 1.6. 6.x Mini 安装后需要做的一些事
  6. windows+jdk 使用keytool工具
  7. TS文件合并,这里提供了一点小思路。
  8. 知识整理的八种笔记方法
  9. Scrum敏捷开发实践
  10. 网络嗅探与身份认证-实验二
  11. 通过u盘启动计算机使用ghost安装系统步骤,详细教您如何使用u盘启动盘手动ghost备份系统...
  12. 怎样用c语言制作文件保险箱,开题(电子保险箱)技巧.doc
  13. web性能压力测试工具:WebBench详解
  14. copy ctor、copy assignment(拷贝构造函数和拷贝赋值函数)
  15. Win10下Tensorflow-gpu使用cpu训练而不是gpu加速
  16. 文科高中毕业学计算机技术,一位高中生的困惑:成绩好的学理科,成绩差的学文科?...
  17. 百度之星1005 序列变换(lis)
  18. 5-5 圆周率Java
  19. 实时股票数据接口 ZT
  20. 微众银行电话面试java_微众银行面试试题是什么?微众银行怎么面试的?

热门文章

  1. 灾难恢复级别_如何实施云计算灾难恢复
  2. matlab中添加0向量,如何把在matlab中把a=0:0.1:pi变成列向量啊?
  3. java类加载是什么意思_java 类加载机制有什么用
  4. redis的过期策略和淘汰策略
  5. 记录一次java项目上线部署
  6. 三阶魔方还原步骤图_(六)最简单的三阶魔方入门教程——顶面还原
  7. matlab中的histc,Matlab histc与矢量箱
  8. 突然吐字不清_突然口齿不清是什么病
  9. 如何测服务器网站带宽,windows服务器如何测试带宽速度?
  10. Python中的__name__和__main__含义详解