1. 程式人生 > >linux 本地賬號密碼無法登陸(shell可以登錄),一直返回 登陸的login界面

linux 本地賬號密碼無法登陸(shell可以登錄),一直返回 登陸的login界面

語句 發現 image ima 本地 更改 描述 分析 模式

今天我在我虛擬機測試的時候遇到了一個問題。登陸centos一直是返回login,賬號和密碼沒錯,我也換了兩個用戶。

1.問題描述

我正常的輸入用戶名和密碼

技術分享

錯誤提示截圖:返回登陸界面,我重新試了另外的oracle用戶發現也是一樣的返回login

技術分享

2.錯誤分析

我百度了一下錯誤,後來發現了一篇與這個問題有關的文章http://blog.itpub.net/35489/viewspace-620915/,因為我昨天剛用我虛擬機測試安裝了oracle.

我發現了原因是因為昨天我安裝oracle時候做了修改/etc/pam.d/login文件。 後來查詢才知道我加的語句有問題

技術分享

原來我的語句限制語句有問題:

#session required /lib64/security/pam_limits.so 這是對應64位的,
session required /lib/security/pam_limits.so 這是對應32位的,我出現問題的原因是我用的是32位的語句而我是64位系統

3.解決方法

我查了好久,差點就重裝系統後來找到了兩種解決辦法。

我網上查了資料http://blog.itpub.net/15480802/viewspace-1406088/,發現 pam_securetty.so讀取/etc/securrety,設定root用戶可以登陸的終端,一般只設置tty而沒有pts/0,telnet使用該模塊故無法使用root用戶登錄,而sshd沒有使用到該模塊故不受限制;技術分享

通過這個分析和資料查找,我找到了兩個解決辦法。

a). 針對電腦可連接ssh crt,且知道ip的

通過ssh crt類的軟件遠程連接系統,然後更改文件 vi /etc/pam.d/login ,把 session required /lib/security/pam_limits.so 更改為session required /lib64/security/pam_limits.so

(附1:crt連接截圖。 剛工作時候我也不會,都沒人跟我說,我不會又不好意思問,問了周圍人也都不肯認真的告訴我)

技術分享

(附2: vim編輯器的操作 進入後 按鍵盤 i 進入文本模式方可編輯,不然命令模式下不可以編輯。 退出文本模式是 esc(鍵) 然後再按 :(符號,鍵盤上 shif + ;:鍵) 然後保存是 輸入 wq, 如果做了操作不保存是 q! 。 這個雖然簡單,但是如果不知道也尷尬,我就是工作中第一次接觸這個不太會的時候被周圍同事斥責和嘲笑了。只要肯用心就行。)

如圖

技術分享

第二張方法: 針對練不上網,不能連接SSH crt軟件的

此種方法比較笨,就是重啟系統,進入linux的但模式 模式。 如何進入單模式系統 http://jingyan.baidu.com/article/7e440953f87f4a2fc0e2ef90.html

此方法還可以應用於找回密碼。但是這次這個進入但模式模式重置密碼是不管用的,至少我試了重置密碼還是不行。

進入單模式模式後,直接 然後更改文件 vi /etc/pam.d/login ,把 session required /lib/security/pam_limits.so 更改為session required /lib64/security/pam_limits.so

附3:如何進入單模式模式簡單介紹: 重啟系統,然後在登陸界面, 按鍵盤e進入如下圖

技術分享

選擇第二內核,然後 輸入1或者 single 並回車,然後 按 b 這樣等待一下就進入 單用戶模式了,在這個模式下進行修改操作。

4.重新登陸即可正常使用

linux 本地賬號密碼無法登陸(shell可以登錄),一直返回 登陸的login界面