實現Redhat Linux 6和Windows經過Windows Server AD統一認證並共享訪問Oracle ZS存儲系統

Windows Server 2012 AD設置

1.  創建新的組織單位OU

爲用戶提早創建好OU,是爲了AD用戶管理簡單清晰。linux

2.  創建新的用戶和用戶組

創建新的用戶的時候,要同時將用戶歸屬到正確的用戶組,同時還要設定用戶的Primary Group(主用戶組)。每一個用戶可能屬於多個組,選擇一個合適的有意義的組做爲Primary Group。Linux系統會從Primary Group中獲取gidNumber,在文件系統的權限中會顯示此用戶屬於Primary Group。shell

3.  編輯用戶和組的Unix擴展屬性

在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

 

Oracle ZS設置

1.  設置DNS, NTP, AD

在Configuration->Services中設置DNS,NTP,而後加入AD域。app

2.  設置IDMU

在Configuration->Services中的Identity Mapping裏面,選擇IDMU,點擊Apply,無需其餘配置輸入。dom

3.  驗證IDMU

經過Identity Mapping的Show Mappings工具,檢查獲取到的uid和gid,若是和AD用戶uidNumber、gidNumber相同,則爲正確,若是出現臨時分配的id,則不正確。ssh

4.  FS初始建立

若是是Windows和Linux客戶端混合環境,建議建立文件系統時選擇UNIX權限方式建立。這樣靈活,並且也會讓Linux和Windows建立的文件和文件夾權限一致性保持比較好。若是選擇使用Windows缺省權限, Root目錄的權限默認會是755。工具

5.  ACL屬性設置

文件系統的ACL屬性按照默認不須要修改。對訪問的基本權限影響不大。

注:若是有人總結出ACL屬性對權限有影響,歡迎發郵件給我,我來修正。

 

Redhat Linux 6 設置

1.  配置SELinux安全參數

在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.  配置samba

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.  同步NTP

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.  配置DNS

4.1. 編輯/etc/resolv.conf

domain mydomain search mydomain nameserver (DNS server ip)

 

4.2. 編輯/etc/sysconfig/network

HOSTNAME=xxx.mydomain (client server name)

 

5.  編輯/etc/hosts文件

修改並簡化/etc/hosts文件內容爲:

127.0.0.1 localhost xxx.xxx.xxx.xxx(local static ip) xxx.mydomain (client server name)\ xxx (client server name)

 

6.  安裝和配置Kerberos客戶端

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

 

7.  安裝oddjob-mkhomedir

安裝oddjob-mkhomedir包,確保用戶home目錄能夠正確建立。

7.1. 安裝

# yum install oddjobmkhomedir.x86_64

 7.2. 啓動服務並使oddjobd服務在系統啓動時運行

# service oddjobd start # chkconfig oddjobd on # chkconfig --list oddjobd

 

8.  自動建立home目錄

在下面兩個配置文件中增長一行

/etc/pam.d/system-auth /etc/pam.d/sshd
session  required  pam_mkhomedir.so  skel=/etc/skel/  umask=0077

注:umask=0077指的是home目錄全部者具備所有權限、主要組以及其餘人無任何權限。能夠設置成umaks=0022, 指的是全部者具備所有權限、主要組以及其餘人只有讀的權限。

 

9.  擴大AD用戶的uid和gid賦值範圍

讓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.      配置samba/winbind

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。

 

全文完(完整帶圖片版本能夠搜索百度文庫)

相關文章
相關標籤/搜索