操作系統:red hat 5.6 x64
數據庫:oracle 11.2.0.1.0
最近,爲單位安裝了一套oracle數據庫供測試使用,在安裝完之後,設置服務器默認啓動界面爲字符界面,重啓,輸入用戶名和密碼後又調回了登錄界面,嘗試使用oracle用戶,也無法正常登錄。
重啓,用單用戶模式登錄到linux,檢查系統日誌
vi /var/log/secure
發現以下錯誤信息:
Jul 28 22:05:49 test login: PAM unable to dlopen(/lib/security/pam_limits.so)
Jul 28 22:05:49 test login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]
Jul 28 22:05:49 test login: PAM adding faulty module: /lib/security/pam_limits.so
Jul 28 22:05:51 test login: pam_unix(login:session): session opened for user root by (uid=0)
Jul 28 22:05:51 test login: Module is unknown
Jul 28 22:05:55 test login: PAM unable to dlopen(/lib/security/pam_limits.so)
Jul 28 22:05:55 test login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]
Jul 28 22:05:55 test login: PAM adding faulty module: /lib/security/pam_limits.so
Jul 28 22:05:57 test login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jul 28 22:05:57 test login: Module is unknown
說是/lib/security/pam_limits.so模塊有問題,想起在安裝oracle時,曾修改過登錄限制的配置。配置文件如下:
/etc/pam.d/login
配置內容爲:
session required /lib/security/pam_limits.so
session required pam_limits.so
該配置在linux 32位系統下沒有問題,可現在安裝的是linux 64位的操作系統,那麼就應該用64位的模塊,安裝時太粗心,沒有主意到這個細節。修改配置如下:
vi /etc/pam.d/login
將配置改爲:
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改完,重啓系統,登錄正常。