1、配置rhel5的网络配置如下:
Ip:192.168.1.206/24 gateway:192.168.1.1 dns1:192.168.1.14 dns2:192.168.1.1
Hostname:linux.server
Windows 2003配置如下:
Ip:192.168.1.14 gateway:192.168.1.1 dns1:192.168.1.14 dns2:192.168.1.1
FQDN:exchange.test.cn
2、同步系统时间
# ntpdate 192.168.1.14
21 Dec 14:37:21 ntpdate[2092]: step time server 192.168.1.14 offset 26559.559314 sec
如果不同步到域控制的时间,在加入域时会出错,默认情况下,时间差不能大于5分钟。
3、修改/etc/krb5.conf
#vi /etc/krb5.conf
将其中的example.com替换为TEST.CN最后结果如下
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = TEST.CN
 dns_lookup_realm = false
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 forwardable = yes

[realms]
 TEST.CN = {
  kdc = 192.168.1.14:88
#  admin_server = kerberos.example.com:749
  default_domain = TEST.CN
 }

[domain_realm]
 .test.cn = TEST.CN
 test.cn = TEST.CN

[kdc]
 profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }
4、测试配置是否成功
# kinit administrator@TEST.CN
回车,输入密码,回车。如果没有任何提示信息,则表明配置信息修改成功。这里的administrator@TEST.CN即windows 2003域管理员用户
5、修改samba配置文件/etc/samba/smb.conf
#vi /etc/samba/smb.conf
修改成如下内容
[global]
        workgroup = TEST
        realm = TEST.CN
        security = ADS
        password server = 192.168.1.14
        interfaces = 127.0.0.1 eth0
        bind interfaces only = true
        printing = cups
        printcap name = cups
                       load printers = yes
6、保存修改后,启动samba服务
#service smb start
启动成功信息如下
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
7、重复步骤4看现在是否正常,经过测试一切正常(即运行kinit administrator@TEST.CN后,输入密码回车,无任何返回信息)
8、加入windows2003域
#net ads join -UAdministrator
回车,提示输入密码,输入密码,回车,等待……,加入成功后提示
Joined 'LINUX' to realm 'TEST.CN'
如果运行上面的命令有错误提示,可以再运行以下命令
#net rpc join -S exchange.test.cn -U administrator
回车,提示输入密码,输入密码,回车。提示Joined domain TEST.
9、到windows 2003系统,运行dsa.msc打开“活动目录用户和计算机”,依次展开test.cncomputers,看到一个名叫linux的计算机。
10、到此为止,仅仅是加入域成功,还有要将域的用户同步到samba中来,这时要用到winbind,winbind是samba的一个组件,它在UNIX上实现了微软的RPC调用、可插式验证模块和名字服务切换,通过这些功能可以使windows域用户能在UNIX主机上以UNIX用户身份进行操作。
11、再次编辑/etc/samba/smb.conf,增加如下内容
#winbind
        idmap uid = 10000 - 20000
        idmap gid = 10000 - 20000
        template shell = /sbin/nologin
        template homedir = /home/%D/%U
        winbind separator = @
        winbind use default domain = yes
        winbind enum users = yes
        winbind enum groups = yes
        encrypt passwords = yes
[home]
         path = /home/%D/%U
         browsable = no
         writable = yes
         create mask = 0664
                       directory mask = 0775
这里的%D=test.cn %U=windows2003域用户
12、还需要编辑/etc/nsswitch.conf,这个文件的作用是告诉系统到哪里寻找各种信息(主机地址、用户密码和网络协议等)
#vi /etc/nsswitch.conf
修改如下内容
passwd:    files   winbind
shadow:    files   winbind
group:       files   winbind
主要是增加winbind信任。
13、由于用windows域用于登陆linux不会直接创建用户的home目录,首先我们需要创建用户home目录的上级目录即%D对应的目录
#mkdir /home/TEST
#chmod -R 777 /home/TEST
再调用pam认证模块的mkdir功能来自动创建用户home目录,只有当用户登陆到linux时才会创建。
14、编辑/etc/pam.d/system-auth
#vi /etc/pam.d/system-auth
修改后内容如下
auth        required      /lib/security/pam_env.so
auth        sufficient    /lib/security/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/pam_winbind.so use_first_pass
auth        required      /lib/security/pam_deny.so

account     required      /lib/security/pam_unix.so broken_shadow
account     [default=bad success=ok user_unknown=ignore] /lib/security/pam_winbind.so
account     required     /lib/security/pam_permit.so

password    required      /lib/security/pam_cracklib.so retry=3
password    sufficient    /lib/security/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/pam_winbind.so use_authok
password    required      /lib/security/pam_deny.so

session     required      /lib/security/pam_limits.so
session     required      /lib/security/pam_unix.so
15、启动samba和winbind
#service smb start
#service winbind start
#winbindd
注意如果winbindd进程没有运行,即使运行了service winbind start,后面运行wbinfo –t会收到
checking the trust secret via RPC calls failed
error code was (0x0)
 Could not check secret
运行wbinfo -u就会收到以下错误信息
Error looking up domain users

16、运行wbinfo –t查看winbind是否和windows域建立信任和wbinfo –u查看域用户是否同步到本地
#wbinfo –t
返回
checking the trust secret via RPC calls succeeded
#wbinfo –u
返回
administrator
guest
support_388945a0
krbtgt
exchange_install
user01
user02
user03
iusr_exchange
iwam_exchange
mkt01
meeting
device
liaona
到此说明一切顺利。
17、修改/etc/pam.d/sshd
修改后内容如下
#%PAM-1.0
auth       sufficient   /lib/security/pam_winbind.so
auth       required     /lib/security/pam_stack.so service=system-auth
auth       required     /lib/security/pam_nologin.so
account    sufficient   /lib/security/pam_winbind.so
account    required     /lib/security/pam_stack.so service=system-auth
password   required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_stack.so service=system-auth
session    required     /lib/security/pam_limits.so
session    required     /lib/security/pam_mkhomedir.so
               session    optional     /lib/security/pam_console.so

18、测试用ssh登陆到linux系统前,我们先要修改/etc/samba/smb.conf,因为前面我们配置winbind时,其中有一句“template shell = /sbin/nologin”,这样我们用域用户登陆时会出现一登陆就自动退出,将其修改为“template shell = /bin/bash”,然后重新启动samba和winbind服务
#service smb restart
#service winbind restart
在windows下用免费的远程登陆工具putty登陆。
Login as:administrator  (提示输入用户名时,输入windows 2003域管理员名),回车
administrator@192.168.1.206's password:admin(输入administrator的密码),回车
[administrator@linux ~]$顺利进入系统,输入pwd查看当前目录,结果如下
/home/TEST/administrator
19、查看是否自动创建用户home目录
#ls /home
total 24
drwxr-xr-x 2 administrator domain users 4096 Dec 24 10:00 administrator
说明目录已经自动创建好。
20、找一台已经加入windows 2003域的windows xp计算机,点击开始运行输入\\192.168.1.206,回车,顺利返回,因为我们还没有设置共享目录只在smb.conf中设置了共享打印机,所以只返回了[打印机和传真]。
21、查看linux主机名是否象windows系统加入域后会被自动修改。
#hostanme
Linux.server
说明即使加入windows域后,linux主机名也不会被修改。
22、测试普通域用户是否也能ssh登陆
Login as:user03(user03是windows 2003域里一个属于Domain users组的用户)
user03@192.168.1.206's password:user03(输入user03的密码)
回车后,提示如下内容
Your password has expired
Last login: Mon Dec 24 10:16:05 2007 from huangyongbing.test.cn
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user user03.
passwd: Authentication token manipulation error
到windows 2003系统上,点击开始运行输入dsa.msc打开活动目录用户和计算机,找到user03这个用户双击切换到“账户”标签将“密码永不过期”钩选上确定。再用user03进行登陆就可以了。
23、设置共享目录,这里将/var/log目录共享出来。编辑/etc/samba/smb.conf,在文件的最后增加如下内容
[log]
comment =  log file
path = /var/log
read only = yes
               public = yes
将共享权限设置为只度,所有人都可以访问。
24、到windows xp计算机上刷新\\192.168.1.206,出现目录“log”和“打印机和传真”,双击log,进入,能看到内容,说明共享设置成功。
25、至此,linux加入域任务完成,顺便提供适宜rhel5的samba最新版本及相关软件的下载地址:http://ftp.sernet.de/pub/samba/recent/rhel/5/i386/

文章如转载,请注明转载自:http://www.5iadmin.com/post/551.html