useradd -p 选项

useradd -p 选项

我无法理解“useradd”中 -p 选项的用途
让我们创建一个用户

useradd -m -p 'pass1' user1 

运行上述命令后,尝试使用身份验证登录时su - user1 失败。另一个问题是密码在 /etc/passwd 文件中没有加密,如果我运行cat /etc/passwd | grep user1我得到user1:pass1:19196:0:99999:7:::.

答案1

您应该向该-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

(但请注意手册页中有关可能将密码泄露给其他系统用户的警告。)

相关内容