Linux加 NT ADS的过程

1、配置网络。

先把IP地址、DNS、网关等配置好。

2、配置Kerberos。

配置/etc/krb5.conf,把其中所有的example.com改成自己的域名,注意大写的地方要大写,小写的地方要小写。配置完成后与ADS时间同步一下(听说误差不能大于5分钟)。然后执行kinit Administrator@EXAMPLE.COM 执行验证(注意域名要大写),如果正确的话输入口令无提示退出。

3、配置samba。

下边是我的smb.conf摘录。

[global]
          dns proxy = no
          log file = /var/log/samba/%m.log
          netbios name = aaaa
          display charset = cp936
          cups options = raw
          netbios aliases = aaaa
          server string = aaaa
          wins server = 10.10.10.10
          dos charset = cp936
          guest ok = yes
          workgroup = AAA                                                   #注意大小写
          password server = SERVER.AAA.BBB.CCC          #注意大小写
          realm = AAA.BBB.CCC                                          #注意大小写
          domain logons = no
          encrypt passwords = yes
          os level = 20
          security = ads
          unix charset = cp936
          max log size = 50
#用户和组ID映射参数
          idmap uid = 10000-20000
          idmap gid = 10000-20000
#Winbind 参数
          winbind separator = %
          winbind uid = 10000-20000
          winbind gid = 10000-20000
          winbind enum users = yes
          winbind enum groups = yes
          obey pam restrictions = yes
          winbind use default domain = true
          template shell = /bin/bash
          template homedir = /home/%D/%U        #/home/%D需要手工建立


修改/etc/pam.d/下的以下文件
确保login中有以下几行:
auth         include        system-auth
session      include        system-auth
account      include        system-auth
password     include        system-auth
我的system-auth内容如下:
auth          required        pam_env.so
auth          sufficient      pam_unix.so nullok try_first_pass
auth          requisite       pam_succeed_if.so uid >= 500 quiet
auth          sufficient      pam_smb_auth.so use_first_pass nolocal
auth          sufficient      pam_winbind.so use_first_pass
auth          required        pam_deny.so

account       required        pam_unix.so broken_shadow
account       sufficient      pam_succeed_if.so uid < 500 quiet
account       [default=bad success=ok user_unknown=ignore] pam_winbind.so
account       required        pam_permit.so

password      requisite       pam_cracklib.so try_first_pass retry=3
password      sufficient      pam_unix.so md5 shadow nullok try_first_pass use_authtok
password      sufficient      pam_winbind.so use_authtok
password      required        pam_deny.so

session       required        pam_mkhomedir.so skel=/etc/skel umask=0077
session       optional        pam_keyinit.so revoke
session       required        pam_limits.so
session       [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session       required        pam_unix.so

在samba中加入:
session      required       pam_mkhomedir.so skel=/etc/skel umask=0077


配置完成后重新smb、winbind、nscd服务:
service smb restart
service winbind restart
service nscd restart

然后执行 net ads join 和net rpc join加入域中。执行wbinfo -u检查能否从域中获取用户信息;执行wbinfo -g检查能否从域中获取工作组信息。

注:在以上的配置中,samba会为每个用户建立自己的home目录。