我目前正在 Windows 上的 Ubuntu 上安裝 Bash。
我安裝了 Bash 並正常設定了使用者。一切工作正常,但我不想繼續執行sudo
每個命令。我卸載然後重新安裝了“Bash on Ubuntu on Wwindows”
lxrun /install /y
它保存了用戶名,但沒有保存以前的密碼。我正在嘗試查看我正在使用的用戶的當前密碼。
如何在 Bash 中查看我的用戶的密碼?
答案1
實際上你不能,你的密碼經過哈希處理並且只是單向解碼。
總而言之,想像每次您嘗試登入時,它都會執行類似的操作
if hash('password') == currentHash;
do grantAccess();
每次儲存密碼時,都會做
hashedPass = hash('password');
writeOnShadowFile('hashedPass')
這是根據雜湊的安全標準,避免儲存真實密碼,而是儲存函數的結果,並以這種方式對其進行評估。雜湊函數的目的是在資料遺失的情況下進行大量原始值轉換,並且由於資料遺失,幾乎不可能知道您的原始密碼。
usermod -p <password> <user>
您可以使用或僅更改您的密碼passwd <user>
。
答案2
無法查看作業系統使用者密碼。密碼儲存在散列的形式。您只能檢查您是否知道其中一項。這不僅會構成安全威脅,而且還應該定期更改密碼。而且新的不應該和舊的太相似。但在家庭環境(而不是專業環境)中,您不應該被命令列所困擾。
答案3
你不能!有充分的理由。這將是一個巨大的安全缺陷。您可以使用命令更改密碼passwd
(請參閱man passwd
)。
如果您是 root,則可以更改所有使用者的密碼。