對這文章發表回應
發表限制: 非會員 可以發表
整理:debian 下samba用windows 2003 AD進行身份驗證成功
關鍵字: samba ad參考:http://bbs2.chinaunix.net/thread-968948-1-1.html
前幾天使用ubuntu 8.04配置不成功,後來安裝了debian,配置成功了。方法如下:
按照上面的參考文檔我使用了第二種方法,也就是使用winbind。
1.實現環境
Debian 4.2+Samba 3.0 + Krb5
2.軟件包安裝
Samba及Krb5都是用新立得安裝
3.Kerberos配置
Win2003系統默認通過Kerberos做身份驗證,Kerberos驗證需要安裝Krb5軟件包。配置文件及測試都很簡單。Krb5的配置文件為/etc/krb5.conf,配置如下
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = TEST.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
TEST.COM = {
kdc = dc.test.com:88
admin_server = dc.test.com:749
default_domain = TEST.COM
}
[domain_realm]
.test.com = TEST.COM
test.com = TEST.COM
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
4.SAMBA配置
[global]:
workgroup = TEST
netbios name = debian
server string = Samba &ADS Test Server
security = domain
password server = dc.test.com
preferred master = no
domain master = no
domain logons = no
log file = /var/log/samba.log
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum groups = no
winbind enum users = no
註:此二行表示為是否在linux下添加AD帳號,只有加了此二行,在使用getent passwd和gentent group才能顯示AD上面的帳號和組
winbind separator = /
winbind use default domain = yes
template homedir = /home/test/%U 註:此處可以自己設定在/home/%D/%U
template shell = /bin/bash
[homes]
comment = User's Home Directories
path = /home/test/%U 和上面 template homedir的值一樣
browseable = no
valid users = %U
特別注意:此二處為一定要是%U,而不能使用%S ,%U 需要的客戶端用戶名即登錄用戶名,而%S是 當前共享名
writable = yes
[A組]
comment = Group A
path = /usr/keynetsamba/a
browseable = yes
vaild users = @gpa
writable = yes
create mode = 755
directory mode = 0755
[B組]
comment = Group B
path = /usr/keynetsamba/b
browseable = yes
vaild users = @gpb
writable = yes
create mode = 755
directory mode = 0755
這些設置的一個簡單的說明如下:
- idmap uid - 指定一個uid範圍,該範圍內的uid被用來映射UNIX用戶到windows用戶SID,而且要確保這個id範圍內沒有被本地或者NIS用戶佔用,winbind啟動以後,也不能在該ID範圍內添加用戶。
- idmap gid - 指定一個gid範圍,該範圍內的gid被用來映射UNIX用戶到windows的組SID,而且要確保這個id範圍內沒有被本地或者NIS組佔用,winbind啟動以後,也不能在該ID範圍內添加新組。
- winbind separator - 指定一個字符作為分隔符,winbind將使用該分隔符來用戶或組名。使用該配置將使得域用戶表示為 "MYDOMAIN+username",域組被表示為"MYDOMAIN+Domain Users"
- winbind enum groups和winbind enum users - 指定winbind是否在系統上創建域的組/用戶,一般情況下都要設置為yes,除非你處於某種原因希望關閉該功能。
- template homedir - 用來指定為域用戶產生主目錄。上面的示例中使用了變量替換,將使得winbind把用戶主目錄設置為/home/MYDOMAIN/username。
需要注意的是如果希望特定域或者所有域用戶在samba目錄有主目錄,那麼管理員必須手工創建,雖然template homedir控制samba在哪裡尋找域用戶的主目錄,但是不會自動創建,所以要自己手動創建,並設定權限。
5. 配製NSS
Nss為Name Service Switch,控制帳號的驗證修改/etc/nsswitch.conf文件,這樣winbind能實現使用域上的用戶,內容如下:
passwd: files winbind
group: files winbind
shadow: files winbind
hosts: files dns wins
bootparams:nisplus [NOTFOUND=retum] files
protocols: db files
services: files
ethers: db files
rpc: files
networks: files dns
netmasks: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus
6.重啟samba與winbind服務
sudo /etc/init.d/samba restart
sudo /etc/init.d/winbind restart
7.將debian加入2003域
net rpc join -S dc.test.com -U administrator
如果遇到錯誤提示類似為: Failed to open /var/lib/samba/secrets.tdb
請執行:sudo chmod 777 /var/lib/samba/secrets.tdb
8. 確認Samba主機帳號在AD中正確註冊
wbinfo –t
checking the trust secret via RPC calls succeeded
說明主機信任已成功建立
使用wbinfo -u列出AD中註冊的帳號信息。Wbinfo –g可以返回AD中的組信息。
此時可以使用windows客戶端來訪問samba服務器了。
註:如果samba服務器上安裝有iptables服務,而且filter鏈裡的INPU 為DROP,請打開以下端口,方能正常使用samba服務:
TCP: 139,445
UDP:137,138
TCP:88(此為krb5驗證端口)
歡迎大家和我一起探討l!!!!
QQ:232565592
新問題:如何實現對用戶進行quota
原文出處:整理:debian 下samba用windows 2003 AD進行身份驗證成功 - 整理,轉載,方便個人查閱 - JavaEye技術網站