Fedora Core Samba3.0轻松搞定PDC域服务器

  在samba2.2版本已经能非常好的支持samba做PDC(主域控制器),只不过到了3.0对域的支持更加好,到现在为止最新的版本3.0,已经支持AD,并且支持Microsoft Kerberos 认证、完全重写和可配置的认证子系统等新功能。
  
  好了,我们来开始今天的任务,我们今天只是实现简单的域控制器PDC的建立,至于他支持的AD和Kerberos等功能大家慢慢的自己去研究,我也不是很懂哦:)
  
  1。安装samba,这个很简单了,如果你是fedora,就可以从光盘直接安装samba的rpm包。
  
  rpm -ivh samba-3.0.0-15.i386.rpm
  
  大家也可以直接到samba的官方网站(http://www.samba.org)去下载最新的软件包
  
  或者下载最新的tar包,http://us1.samba.org/samba/ftp/samba-3.0.0.tar.gz
  
  那就最好按下面的方法编译
  
  tar zvxf samba-3.0.0.tar.gz
  
  cd samba-3.0.0
  
  ./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
  
  make
  
  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 = \\%L\profiles\%U
  logon script = netlogon.bat
  
  #以上是漫游设置和登录脚本,logon path = \\%L\profiles\%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用户可以有权限。
  
  接着是将用户和机器帐户添加到域控制器。
  
  先建立创建了下列各组以及创建两个必要目录,并设置正确的所有权。
  
  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* %n\n *Retype*new*UNIX*password* %n\n *Enter*new*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n *passwd: *all*authentication*tokens*updated*successfully*
  
  #上述语句中唯一值得一提的是 passwd chat 选项,不管这里如何显示它,都要将它输入成一行。还要注意有些选项使用“password”,而有些使用“passwd”。
  
  Samba PDC 的配置就这样完成了。剩下唯一要做的是将客户机加入到域中。记得重启samba服务哦!
  
  客户端的设置,这里由于条件的限制,我只试验了windows2000客户端加入域,至于winxp和win98的加入大家自己去试验。
  
  (win200机器最好先重启一下,可以避免一些不必要的问题)然后转至 控制面板 -> 网络-> 网络标示,如果机器目前被配置在 工作组 选项下,那么选中 域 单选按钮并输入域名bmit。
  
  现在,通过使用用户名 root 和相应的密码登录到域。必需初始化服务器和客户机机器之间的“秘密”。从此时起,任何已认证的用户都可以从这台机器登录。
  
  应该出现一个欢迎您来到 XX域的消息
  
  恭喜你已经成功将samba配置成PDC
  
  据说xp加入samba建立的域有点复杂,我没试验过,大家有兴趣的话,最好去samba的老家看看文档,好像是要设置安全选项,并修改注册表,好麻烦哦,幸亏我没有xp。