Linux fedora core 2 加入windows 2000/2003網域
Linux fedora core 2 side
[1.] install samba
[2.] vi /etc/samba/smb.conf
[global]
workgroup = 123 # 網域名稱
realm = 123.com # 完整網域名稱
server string = samba server-linux # linux samba主機描述
netbios name = linux samba host name # linux samba主機名稱
security = ads # 安全等級為ads,帳號認證交由ad
password server = windows2003.123.com # 指定密碼ad domain server
encrypt passwords = yes # 編碼方式傳遞密碼
[3.] vi /etc/hosts
10.10.10.123 windows2003.123.com windows2003
[4.] vi /etc/krb5.conf (如果沒有則安裝 krb5-server)
# AD是採kerberos認證機制,所以設定samba主機的kerberos與ad能溝通 ,注意大寫[libdefaults]
default_realm = WINDOWS2003.123.COM
[realms]
123.COM = {
kdc = WINDOWS2003.123.COM:88
admin_server = WINDOWS2003.123.COM:749
default_domain = 123.COM
[domain_realm]
.example.com = 123.COM
example.com = 123.COM
[5.] vi /var/Kerberos/krb5kdc/kdc.conf
[realm]
123.COM = {
..
.
[6.] 測試連線
install krb5-workstation
kinit [email protected]
(注意大寫),輸入密碼無誤後,跳回提示字元
[Q1:] kinit(v5) : cannot find KDC for requested realm while getting initial credentials
[A1:] 網域名稱沒有大寫
[Q2:] kinit(v5) : clock skew too great while getting initial credentials
[A2:] samba與windows2003系統時間相差不可超過5分鐘
[Q3:] kinit(v5) : preauthentication failed while getting initial credentials
[A3:] 管理者密碼不對
[10.] service smb restart
[11.] net ads join
加入網域,出現成功訊息為Joined ‘sambahost’ to realm ‘123.com’,
此時可在windows2003 server上的AD使用者及電腦上的computers看到sambahost的名稱
讓Linux認證windows AD網域帳號
[1.] apt-get install samba
已包含winbind,winbind 即用來做Linux認證 windows 的AD
[2.] 檢查nss library
ldconfig –v | grep winbind
顯示 libnss_winbind.so -> libnss_winbind.so.2
[3.] vi /etc/nsswitch.conf
passwd: files winbind
group: files winbind
[4.] vi /etc/samba/smb.conf
[global]
idmap uid = 10000-20000
idmap gid = 10000-20000 #設定ad網域帳號的uid、gid使用範圍
winbind separator = + #網域與帳號之間分隔符號,預設為‘ ‘
winbind use default domain = yes #不顯示網域名稱
template homedir = /home/winnt/%D/%U #使用者家目錄,D->domain,U->user
template shell = /bin/bash
[5.] service winbind restart
[6.] 取得AD帳號,執行 wbinfo -u
[7.] 取得本機與ad的帳號,執行getent passwd
[8.] net ads info
[9.] net ads status -U Administrator%123456
[10.] 解決本機與winbind分配給ad的uid與gid可能相衝的問題,把本機的uid與gid限制在9999之內
vi /etc/login.defs
UID_MAX 9999
GID_MAX 9999
Linux 中各種服務的帳號整合
[1.] 確定winbind library,執行 locate /pam_ |egrep ‘.so$’
/lib/security/pam_winbind.so
[2.] 建立使用者家目錄的scripts,用來存取AD上的帳號,進而於linux上建立家目錄
vi mk2003home.awk
#!/bin/awk
BEGIN {
FS=":"
uidmin=10000
uidmax=20000
}
{
if ( $3 >= uidmin && $3 <= uidmax ) {
print "
make directory " $6 "
chown " $3 "." $4 " " $6
system( "mkdir -p " $6 ";chown " $3 "." $4 " " $6 )
}
}
[3.] 執行方式
getent passwd | awk –f mk2003home.awk
[4.] vi /etc/pam.d/system-auth
# 加入
auth sufficient pam_winbind.so
account sufficient pam_winbind.so
password sufficient pam_winbind.so
session sufficient pam_winbind.so
注意:
當從console登入時,名稱是打上domainnameusername,再來是密碼。
或者在smb.conf設定檔中設定winbind use default domain = yes,那名稱就不需要加個domainname。
以下尚未測式
Apache認證網域使用者
[a.] 下載http://pam.sourceforge.net/mod_auth_pam/dist/mod_auth_pam-2.0-1.1.1.tar.gz
[b.] 編譯mod_auth_pam前先安裝httpd-devel,apr-devel,apr-util-devel三套件
[c.] tar zxvf xxx ; cd mod_auth_pam ; make ; make install
[d.] vi /etc/pam.d/httpd
(加入項目同上)
[e.] 讓apache 啟動時載入mod_auth_pam
vi /etc/httpd/conf/httpd.conf
# 加入
LoadModule auth_pam_module modules/mod_auth_pam.so
[f.] service httpd restart
[g.] 於需要認證的目錄內,此為使用網域的帳號來認證
vi .htaccess
AuthType Basic
AuthType “secure area”
Require valid-user
[h.] 允許使用.htaccess檔案認證使用者
vi /etc/httpd/conf/httpd.conf
AllowOverride AuthConfig (or All)
[i.] 使apache認證本機使用者
groupadd shadow_readers ; chgrp shadow_readers /etc/shadow ; chmod g+r /etc/shadow
vi /etc/httpd/conf/httpd.conf
Group shadow_readers
[j.] service httpd restart
[5.] Proxy(squid)認證AD
a. vi /etc/pam.d/squid
#%PAM-1.0
auth sufficient /lib/security/pam_winbind.so
auth required pam_stack.so service =system-auth
account sufficient /lib/security/pam_winbind.so
account required pam_stack.so service=system-auth
b. vi /etc/squid/squid.conf
# 加入
auth_parm basic program /usr/lib/squid/pam_auth
acl PASSWORD proxy_auth REQUIRED # 建立一名為PASSWORD的存取清單
# 必須通過密碼認證的使用者才能列入
# 此清單,並所有使用者皆需認證http_access allow PASSWORD #設定允許PASSWORD存取清單中的
# 使用者進行連線
c. squid認本機
groupadd shadow_readers ; chgrp shadow_readers /etc/shadow ; chmod g+r /etc/shadow
vi /etc/squid/squid.conf
# 加入
cache_effective_group shadow_readers
d. service squid restart
留言