對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 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域(一) - 梦想开始的地方 - 博客园