linux加入windows域之完美方案

       笔者这几天在研究samba服务经过ad域进行用户验证。在查资料的过程当中发现。关于linux加入windows域,网上资料很多,可是按着网上的说法作大多不成功,甚至不少人估计都不知道本身在说什么,最后一个net ads join就认为已经成功加入到域了,但是而后呢?做为域内的一个成员,普通的机器要能够提供域内的用户登录;做为samba服务要把共享加入到目录中,这样才起到加入域的做用嘛。笔者通过反复实验,终于把linux加入到windows域一些细节记录下来,不敢独享,特拿出。
       笔者用的linuxcentos5.3ad域为win2k3 sp2。域为:Rainbird.net
Win2k3:
       Name:ad1
       Ip:192.168.1.241
       Dns:192.168.1.241
Centos5.3:
Name:Filesrv
Ip:192.168.1.246
Dns:192.168.1.241
Ok,let’s go!
1.samba服务器软件需求
krb5-workstation- 1.2.7 -19
pam_krb5-1.70-1
krb5-devel-1.2.7-19
krb5-libs-1.2.7-19
samba-3.0.5-2
[root@filesrv CentOS]# rpm -qa|grep krb5
krb5-auth-dialog-0.7-1
krb5-libs- 1.6.1 -25.el5
krb5-devel- 1.6.1 -25.el5
pam_krb5- 2.2.14 -1
krb5-workstation- 1.6.1 -25.el5
[root@filesrv CentOS]# rpm -qa|grep samba
samba-swat- 3.0.28 -0.el5.8
samba-common- 3.0.28 -0.el5.8
samba-client- 3.0.28 -0.el5.8
samba- 3.0.28 -0.el5.8
 
若是centos在安装的时候没有取消默认选中的”Base”,krb5的包是默认所有安装
若是没有选择安装samba能够这样安装
[root@filesrv CentOS]# rpm -ivh xinetd- 2.3.14 -10.el5.i386.rpm
[root@filesrv CentOS]# rpm -ivh --aid samba*.rpm
2.配置kerberossamba
由于笔者用的系统为centos因此为保证一次成功的准确率,这里就使用字符界面下的图形工具来配置了。
运行setup工具
认证配置
 
选择:
“use winbind”
“use kerberos”
“use winbind authertication”
删除admin server 其他的改为真实状况
Realm为域名,KDC为域服务器的ip
配置winbind
Domain为你的域的,左面第一个”.”前面的东东
 
选择”join domain”,提示是否先保存配置信息,确定是yes了。
嘿嘿,看到这个画面是否是想到了xp机器加入到域的情景?没错就是那个!输入ad域的管理员密码吧J
不出意外的话,你就到达了最后一个界面,确定ok,而后退出了。
通常来讲,只要两台机器的时间上下不差五分钟,且项都配置正确的话,你就会看到下面这个图片。看到这个图片说明你的linux成功加入到ad域啦!
OK,用图形的好处就是方便快捷,可是这样只适合rh系统。别的linux系统咋办呢?别急。这个工具其实就是编辑如下三个配置文件:
/etc/nsswitch.conf
passwd:     files winbind(就是先读files 而后再经过winbind认证)
shadow:     files winbind
group:      files winbind
/etc/krb5.conf
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
 
[libdefaults]
 default_realm = RAINBIRD.NET(默认的域名)
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 forwardable = yes
 
[realms]
 EXAMPLE.COM = {
  kdc = kerberos.example.com:88
  admin_server = kerberos.example.com:749
  default_domain = example.com
 }
 
 RAINBIRD.NET = {
  kdc = 192.168.1.241:88(域服务器)
  kdc = 192.168.1.241
 }
 
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
 
 rainbird.net = RAINBIRD.NET
 .rainbird.net = RAINBIRD.NET
[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }
/etc/samba/smb.conf
   workgroup = RAINBIRD//域名
   password server = 192.168.1.241//域服务器
   realm = RAINBIRD.NET
   security = ads//必须启用
   idmap uid = 16777216-33554431
   idmap gid = 16777216-33554431
   template shell = /bin/bash
   winbind use default domain = false (改为true)
   winbind offline logon = false(改为true)
template homedir = /home/%U
   winbind separator = /
   winbind enum users = Yes
   winbind enum groups = Yes
红色部分就是工具自动修改的了,可是smb.conf修改的不完全,还不能知足咱们的要求,怎么办呢?手动把蓝色部分加上,并把那两个false改为ture,而后设置samba的开机自动启动chkconfig smb on,service smb on启动服务,而后就是手工把linux加入到windows了
[root@filesrv ~]# net ads join -U administrator@RAINBIRD.NET
administrator@RAINBIRD.NET's password:
The workgroup in /etc/samba/smb.conf does not match the short
domain name obtained from the server.
Using the name [RAINBIRD] from the server.
You should set "workgroup = RAINBIRD" in /etc/samba/smb.conf.
Using short domain name -- RAINBIRD
Joined 'FILESRV' to realm 'RAINBIRD.NET'
提示“Joined”哟,不是这个提示就是有问题,再仔细检查。
OK,重启linux,这时候用一个域用户登录linux若是提示用户或密码验证失败,说明你重启以前的东西没配置对。仔细检查一下哪里不对呢?
若是提示以下,那么恭喜你,能够继续下一个话题了。
3.自动建立用户目录.
用到的文件pam_mkhomedir.so
/etc/pam.d/sysconf-auth文件中的sesson部分添加一行
session     required      pam_mkhomedir.so silent skel=/etc/skel umask=0077
silent不打印建立目录信息
skel 告诉pam_mkhomedir.so拷贝/etc/skel里的文件到新建立的目录里.
umask 是建立的目录的权限
建立哪一个目录是在smb.conf里的template homedir定义的
如图:
保存退出,重启一下X-window。再次用域用户登录,是否是成功看到了久违的linux桌面呢?
 
Ok,到此为止,linux加入windows的故事就讲完了。而samba服务器经过ad域认证并实现每一个用户500M的共享空间,且当用户登录windows域的时候自动挂载已经成型,近期放出,敬请期待。
 
 
相关文章:
相关文章
相关标签/搜索