linux文件给另一用户名和密码错误,linux重命名root后,使用su命令切换新用户时,提示密码错误...
1、考慮到安全因素,用戶希望把服務器上的root用戶進行重命名,于是把/etc/passwd文件和/etc/shadow文件中的root修改為xxx。修改完畢后,測試正常,普通用戶可以通過su - xxx的方式切換為特權用戶。
2、后來看到有個pwconv命令,大概意思是通過passwd文件內容創建一個shadow文件。就想,這樣好啊,不用修改兩個文件了,我只需要修改/etc/passwd文件中的root為xxx后,只需要再執行pwconv命令豈不是更方便。于是,就按照這個思路做了。修改完畢后,測試普通用戶su - xxx(新特權用戶)時,總是報密碼錯誤。但是普通用戶weblogic登陸時,密碼沒有發生變化。不知道為什么會發生這樣的情況?目測肯定和pwconv的工作機制有關,希望有高人來幫忙解釋下。
3、由于發生了第2步的情況,于是我做了個實驗:
(1)把/etc/passwd和/etc/shadow下的root用戶名修改為新的用戶xxx1
(2)運行pwconv命令
(3)使用su - xxx1切換用戶名,仍然成功。
4、運行環境:RHEL6.6
5、剛剛又做了個實驗,實驗步驟:
(1)先備份/etc/passwd和/etc/shadow文件
(2)運行pwunconv,先把密碼寫回passwd文件
(3)再修改/etc/passwd文件中的root用戶名為abcd
(4)再運行pwconv根據passwd文件重新創建shadow文件
(5)運行su - abcd,成功。
6、測測結論:
因此猜測pwconv的大致原理是否是:先掃描passwd文件查看哪行內容有改動,如果某行內容改動了。就根據本行的內容和/etc/login.defs中的值重新創建shadow文件。
至于為什么會出現第2步的情況,我想可能是系統本身已經啟用了密碼映射功能。此時系統中的passwd文件中的密碼行都是"X",那么這時運行pwconv時,新shadow文件中原root那行的密碼部分的內容是根據"X"生成的,而不是根據密碼值生成的。這樣就造成了普通用戶切換新的特權用戶時,總是提示密碼不正確。
而普通用戶weblogic的內容在passwd中沒有發生變化,所以新的shadow文件也不會對此進行任何修改。那么pwconv命令就沒有影響到weblogic用戶。
如果上面的猜測結論大致正確的話,就能更好的解釋第5個實驗為什么能夠成功了。因為pwunconv命令先把密碼寫回到了passwd文件,此時再改root名,然后pwconv命令即可創建新的shadow文件,并且新的特權用戶使用舊root密碼登錄是沒問題的。
總結
以上是生活随笔為你收集整理的linux文件给另一用户名和密码错误,linux重命名root后,使用su命令切换新用户时,提示密码错误...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 触发器 upsert,数据
- 下一篇: linux按顺序运行命令,linux –