centos7賬戶名和密碼都正確-卻怎么都登錄失敗


問題概述及解決

問題描述

Centos 7 系統 優化系統內核后,賬戶無法登錄(輸入的賬號和密碼均正確,絕對沒有錯誤!!,也沒有禁止登錄!!)。 報錯為:Permission denied。

優化內核內容為:

cat /etc/security/limits.conf
* soft nofile 10000000  #錯的,千萬別用
* hard nofile 10000000 #錯的,千萬別用
* hard nproc 10000000 #錯的,千萬別用
* soft nproc 10000000 #錯的,千萬別用

報錯截圖:

出現上述問題,是因為在優化內核參數時多輸入了一個0。

 問題解決

進單用戶模式將/etc/security/limits.conf 中的參數改為系統可承受的值,經過多次測驗,最大可允許的數值為1000009。

 

問題發現及排查

問題發現

公司視頻項目在建設開始,對Centos系統部署完成,並進行系統內核調優,重啟系統后,發現賬戶無法登錄。確定輸入的密碼肯定正確,但是報錯Permission denied。

問題排查

第一次嘗試

進入單用戶模式,修改賬戶密碼。

在啟動頁面,按鍵 ‘e' 進入編輯

 按向下移動光標,跳轉到最后,找到’ro‘ 修改為 'rw init=/sysroot/bin/sh' 【注意,輸入時沒有引號】

如下圖

按Ctrl-x 進行重啟進入單用戶模式

 輸入執行 chroot /sysroot 

 

 執行passwd root 修改密碼【此處截圖,中文顯示異常,請忽略】

 執行touch /.autorelabel 

如果不執行,密碼不會生效。

按Ctrl+D,執行reboot重啟生效。

輸入賬戶密碼,依舊失敗 ,報錯依舊為 Permission denied。

至此第一次嘗試失敗

第二次嘗試

依舊進入單用戶模式,具體過程不重復描述;進入系統,查看/var/log/secure

如上圖,報錯內容中有一條很明顯:Could not set limit for 'nofile' Operation not permitted 【我英語很爛,就不妄加翻譯了】。

通過以上報錯,我們定位到問題出在/etc/security/limits.conf  中配置的 nofile打開數限制值太大。

cat /etc/security/limits.conf
* soft nofile 10000000  #錯的,千萬別用
* hard nofile 10000000 #錯的,千萬別用
* hard nproc 10000000 #錯的,千萬別用
* soft nproc 10000000 #錯的,千萬別用

於是對上述配置進行修改【去掉一個0】

cat /etc/security/limits.conf
* soft nofile 1000000
* hard nofile 1000000
* hard nproc 10000000
* soft nproc 1000000

按Ctrl+D,執行reboot重啟生效。

輸入賬戶密碼,成功登錄。

至此,問題成功定位並解決。

總結

回看問題排查的過程,我們走了一些彎路。其實我們在嘗試排錯的時候,應該首先想到去查看日志,看一下具體報錯內容。

補充

1、如果是賬戶密碼錯誤 報錯信息其實是 Login incorrect

 2、在寫下這篇總結的時候,我特意嘗試去查詢 nofile 能夠設置的最大值究竟是多少,但是並沒有查到結果。於是我嘗試去測試這個值最大限度。經過多次嘗試 發現 該值最大能設置為1000009,我推測nproc最大應該也是1000009。對此,我這種半路出家的門外漢真的是不清楚,如果有大佬了解這其中的緣由,還請能夠在評論區給予解答。在此,非常感謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM