Answers:
您可以useradd
用来设置包括密码在内的所有内容。密码必须已经加密,但是openssl
如果您只想指定纯文本密码,则可以使用md5密码:
useradd -u 12345 -g users -d /home/username -s /bin/bash -p $(echo mypasswd | openssl passwd -1 -stdin) username
但是,如果在命令中使用纯文本密码,则可能要从历史记录中排除此密码。您可以在命令前添加一个空格,以将其从历史记录中排除。如果您在许多计算机上运行此命令,则可能只想生成一次密码,然后直接在命令中使用它:
useradd -u 12345 -g users -d /home/username -s /bin/bash -p '$1$NNfXfoym$Eos.OG6sFMGE8U6ImwBqT1' username
看起来useradd
会用crypt加密密码。如果您想使用其他方法(MD5,SHA256,SHA512),则可以使用创建用户useradd
并使用设置密码chpasswd
,可以运行:
useradd <options> && echo username:password | chpasswd --crypt-method=SHA512
在/etc/login.defs中的变量ENCRYPT_METHOD中设置了系统范围的默认密码加密方法。仅当成功创建用户时(&&
导致退出代码为0)chpasswd
才导致运行useradd
迟到游戏-RHEL 7.1-可以进行以下操作。创建一个SUDO用户,不加密密码,并立即以新用户身份登录:
U=youzerneim; P="pswrd"; adduser $U; echo $P | passwd $U --stdin; usermod -aG wheel $U; su - $U
-u
在这种情况下,除非您要专门选择某个UID,否则我认为不需要。