1. 程式人生 > >centos6.6輸入正確使用者名稱和密碼仍跳回登入介面

centos6.6輸入正確使用者名稱和密碼仍跳回登入介面

1)CentOS自動更新到6.5後root無法登陸問題解決

實驗室CentOS伺服器不知道被誰更新系統到6.5後,發現在本機上即使輸入正確的密碼也無法登陸,通過在google搜尋,發現有一些人也碰見過同樣的問題,但是他們是因為系統變為64位後,無法找到pam_limits.so的正確路徑,但是我的主機不是這種問題,更新的後依然是i686架構,繼續搜尋,一步步查詢問題,首先修改grub進入單使用者模式下,開啟sshd服務,從遠端主機登陸,發現可以登陸,但就是本地不行,於是乎繼續鎖定問題到/etc/pam.d/login檔案,cat /etc/pam.d/login檔案,發現內容如下:

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth      include      system-auth
account    required    pam_nologin.so
account    include      system-auth
password  include      system-auth
# pam_selinux.so close should be the first session rule
session    required    pam_selinux.so close
session    required    pam_loginuid.so
session    optional    pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required    pam_selinux.so open
session    required    pam_namespace.so
session    optional    pam_keyinit.so force revoke
session    include      system-auth
-session  optional    pam_ck_connector.so

並沒有想象中的pam_limits.so檔案,修改成如下:

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth      include      system-auth
account    required    pam_nologin.so
account    include      system-auth
password  include      system-auth
# pam_selinux.so close should be the first session rule
session    required    pam_limits.so
session    optional    pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required    pam_limits.so
session    required    pam_namespace.so
session    optional    pam_keyinit.so force revoke
session    include      system-auth
-session  optional    pam_ck_connector.so

重啟系統,進入多使用者模式下,輸入密碼,發現可以登陸!!

思考:

1.為什麼修改後就可以呢?

pam_limits.so模組的主要功能是限制使用者會話過程中對各種系統資源的使用情況,預設情況下該模組的配置檔案是/etc/security/limits.conf。既然sshd可以登陸,那麼就使用它的pam模組來進行認證就OK。

2.pam_selinux.so

SELinux相關的模組.為登陸使用者提供安全的上下文。

進入另外一個centos6.3版本中發現和無法登陸的login檔案是相同的,可能是在centos6.5中對/etc/pam.d/login做了一些相應的調整,而配置檔案沒有變所以就無法登陸(只是猜測)

2)今天在虛擬機器ubuntu上裝交叉編譯工具,由於無法生成uboot,就按照網上資料在/etc/profile設定了環境變數,然後用了幾次之後再登入時發現即使輸入正確的使用者名稱和密碼,也立刻跳到登入介面,無法進入系統。 解決方法:

網上查到,說可能是環境變數導致的,所以只能先通過ctrl+alt+F1進入命令列,輸入具有超級許可權的使用者名稱和密碼,進入命令列模式,然後使用vi去檢視我以前設定環境變數的檔案,/etc/profile,發現由於系統環境已經出錯,命令列是亂碼:
發現亂碼,使用時加上完整路徑就好了: /usr/bin/sudo /usr/bin/vi /etc/profile,之後按下dd刪除錯誤的行,然後按shift輸入:號,然後輸入wq回車,重重啟就可以解決了。