Samba 3 與 MS AD 之初體驗
Samba 3 與 MS AD 之初體驗
參考文檔:http://ar.samba.org/samba/docs/man/domain-member.html
這個是比較詳細、權威的,一定要看的啊。
實現功能:Samba 登陸 MS AD 成為域成員
測試平台:RedHat AS 3 + W2K Server (均運行在Vmware workstation 4.06下)
涉及軟體:(均為 RedHat AS 3 下默認版本)
samba-client-3.0.0-14.3E
samba-common-3.0.0-14.3E
samba-3.0.0-14.3E
krb5-libs-1.2.7-19
krb5-workstation-1.2.7-19
文檔編寫:free2wind@hotmail.com 水平有限, 不到之處, 希望大家幫忙提高啊 : )
預備工作:
. MS AD 已經可以正常使用, 在AD添加用戶 admin (有管理員許可權)
. MS DNS 做好必要的解析
w2kserver.foo.com <--->; 192.168.0.33
. 安裝好必要的RPM包
假設環境如下:
Domain: foo.com
AD short name: AD
network: 192.168.0.0/24
dns: 192.168.0.33
OS: RedHat AS 3
Hostname: linux34.foo.com
IP: 192.168.0.34
Action: File server
OS: MS Win2k Server + SP4
Hostname: w2kserver.foo.com
IP:192.168.0.33
AD Administrator: admin
password: 123
Action: authentication server for user who want to login in File server (linux34.foo.com)
. 編輯 Samba 配置文件 smb.conf
# cd /etc/samba
# cp -a smb.conf smb.conf.orig
# vi /etc/samba/smb.conf
workgroup = MYGROUP
改為(MS AD伺服器的短名) ------>;
workgroup = AD
; hosts allow = 192.168.1. 192.168.2. 127.
改為 ------>; hosts allow= 192.168.0.
security = user
改為使用AD來認證用戶------>;
security = ADS
; password server = <NT-Server-Name>;
在這條下面添加如下2行------------>;
realm = FOO.COM
password server = w2kserver.foo.com
; encrypt passwords = yes
改為(去掉註釋符) ---------------->;
encrypt passwords = yes
上面只是實現登入 AD , 其它的共享項目, 可以按需自己加入
. 查看Samba的配置情況
# testparm (testparm 屬於包 samba-common-3.0.0-14.3E)
Load smb config files from /etc/samba/smb.conf
Processing section ""
Processing section ""
Loaded services file OK.
Server role: ROLE_DOMAIN_MEMBER
Press enter to see a dump of your service definitions
# Global parameters
workgroup = FOO.COM
realm = FOO.COM
server string = samba
security = ADS
password server = w2kserver.foo.com
log file = /var/log/samba/%m.log
max log size = 50
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
hosts allow = 192.168.0.
comment = Home Directories
read only = No
browseable = No
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
. 添加系統用戶及Samba用戶 admin , 該用戶admin應有管理MS AD 的許可權
# useradd -d /dev/null -s /bin/false admin
# passwd admin
. 添加Samba用戶
# smbpasswd -a admin (密碼為123)
# pdbedit -L (查看一下添加的用戶)
.
. 配置 /etc/krb5.conf, 屬於包krb5-libs-1.2.7-19
#cp -a /etc/krb5.conf /etc/krb5.conf.orig
#vi /etc/krb5.conf
# more /etc/krb5.conf.orig (默認 krb5.conf 如下)
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
ticket_lifetime = 24000
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
EXAMPLE.COM = {
kdc = kerberos.example.com:88
admin_server = kerberos.example.com:749
default_domain = example.com
}
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
profile = /var/kerberos/krb5kdc/kdc.conf
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
----------->;
更改所有的 "EXAMPLE.COM" 到 "FOO.COM"
更改所有的 "example.com" 到 "foo.com"
更改
kdc = kerberos.example.com:88
admin_server = kerberos.example.com:749
到
kdc =w2kserver.foo.com:88
admin_server = w2kserver.foo.com:749
. 初始化用戶 admin和密碼
# /usr/kerberos/bin/kinit admin@FOO.COM kinit 屬於包krb5-workstation-1.2.7-19
#
Samba 和 MS AD 的系統時間相差不大於5分鐘, 否則會出現下面的錯誤
kinit(v5): Clock skew too great while getting initial credentials
. 加入AD
# net ads join (net 屬於包 samba-client-3.0.0-14.3E)
Using short domain name -- AD
Joined 'LINUX34' to realm 'FOO.COM'
. 在 MS AD 中查看主機 LINUX34 已經加入到AD中
. Samba 做 PDC 的文檔正在擬寫中
《解決方案》
Samba 3 與 MS AD 之初體驗
既然要加入foo.com為什麼要:
password server = w2kserver.linux.org,這個linux.org域從那來的?不明白啊
《解決方案》
Samba 3 與 MS AD 之初體驗
不好意思嚴重錯誤,應該是
password server = w2kserver.foo.com
還有其它幾處錯誤,已更正了
是和另外一篇文檔搞混了,謝謝大家,看來我還是太馬虎了
《解決方案》
好東西,看了樓主的文章,我解決了krb5的問題,不過我又遇到一個新的。
我已經可以將運行samba3的linux添加到AD中了(在AD域控制器里可以看到機器名),但是在linux主機中卻看不到winbindd的進程,所以無法使用wbinfo -u來查詢AD的用戶信息,請問該如何安裝該線程?
《解決方案》
很好我正想找
《解決方案》
請問這樣可以么: 在windows的域裡面加入一個用戶,然後能夠在linux裡面自動加入這個用戶的id,也加入samba的id, WINDOWS的這個賬戶可以通過自己的賬戶 沒有任何提示的以自己的身份 進入samba的共享文件夾中!
我在做這方面的事情,但是一直沒有成功
《解決方案》
全部可以,登錄SSH都可以,只要設置好PAM,在google.com 在大把這類文章。
此文可 http://www.linuxmine.com/2866.html
《解決方案》
加入域時出問題
root@prtwx-t:~# net join -S bel-wx -U administrator
rpc_client/cli_netlogon.c:cli_nt_setup_creds(360)
cli_nt_setup_creds: request challenge failed
Password:
rpc_client/cli_netlogon.c:cli_nt_setup_creds(360)
cli_nt_setup_creds: request challenge failed
utils/net_rpc_join.c:net_rpc_join_newstyle(318)
Error domain join verification (reused connection): NT_STATUS_INVALID_COMPUTER_NAME
Unable to join domain BEL-WX.
root@prtwx-t:~# net join -W bdc-belwx -U adminstrator
Password:
Joined domain BEL-WX.
為什麼我不可能通過參數-S來加入域(上面域名肯定是正確的,不過沒有反綴加上.)
《解決方案》
這樣的話只有Admin用戶可以直接訪問到LINUX,其它用戶不能吧?是不是要在LINUX下再做一個和AD相同的賬號!
《解決方案》
問題多多,如果能有個專門討論的Q 群就好了