歡迎光臨
每天分享高質量文章

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

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

— Vinoth Kumar

 

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

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

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

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

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

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

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

方法-1:使用 passwd 命令

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

  1. # passwd renu
  2. Changing password for user renu.
  3. New password:
  4. BAD PASSWORD: The password contains the user name in some form
  5. Retype new password:
  6. passwd: all authentication tokens updated successfully.

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

  1. # echo "new_password" | passwd --stdin thanu
  2. Changing password for user thanu.
  3. passwd: all authentication tokens updated successfully.

方法-2:使用 chpasswd 命令

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

  1. # echo "thanu:new_password" | chpasswd

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

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

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

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

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

  1. # cat user-list.txt
  2. centos
  3. magi
  4. daygeek
  5. thanu
  6. renu

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

  1. # vi password-update.sh
  2. #!/bin/sh
  3. for user in `more user-list.txt`
  4. do
  5. echo "[email protected]" | passwd --stdin "$user"
  6. chage -d 0 $user
  7. done

給 password-update.sh 檔案設置可執行權限。

  1. # chmod +x password-update.sh

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

  1. # ./password-up.sh
  2. magi
  3. Changing password for user magi.
  4. passwd: all authentication tokens updated successfully.
  5. daygeek
  6. Changing password for user daygeek.
  7. passwd: all authentication tokens updated successfully.
  8. thanu
  9. Changing password for user thanu.
  10. passwd: all authentication tokens updated successfully.
  11. renu
  12. Changing password for user renu.
  13. passwd: all authentication tokens updated successfully.

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

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

  1. # vi password-update.sh
  2. #!/bin/sh
  3. for user in `more user-list.txt`
  4. do
  5. echo "new_password" | passwd --stdin "$user"
  6. chage -d 0 $user
  7. done

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

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

確保你必須將服務器串列儲存在 server-list.txt 檔案中,每個服務器應該在單獨一行中。

  1. # vi password-update.sh
  2. #!/bin/bash
  3. for server in `cat server-list.txt`
  4. do
  5. ssh [email protected]$server 'passwd --stdin renu <
  6. new_passwd
  7. new_passwd
  8. EOF';
  9. done

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

  1. # ./password-update.sh
  2. New password: BAD PASSWORD: it is based on a dictionary word
  3. BAD PASSWORD: is too simple
  4. Retype new password: Changing password for user renu.
  5. passwd: all authentication tokens updated successfully.
  6. New password: BAD PASSWORD: it is based on a dictionary word
  7. BAD PASSWORD: is too simple
  8. Retype new password: Changing password for user renu.
  9. passwd: all authentication tokens updated successfully.

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

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

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

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

  1. [1] 07:58:07 [SUCCESS] CentOS.2daygeek.com
  2. Changing password for user root.
  3. passwd: all authentication tokens updated successfully.
  4. Stderr: New password: BAD PASSWORD: it is based on a dictionary word
  5. BAD PASSWORD: is too simple
  6. Retype new password:
  7. [2] 07:58:07 [SUCCESS] ArchLinux.2daygeek.com
  8. Changing password for user root.
  9. passwd: all authentication tokens updated successfully.
  10. Stderr: New password: BAD PASSWORD: it is based on a dictionary word
  11. BAD PASSWORD: is too simple

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

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

  1. # ./password-update.sh
  2. #!/bin/bash
  3. for server in `cat server-list.txt`
  4. do
  5. ssh [email protected]$server 'echo "magi:new_password" | chpasswd'
  6. done

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

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

參考下麵的詳細信息。

  1. # cat user-list.txt
  2. magi:new@123
  3. daygeek:new@123
  4. thanu:new@123
  5. renu:new@123

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

  1. # vi password-update.sh
  2. #!/bin/bash
  3. for users in `cat user-list.txt`
  4. do
  5. echo $users | chpasswd
  6. done

 

赞(0)

分享創造快樂