如何在一行中添加 Linux 用户?

如何在一行中添加 Linux 用户?

有没有选项可以在一行中添加用户。它包括密码。不要提示任何内容。

操作系统=RHEL 5.5

答案1

您可以使用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

答案2

您应该能够使用类似这样的方法:

adduser --uid 3434 --password my_password my_login

答案3

看起来useradd将使用 crypt 加密密码。如果您更愿意使用其他方法(MD5、SHA256、SHA512),您可以使用 创建用户useradd并使用 设置密码chpasswd,您可以运行:

useradd <options> && echo username:password | chpasswd --crypt-method=SHA512

您的系统范围默认密码加密方法在 /etc/login.defs 中的变量 ENCRYPT_METHOD 中设置。仅当用户创建成功时&&才会运行(退出代码为 0)chpasswduseradd

答案4

useradd -u <uid> -G <group> -d /home/<用户主目录> -p 密码 -m

-u 表示 UID
-d 表示主目录
-m 表示创建 -d 选项中提到的主目录

其实,根据 Linux 的风格,还有更多选项。
您可以随时执行... man useradd 或 man adduser

相关内容