Command-Line

使用者添加 -p 選項

  • July 23, 2022

我無法理解“useradd”中 -p 選項的用途

讓我們創建一個使用者

useradd -m -p 'pass1' user1 

執行上述命令後,嘗試使用su - user1 身份驗證登錄時失敗。另一個問題是密碼沒有在 /etc/passwd 文件中加密,如果我執行cat /etc/passwd | grep user1我得到user1:pass1:19196:0:99999:7:::.

您應該向該-p選項提供加密密碼。從useradd(8)手冊頁:

      -p, --password PASSWORD
          The encrypted password, as returned by crypt(3). The 
          default is to disable the password.

          Note: This option is not recommended because the password
          (or encrypted password) will be visible by users listing 
          the processes.

您提供的值在文件中逐字使用passwd,因此當然,如果您提供未加密的值,您將永遠無法使用該密碼登錄。


像這樣的工作:

useradd -m \
 -p "$(python -c 'import crypt; print(crypt.crypt("pass1"))')" \
 testuser

(但請注意手冊頁中關於可能將密碼暴露給其他系統使用者的警告。)

引用自:https://unix.stackexchange.com/questions/710988