爲用戶提早創建好OU,是爲了AD用戶管理簡單清晰。linux
創建新的用戶的時候,要同時將用戶歸屬到正確的用戶組,同時還要設定用戶的Primary Group(主用戶組)。每一個用戶可能屬於多個組,選擇一個合適的有意義的組做爲Primary Group。Linux系統會從Primary Group中獲取gidNumber,在文件系統的權限中會顯示此用戶屬於Primary Group。shell
在AD管理中心中選擇用戶或者組,選擇擴展屬性頁,輸入惟一的uidNumber和特定的gidNumber。爲了不出現重複和混亂,建議管理員提早規劃分配好每一個用戶和組的uid和gid值和範圍(參考下面的Linux的smb.conf設置),而後再進入AD管理中心操做。安全
AD用戶登陸Linux時,會從AD中獲取uid和gid,這個能夠登陸後經過id命令驗證。bash
Windows用戶訪問Oracle ZS時,用戶sid會被Oracle ZS的IDMU轉換成AD中預先設置的uid和gid。這個能夠ssh Oracle ZS,進入shell,進入/export/查看文件系統驗證,也能夠經過Oracle ZS管理界面中的Identity Mapping中的Show Mappings工具驗證。服務器
這樣就行保證Linux和Windows用戶共享訪問ZS中的文件。session
在Configuration->Services中設置DNS,NTP,而後加入AD域。app
在Configuration->Services中的Identity Mapping裏面,選擇IDMU,點擊Apply,無需其餘配置輸入。dom
經過Identity Mapping的Show Mappings工具,檢查獲取到的uid和gid,若是和AD用戶uidNumber、gidNumber相同,則爲正確,若是出現臨時分配的id,則不正確。ssh
若是是Windows和Linux客戶端混合環境,建議建立文件系統時選擇UNIX權限方式建立。這樣靈活,並且也會讓Linux和Windows建立的文件和文件夾權限一致性保持比較好。若是選擇使用Windows缺省權限, Root目錄的權限默認會是755。工具
文件系統的ACL屬性按照默認不須要修改。對訪問的基本權限影響不大。
注:若是有人總結出ACL屬性對權限有影響,歡迎發郵件給我,我來修正。
在Redhat 6安裝時默認SELinux是Enable的。
1.1. 驗證是否Enable
# getenforce
Enforcing
1.2. Enable的操做
# getenforce Permissive # setenforce 1 # getenforce Enforcing
1.3. 編輯/etc/selinux/config,確認從新啓動時也是Enable
SELINUX=enforcing
2.1. 安裝samba包
# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients
2.2. 驗證samba運行
# service smb start # service smb status # ps -aef | grep smb
2.3. 使samba在系統啓動時運行
# chkconfig smb on
# chkconfig --list smb
3.1. 編輯/etc/ntp.conf
# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats
server (ntp server name) iburst
server (ntp server ip) iburst
3.2. 應用NTP的修改
Redhat Linux 6:
# service ntpd stop
# ntpdate (ntp server ip)
# service ntpd start
Windows Server:
C:\Users\Administrator> w32tm /query /status | find "Source"
如何建立Windows Server AD服務器爲NTP服務器
C:\WINSRV1>w32tm /config /manualpeerlist:"ntp server name or ip"/syncfromflags:manual /update C:\WINSRV1>w32tm /query /status
3.3. 使NTP在系統啓動時運行
# chkconfig ntpd on
# chkconfig --list ntpd
4.1. 編輯/etc/resolv.conf
domain mydomain
search mydomain
nameserver (DNS server ip)
4.2. 編輯/etc/sysconfig/network
HOSTNAME=xxx.mydomain (client server name)
修改並簡化/etc/hosts文件內容爲:
127.0.0.1 localhost xxx.xxx.xxx.xxx(local static ip) xxx.mydomain (client server name)\ xxx (client server name)
6.1. 安裝Kerberos客戶端
# yum -y install krb5workstation
6.2. 驗證Kerberos客戶端安裝成功
# yum list installed | grep krb5 krb5libs.x86_64 1.922.el6_2.1 @rhel6serverrpms krb5workstation.x86_64 1.922.el6_2.1 @rhel6serverrpms pam_krb5.x86_64 2.3.119.el6 @anacondaRedHatEnterpriseLinux201111171049.x86_64/6.2
6.3. 修改Kerberos配置文件/etc/krb5.conf,見粗體字
修改前備份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 = MYDOMAIN dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] MYDOMAIN = { kdc = XXX.mydomain (AD Server) admin_server = XXX.mydomain (AD Server) } [domain_realm] .mydomain = MYDOMAIN mydomain = MYDOMAIN
6.4. 驗證Kerberos配置
清除憑證
# kdestroy
# klist
得到新的Kerberos憑證
# kinit administrator@MYDOMAIN
驗證是否獲取新的憑證
# klist
安裝oddjob-mkhomedir包,確保用戶home目錄能夠正確建立。
7.1. 安裝
# yum install oddjobmkhomedir.x86_64
7.2. 啓動服務並使oddjobd服務在系統啓動時運行
# service oddjobd start
# chkconfig oddjobd on
# chkconfig --list oddjobd
在下面兩個配置文件中增長一行
/etc/pam.d/system-auth
/etc/pam.d/sshd
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
注:umask=0077指的是home目錄全部者具備所有權限、主要組以及其餘人無任何權限。能夠設置成umaks=0022, 指的是全部者具備所有權限、主要組以及其餘人只有讀的權限。
讓AD用戶擴展屬性中的uidNumber和gidNumber < 30000的用戶均可以登錄Linux
將/etc/pam.d/passwd-auth和/etc/pam.d/system-auth文件的:
account sufficient pam_succeed_if.so uid < 500 quiet
修改爲:
account sufficient pam_succeed_if.so uid < 30000 quiet
注:30000這個值爲smb.conf配置項idmap config (MYDOMAIN NetBIOS Name): range = 10000-29999的封頂值。
10.1. 編輯/etc/samba/smb.conf,見粗體字
修改前備份/etc/samba/smb.conf
10.2. 使用AD映射模式配置smb.conf
backend = ad模式是直接獲取AD用戶和組的uidNumber和gidNumber,須要在AD用戶管理的擴展屬性中提早設置uidNumber和gidNumber,用戶和組都要設置,值的範圍由此配置項idmap config (MYDOMAIN NetBIOS Name): range = 10000-29999決定。
[global] workgroup = (MYDOMAIN NetBIOS Name) password server = XXX.MYDOMAIN(AD Server) realm = MYDOMAIN security = ads idmap uid = 30000-39999 idmap gid = 30000-39999 idmap config (MYDOMAIN NetBIOS Name) : backend = ad idmap config (MYDOMAIN NetBIOS Name) : default = yes idmap config (MYDOMAIN NetBIOS Name) : range = 10000-29999 idmap config (MYDOMAIN NetBIOS Name) : schema_mode = rfc2307 winbind nss info = rfc2307 winbind enum users = yes winbind enum groups = yes winbind nested groups = yes winbind separator = + winbind use default domain = true template homedir = /home/%D/%U template shell = /bin/bash winbind offline logon = true
10.3. 驗證配置文件
# testparm
10.4. 清除存在的samba cache文件
# service smb stop # service winbind stop # rm -f /var/lib/samba/* # service smb start # service winbind start
注:若是發現使用AD帳戶登陸後,group名顯示不正確,能夠嘗試此操做再從新登錄。
10.5. 清除Kerberos憑證
# kdestroy
# klist
10.6. 加入AD
# net join -S XXX.MYDOMAIN(AD Server) -U administrator
10.7. 測試AD連接
# net ads testjoin # net ads info
10.8. 啓動winbind和samba服務,激活新的配置
# wbinfo -u
# wbinfo -g
11. 驗證登錄服務
# ssh aduser1@mydomain # hostname # id # pwd # ls -ld # echo $SHELL
注:
能夠經過圖形化窗口簡化配置過程,可是仍然建議根據以上配置和命令補充完善並檢查是否準確。Redhat Linux圖形化配置命令system-config-authentication,文本窗口圖形化配置命令爲setup。
全文完(完整帶圖片版本能夠搜索百度文庫)