對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2010/6/3 15:33:50
	使用samba將linux主機加入AD域(一)研究了2個星期的一點小成,寫出來供大家分享。所有功能都在as3下調試通過。為了圖方便,as3採用默認安裝。
在研究中經常看到下面這些東東,還是先瞭解下理論依據
PDC:主域控制器,一般用來做驗證
BDC:備份域控制器,一般用於和主域做同步帳號等操作
KDC:密鑰分發中心,說白了,就是kerbrose服務器。這個需要對kerbrose有一定的瞭解,這裡不多說了
PAM:可插拔認證模塊,這玩意就是使用不同的驗證方法來驗證你所需要的服務,比如sshd,login,ftp等。這些服務都對應一個配置文件,這個配置文件位於/etc/pam.d/下。而支持這些驗證的動態庫位於/lib/security/下。
SRV:服務器定位資源記錄,要使活動目錄正常工作,DNS必須支持SRV。活動目錄客戶端和域控制器使用SRV記錄決定域控制器的ip地址,具體請參見http://www.cnblogs.com/LCX/archive/2007/02/05/640843.html
下面言歸正傳,介紹如何將samba服務器加入到AD域中
(1)配置/etc/samba/smb.conf
(2)配置/etc/nsswitch.conf
(3)啟用samba和winbind服務。
(4)使用net加入AD域
(5)測試是否加入成功
(5) 現在可以到ad機器上的活動目錄中可以看到該機器了
接下來介紹加入AD域後的一個簡單應用,要不就不知道這樣加有啥子用了。既然samba服務器已經加入AD域中,那自然會想到,window域中的本地帳號是否能訪問linux機器呢?答案是肯定的。這就是winbind的作用了,當window域中的本地帳號需要登錄linux主機時,winbind服務去ad服務器去驗證該帳號是否合法,而不是到linux本地的/etc/passwd中去驗證,當然如果要用不同的驗證方式,就可以用pam去進行複雜的設定.
(1)確保/etc/samba/smb.conf中配置了passwd server選項,這個折磨過我2天,一定要切記
(2)配置system-auth
(3)配置sshd,使用ad帳號登錄時,自動創建/home/LIZL/ad帳號目錄
(4)順便配置下samba這個pam
好了,接下來享受下用ad帳號登錄linux主機的快樂吧。。如果要結合samba控制目錄訪問等權限的話,繼續努力研究samba吧。。。
原文出處:使用samba将linux主机加入AD域(一) - 梦想开始的地方 - 博客园
在研究中經常看到下面這些東東,還是先瞭解下理論依據
PDC:主域控制器,一般用來做驗證
BDC:備份域控制器,一般用於和主域做同步帳號等操作
KDC:密鑰分發中心,說白了,就是kerbrose服務器。這個需要對kerbrose有一定的瞭解,這裡不多說了
PAM:可插拔認證模塊,這玩意就是使用不同的驗證方法來驗證你所需要的服務,比如sshd,login,ftp等。這些服務都對應一個配置文件,這個配置文件位於/etc/pam.d/下。而支持這些驗證的動態庫位於/lib/security/下。
SRV:服務器定位資源記錄,要使活動目錄正常工作,DNS必須支持SRV。活動目錄客戶端和域控制器使用SRV記錄決定域控制器的ip地址,具體請參見http://www.cnblogs.com/LCX/archive/2007/02/05/640843.html
下面言歸正傳,介紹如何將samba服務器加入到AD域中
(1)配置/etc/samba/smb.conf
workgroup = LIZL # 你要加入的域,比如你AD上建的域叫LIZL.COM,這裡只需省略填入即可
# winbind
   netbios name = leeldap        #你的linux機器名,samba服務器
   idmap uid    = 15000-20000
   idmap gid    = 15000-20000
   winbind enum groups = yes
   winbind enum users  = yes
   winbind separator   = /
;  winbind use default domain = yes
   template homedir = /home/%D/%U
   template shell   = /bin/bash
   security = domain
   password server = 192.168.115.128 #這裡是你的安裝ad的機器的ip
   encrypt passwords = yes
    hosts allow = 192.168.1. 192.168.2. 127. 192.168.115.
[homes]
   comment = Home Directories
   path = /home/%D/%U
   browseable = no
   writable = yes
   valid users = %D/%U    #這裡記得把域名帶上,否則你用ad帳號訪問samba服務器時輸入正確的ad帳號和密碼仍然不能訪問共享目錄
   create mode = 0777
   directory mode = 0777(2)配置/etc/nsswitch.conf
passwd:     files winbind
shadow:     files
group:      files winbind
(3)啟用samba和winbind服務。
 service smb reload   #加這一句是用來解決有時候samba啟動不了的問題
  service smb start
  service winbind start
(4)使用net加入AD域
[root@leeldap pam.d]# net rpc join -S lee -U administrator
Password:
Joined domain LIZL.
(5)測試是否加入成功
[root@leeldap pam.d]# net rpc testjoin
Join to 'LIZL' is OK
[root@leeldap pam.d]# wbinfo -t
checking the trust secret via RPC calls succeeded
[root@leeldap pam.d]# wbinfo -u
LIZL/Administrator
LIZL/brown
LIZL/bruce
LIZL/Guest
LIZL/jet
LIZL/krbtgt
LIZL/lee
LIZL/lili
LIZL/lizl
LIZL/samba
LIZL/SUPPORT_388945a0
LIZL/test
[root@leeldap pam.d]# wbinfo -g
BUILTIN/System Operators
BUILTIN/Replicators
BUILTIN/Guests
BUILTIN/Power Users
BUILTIN/Print Operators
BUILTIN/Administrators
BUILTIN/Account Operators
BUILTIN/Backup Operators
BUILTIN/Users
[root@leeldap pam.d]# getent passwd
root:x:0:0:root:/root:/bin/bash
。。。。。。。
LIZL/administrator:x:15000:15000::/home/LIZL/administrator:/bin/bash
LIZL/brown:x:15001:15000:Brown Lee:/home/LIZL/brown:/bin/bash
LIZL/bruce:x:15002:15000:Bruce Lee:/home/LIZL/bruce:/bin/bash
LIZL/guest:x:15003:15000::/home/LIZL/guest:/bin/bash
LIZL/jet:x:15004:15000:Jet Chen:/home/LIZL/jet:/bin/bash
LIZL/krbtgt:x:15005:15000::/home/LIZL/krbtgt:/bin/bash
LIZL/lee:x:15006:15000:Jackie Lee:/home/LIZL/lee:/bin/bash
LIZL/lili:x:15007:15000:lily:/home/LIZL/lili:/bin/bash
LIZL/lizl:x:15008:15000:lizhili:/home/LIZL/lizl:/bin/bash
LIZL/samba:x:15013:15000:samba:/home/LIZL/samba:/bin/bash
LIZL/support_388945a0:x:15009:15000:CN=Microsoft Corporation,L=Redmond,S=Washington,C=US:/home/LIZL/support_388945a0:/bin/bash
LIZL/test:x:15014:15000:test:/home/LIZL/test:/bin/bash
[root@leeldap pam.d]# getent group
root:x:0:root
。。。。。
BUILTIN/System Operators:x:15009:
BUILTIN/Replicators:x:15010:
BUILTIN/Guests:x:15011:
BUILTIN/Power Users:x:15012:
BUILTIN/Print Operators:x:15013:
BUILTIN/Administrators:x:15014:
BUILTIN/Account Operators:x:15015:
BUILTIN/Backup Operators:x:15016:
BUILTIN/Users:x:15017:
(5) 現在可以到ad機器上的活動目錄中可以看到該機器了
接下來介紹加入AD域後的一個簡單應用,要不就不知道這樣加有啥子用了。既然samba服務器已經加入AD域中,那自然會想到,window域中的本地帳號是否能訪問linux機器呢?答案是肯定的。這就是winbind的作用了,當window域中的本地帳號需要登錄linux主機時,winbind服務去ad服務器去驗證該帳號是否合法,而不是到linux本地的/etc/passwd中去驗證,當然如果要用不同的驗證方式,就可以用pam去進行複雜的設定.
(1)確保/etc/samba/smb.conf中配置了passwd server選項,這個折磨過我2天,一定要切記
(2)配置system-auth
auth        required      /lib/security/$ISA/pam_env.so
auth        sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok
auth        sufficient    /lib/security/$ISA/pam_winbind.so use_first_pass
auth        required      /lib/security/$ISA/pam_deny.so
account     required      /lib/security/$ISA/pam_unix.so broken_shadow
account     [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_winbind.so
account     required     /lib/security/$ISA/pam_permit.so
password    required      /lib/security/$ISA/pam_cracklib.so retry=3
password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password    sufficient    /lib/security/$ISA/pam_winbind.so use_authok
password    required      /lib/security/$ISA/pam_deny.so
session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so
(3)配置sshd,使用ad帳號登錄時,自動創建/home/LIZL/ad帳號目錄
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
(4)順便配置下samba這個pam
#auth       required    pam_nologin.so
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
#session    required    pam_stack.so service=system-auth
#session    required     pam_mkhomedir.so skel=/etc/skel umask=0022
#password   required    pam_stack.so service=system-auth
好了,接下來享受下用ad帳號登錄linux主機的快樂吧。。如果要結合samba控制目錄訪問等權限的話,繼續努力研究samba吧。。。
原文出處:使用samba将linux主机加入AD域(一) - 梦想开始的地方 - 博客园
 
			
