站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Unit8-Advanced User Administration

Lab

Lab1. 設定 NIS Client 配合 autofs 設定

本實作為設定 NIS Client 並且配合 autofs 設定使 NIS Client 使用者登入時能自動 Mount 到 NIS Server 分享的資源並順利登入使用者家目錄, NIS Client 所需用到的套件為 portmap、ypbind、yp-tools、authconfig、authconfig-gtk 因此在安裝前請先確定系統是否已安裝相關套件。

 #rpm -qa portmap ypbind yp-tools authconfig authconfig-gtk
 ypbind-1.19-11.el5
 authconfig-gtk-5.3.21-5.el5
 portmap-4.0-65.2.2.1
 yp-tools-2.9-0.1
 authconfig-5.3.21-5.el5

相關套件安裝完畢後可執行 authconfig-tui 指令來設定 NIS Server 資訊,下述 NIS Server 資訊設定完成後按下 OK 後系統會自動啟動相關服務,利用 getent 指令來查看是否能順利與 NIS Server 溝通

 #authconfig-tui                            //準備設定 NIS Server 資訊
 [*] Use NIS                                //選擇此項
 Domain: notexample                         //指定 NIS Domain 資訊
 Server: 192.168.0.254                      //指定 NIS Server IP
 #getent passwd                             //設定正確會顯示一些非本機帳號 (例如 nisusers*)

順利與 NIS Server 溝通後若此時登入後會發生找不到使用者家目錄的問題? 因為使用者登入後會找使用者家目錄 (但家目錄在 NIS Server 上不在 NIS Client 上),因此在 NIS Client 上設定 autofs 當 NIS 使用者登入時會自動 Mount NIS Server 資源順利登入家目錄,所以 下述的 autofs 設定為將 NIS Client 本機上的 /home/nisusers/* 目錄對應到遠端 NIS Server 上的 /home/nisusers/nisusers* 使用者帳號資料夾

 #showmount –e 192.168.1.1                 //查詢 NIS Server 是否把 nisusers* 家目錄分享出來
 #vi /etc/auto.master                       //設定 autofs 主設定檔
 /home/nisusers     /etc/auto.nisusers      //增加此行設定
 #vi /etc/auto.guests                       //設定 autofs 副設定檔
 *  -rw,soft  192.168.0.254:/home/nisusers/&        //自動對應 nisusers 下所有家目錄
 #chkconfig autofs on ; chkconfig --list autofs     //設定開機自動啟動 autofs 服務
 autofs          0:off   1:off   2:on    3:on    4:on    5:on    6:off
 #service autofs restart                            //重新啟動 autofs 服務
 #su – nisusers2001                        //試試能不能使用 NIS User 帳號登入 NIS Client 並順利找到家目錄 (第一次會失敗,第二次之後就會成功)

Lab2. 設定 LDAP Client 配合 autofs 設定

本實作為設定 LDAP Client 並且配合 autofs 設定使 LDAP Client 使用者登入時能自動 Mount 到 LDAP Server 分享的資源並順利登入使用者家目錄, LDAP Client 所需用到的套件為 authconfig、authconfig-gtk、openldap、openldap-clients、nss_ldap 因此在安裝前請先確定系統是否已安裝相關套件。

 #rpm -qa authconfig authconfig-gtk openldap openldap-clients nss_ldap
 openldap-2.3.43-3.el5
 openldap-clients-2.3.43-3.el5
 authconfig-5.3.21-5.el5
 authconfig-gtk-5.3.21-5.el5
 nss_ldap-253-17.el5

相關套件安裝完畢後可執行 authconfig-tui 指令來設定 LDAP Server 資訊,下述 LDAP Server 資訊設定完成後按下 OK 後系統會自動啟動相關服務,利用 getent 指令來查看是否能順利與 LDAP Server 溝通

 #authconfig-tui                            //準備設定 LDAP Server 資訊
 [*] Use LDAP                               //選擇此項
 [*] Use LDAP Authentication                //選擇此項
 [*] Use TLS                                //選擇此項
 Server: ldap://server1.example.com/        //指定 LDAP Server 資訊
 Base DN: dc=example,dc=com                 //指定 LDAP Domain 資訊
 #cd /etc/openldap/cacerts                  //切換到憑證路徑
 #wget ftp://server1/pub/EXAMPLE-CA-CERT    //從 LDAP Server 下載用於 TLS 加密憑證到本機
 #getent passwd                             //設定正確會顯示一些非本機帳號 (例如 ldapusers*)

順利與 LDAP Server 溝通後若此時登入後會發生找不到使用者家目錄的問題? 因為使用者登入後會找使用者家目錄 (但家目錄在 LDAP Server 上不在 LDAP Client 上),因此在 LDAP Client 上設定 autofs 當 LDAP 使用者登入時會自動 Mount LDAP Server 資源順利登入家目錄,所以 下述的 autofs 設定為將 LDAP Client 本機上的 /home/ldapusers/* 目錄對應到遠端 LDAP Server 上的 /home/ldapusers/ldapusers* 使用者帳號資料夾

 #showmount –e 192.168.1.1                 //查詢 NIS Server 是否把 ldapusers* 家目錄分享出來
 #vi /etc/auto.master                       //設定 autofs 主設定檔
 /home/ldapusers     /etc/auto.ldapusers    //增加此行設定
 #vi /etc/auto.guests                       //設定 autofs 副設定檔
 *  -rw,soft  192.168.0.254:/home/ldapusers/&        //自動對應 nisusers 下所有家目錄
 #chkconfig autofs on ; chkconfig --list autofs      //設定開機自動啟動 autofs 服務
 autofs          0:off   1:off   2:on    3:on    4:on    5:on    6:off
 #service autofs restart                            //重新啟動 autofs 服務
 #su – ldapusers2001                       //試試能不能使用 LDAP User 帳號登入 LDAP Client 並順利找到家目錄 (第一次會失敗,第二次之後就會成功)

Lab3. ACLs 權限設定

為何需要設定 ACL? 因為雖然有 Owner、Group、Other 來設定權限但在企業環境中常常會有某個部門的某個人需要存取資源,但您又希望只是暫時的開放存取權限,即可使用 ACL 來達成此一目的。

 #chmod 1777 /opt
 #getfacl /opt                              //查看 opt 資料夾目前 ACLs 設定
 # file: opt
 # owner: root
 # group: root
 user::rwx
 group::rwx
 other::rwx

下列設定使用者帳號 weithenn 可對於 /opt 資料夾有讀取、寫入、執行的權限,至於加上 default 參數為, /opt 資料夾下所有的檔案及資料夾都會繼承上層的ACLs 設定。

 #setfacl -m u:weithenn:rwx /opt           //設定 ACLs
 #setfacl -m d:u:weithenn:rwx /opt         //加上 default (也就是其下所有檔案及資料夾都繼承上層的 ACLs 設定)
 #getfacl /opt                             //查看 opt 資料夾目前 ACLs 設定
 # file: opt
 # owner: root
 # group: root
 user::rwx
 user:weithenn:rwx                         //可發現使用者帳號 weithenn 被加入
 group::rwx
 mask::rwx
 other::rwx
 #vi /etc/fstab                            //修改 File System Table 設定檔
 LABEL=/opt  /opt  ext3  default,acl  1 2  //加上 acl 參數
 #mount –o remount /opt                   //重新掛載該掛載點
 #mount
 /dev/hda5 on /opt type ext3 (rw,acl)      //查看掛載資訊 (opt 出現 acl 代表 ACL 機制生效)

Lab4. Disk Quota 設定

簡單來說設定硬碟磁碟配額 (Disk Quota) 的用意就是避免因為使用者無止盡的存放檔案而系統的規劃又不良好時將造成系統硬碟空間被吃光,此時我們便可利用 Quota 來強制管理硬碟空間。

Quota 管理使用對象

Quota 管理資料類別

Quota 管理配額方式

Quota 資訊我們大概可以分成三個部份來看,如下所示

Disk quotas for user weithenn (uid 501):
檔案系統磁碟空間 (kbytes)檔案數量 (inode)
Filesystemusagequotalimitgracefilesquotalimitgrace
掛載點目前使用空間非強制強制警示時間目前檔案數非強制強制警示時間
/home609211024_3000_
 #useradd weithenn                         //新增使用者帳號 weithenn
 #vi /etc/fstab                            //修改 File System Table 設定檔
 LABEL=/home   /home      ext3    defaults,usrquota        1 2      //再要設定 Quota 的掛載區加上 usrquota 參數
 #mount –o remount /home                  //重新掛載該掛載點
 #mount                                    //查看掛載資訊 (home 出現 usrquota 代表 Quota 機制生效)
 /dev/hda5 on /home type ext3 (rw,usrquota)
 #quotacheck –a                           //產生 Quota 資料檔
 #quotaon –a                              //啟用 Quota 機制
 #edquota weithenn                         //設定 Quota 資訊 (當您離開編輯器後所定義的磁碟配額設定就會馬上生效)
 #quota -u weithenn                        //查看指定後的 Quota 資訊如下 (指定非強制 0.9 MB,強制 1MB )
 Disk quotas for user weithenn (uid 501):
 Filesystem   usage   quota   limit   grace   files   quota   limit   grace
     /home    60      921     1024            30      0       0             
 #repquota -a                              //列出所有使用者的 Quota  資訊   

設定完成後切換成使用者帳號 weithenn 來進行 Quota 測試

 #su – weithenn                           //切換為使用者 weithenn
 #dd if=/dev/zero of=/home/weithenn/f1 bs=1M count=4    //新增一個 4MB 的檔案 (應該會被拒絕,代表 Quota 機制生效)
 #quota                                    //使用者 weithenn 查看自已的 quota 狀態

Lab5. 設定檔案的 SELinux

本次實作為了解 SELinux 的設計理念及概念,可以發現 cron 檔案在 /var/log 及被搬移到 /root 下時 SELinux 的權限設定不同所造成的影響

 #setenforce 1                             //設定 SELinux 為 Enforce (強制)
 #sestatus                                 //查看系統目前 SELinux 狀態
 SELinux status:         enabled
 SELinuxfs mount:        /selinux
 Current mode:            enforcing
 Mode from config file: enforcing
 Policy version:         21
 Policy from config file: targeted
 #mv /var/log/cron /root                   //將 cron 檔案搬到 root 家目錄
 #restorecon ~/cron                        //將 root 家目錄的 SELinux 權限套用至 cron 檔案上
 #mv ~/cron /var/log/                      //再把 cron 檔案搬回 /var/log 下
 #ls -Z /var/log/cron*                     //查看 cron* 的 SELinux 設定
 -rw-------  root root root:object_r:var_log_t          cron      //SELinux 為 root 
 -rw-------  root root system_u:object_r:var_log_t      cron.1
 -rw-------  root root system_u:object_r:var_log_t      cron.2

此時若您重新啟動 cron 服務可以發現會有錯誤訊息,因為 cron 的 SELinux 權限不對!! 還原 cron 的 SELinux 權限方法如下,請依個人喜好擇一即可

 #restorecon /var/log/cron                 //方法一 還原 cron 的 SELinux 權限
 #chcon --reference /var/log/cron.1 cron   //方法二 還原 cron 的 SELinux 權限
 #ls -Z cron*
 -rw-------  root root system_u:object_r:var_log_t      cron      //SELinux 為 system
 -rw-------  root root system_u:object_r:var_log_t      cron.1
 -rw-------  root root system_u:object_r:var_log_t      cron.2
Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com