當前位置:
首頁 > 知識 > 如何使用不同的方式更改 Linux 用戶密碼

如何使用不同的方式更改 Linux 用戶密碼

如何使用不同的方式更改 Linux 用戶密碼

在 Linux 中創建用戶賬號時,設置用戶密碼是一件基本的事情。

-- Vinoth Kumar

在 Linux 中創建用戶賬號時,設置用戶密碼是一件基本的事情。每個人都使用 passwd 命令跟上用戶名,比如 passwd USERNAME 來為用戶設置密碼。

確保你一定要設置一個難以猜測的密碼,這可以幫助你使系統更安全。我的意思是,密碼應該是字母、符號和數字的組合。此外,出於安全原因,我建議你至少每月更改一次密碼。

當你使用 passwd 命令時,它會要求你輸入兩次密碼來設置。這是一種設置用戶密碼的原生方法。

如果你不想兩次更新密碼,並希望以不同的方式進行更新,怎麼辦呢?當然,這可以的,有可能做到。

如果你是 Linux 管理員,你可能已經多次問過下面的問題。你可能、也可能沒有得到這些問題的答案。

無論如何,不要擔心,我們會回答你所有的問題。

  • 如何用一條命令更改用戶密碼?
  • 如何在 Linux 中為多個用戶更改為相同的密碼?
  • 如何在 Linux 中更改多個用戶的密碼?
  • 如何在 Linux 中為多個用戶更改為不同的密碼?
  • 如何在多個 Linux 伺服器中更改用戶的密碼?
  • 如何在多個 Linux 伺服器中更改多個用戶的密碼?

方法-1:使用 passwd 命令

passwd 命令是在 Linux 中為用戶設置、更改密碼的標準方法。以下是標準方法。


# passwd renu

Changing password for user renu.

New password:

BAD PASSWORD: The password contains the user name in some form

Retype new password:

passwd: all authentication tokens updated successfully.

如果希望在一條命令中設置或更改密碼,運行以下命令。它允許用戶在一條命令中更新密碼。


# echo "new_password" | passwd --stdin thanu

Changing password for user thanu.

passwd: all authentication tokens updated successfully.

方法-2:使用 chpasswd 命令

chpasswd 是另一個命令,允許我們為 Linux 中的用戶設置、更改密碼。如果希望在一條命令中使用 chpasswd 命令更改用戶密碼,用以下格式。


# echo "thanu:new_password" | chpasswd

方法-3:如何為多個用戶設置不同的密碼

如果你要為 Linux 中的多個用戶設置、更改密碼,並且使用不同的密碼,使用以下腳本。

為此,首先我們需要使用以下命令獲取用戶列表。下面的命令將列出擁有 /home 目錄的用戶,並將輸出重定向到 user-list.txt 文件。


# cat /etc/passwd | grep "/home" | cut -d":" -f1 > user-list.txt

使用 cat 命令列出用戶。如果你不想重置特定用戶的密碼,那麼從列表中移除該用戶。


# cat user-list.txt

centos

magi

daygeek

thanu

renu

創建以下 shell 小腳本來實現此目的。


# vi password-update.sh

#!/bin/sh

for user in `more user-list.txt`

do

echo "[email protected]" | passwd --stdin "$user"

chage -d 0 $user

done

給 password-update.sh 文件設置可執行許可權。


# chmod +x password-update.sh

最後運行腳本來實現這一目標。


# ./password-up.sh

magi

Changing password for user magi.

passwd: all authentication tokens updated successfully.

daygeek

Changing password for user daygeek.

passwd: all authentication tokens updated successfully.

thanu

Changing password for user thanu.

passwd: all authentication tokens updated successfully.

renu

Changing password for user renu.

passwd: all authentication tokens updated successfully.

方法-4:如何為多個用戶設置相同的密碼

如果要在 Linux 中為多個用戶設置、更改相同的密碼,使用以下腳本。


# vi password-update.sh

#!/bin/sh

for user in `more user-list.txt`

do

echo "new_password" | passwd --stdin "$user"

chage -d 0 $user

done

方法-5:如何在多個伺服器中更改用戶密碼

如果希望更改多個伺服器中的用戶密碼,使用以下腳本。在本例中,我們將更改 renu 用戶的密碼,確保你必須提供你希望更新密碼的用戶名而不是我們的用戶名。

確保你必須將伺服器列表保存在 server-list.txt 文件中,每個伺服器應該在單獨一行中。


# vi password-update.sh

#!/bin/bash

for server in `cat server-list.txt`

do

ssh [email protected]$server "passwd --stdin renu <<EOF

new_passwd

new_passwd

EOF";

done

你將得到與我們類似的輸出。


# ./password-update.sh

New password: BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password: Changing password for user renu.

passwd: all authentication tokens updated successfully.

New password: BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password: Changing password for user renu.

passwd: all authentication tokens updated successfully.

方法-6:如何使用 pssh 命令更改多個伺服器中的用戶密碼

pssh 是一個在多個主機上並行執行 ssh 連接的程序。它提供了一些特性,例如向所有進程發送輸入,向 ssh 傳遞密碼,將輸出保存到文件以及超時處理。導航到以下鏈接以了解關於 PSSH 命令 的更多信息。


# pssh -i -h /tmp/server-list.txt "printf "%s
" new_pass new_pass | passwd --stdin root"

你將獲得與我們類似的輸出。


[1] 07:58:07 [SUCCESS] CentOS.2daygeek.com

Changing password for user root.

passwd: all authentication tokens updated successfully.

Stderr: New password: BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password:

[2] 07:58:07 [SUCCESS] ArchLinux.2daygeek.com

Changing password for user root.

passwd: all authentication tokens updated successfully.

Stderr: New password: BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

方法-7:如何使用 chpasswd 命令更改多個伺服器中的用戶密碼

或者,我們可以使用 chpasswd 命令更新多個伺服器中的用戶密碼。


# ./password-update.sh

#!/bin/bash

for server in `cat server-list.txt`

do

ssh [email protected]$server "echo "magi:new_password" | chpasswd"

done

方法-8:如何使用 chpasswd 命令在 Linux 伺服器中更改多個用戶的密碼

為此,首先創建一個文件,以下面的格式更新用戶名和密碼。在本例中,我創建了一個名為 user-list.txt 的文件。

參考下面的詳細信息。


# cat user-list.txt

magi:new@123

daygeek:new@123

thanu:new@123

renu:new@123

創建下面的 shell 小腳本來實現這一點。


# vi password-update.sh

#!/bin/bash

for users in `cat user-list.txt`

do

echo $users | chpasswd

done


via: https://www.2daygeek.com/linux-passwd-chpasswd-command-set-update-change-users-password-in-linux-using-shell-script/

作者: Vinoth Kumar 選題: lujun9972 譯者: MjSeven 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

Arch-Audit:一款在 Arch Linux 上檢查易受攻擊的軟體包的工具
在 Linux 上自定義 bash 命令提示符

TAG:Linux技術 |