创建无密码用户

创建无密码用户

我正在尝试创建一个没有密码的用户,如下所示:

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos ‘User for managing of git version control’ \
   --group \
   --disabled-password \
   --home /home/git \
   git

它创建得很好。但是当我尝试在 git 用户下登录时,我输入的密码是:

su git
Password:...

当我将其留空时,会出现错误:

su: Authentication failed

怎么了?

答案1

--disabled-password选项不会设置密码,这意味着没有密码是合法的,但仍然可以登录(例如使用 SSH RSA 密钥)。

要创建没有密码的用户,请passwd -d $username在创建用户后使用将密码设置为空。请注意,并非所有系统都允许使用空密码的用户登录。

答案2

您创建了一个具有“禁用密码”的用户,这意味着没有密码可以让您以该用户身份登录。这与创建任何人都可以在不提供密码的情况下登录的用户不同,后者是通过指定空密码来实现的,并且很少有用。

为了以此类未正常登录的“系统”用户身份执行命令,您需要通过 root 帐户进行跳转:

su -c 'su git -c "git init"'

或者

sudo -u git git init

如果您希望某些用户能够以普通用户身份运行命令,git而不让他们以 root 身份运行命令,请设置 sudo(visudo以 root 身份运行并添加一行,如%gitters ALL = (git) ALL)。

答案3

如果你想在 git 用户下访问系统,你应该使用 sudo:

sudo -s -u git

或者

sudo su - git

答案4

我想这就是你想要的:

adduser --disabled-password --shell /bin/bash --gecos "User" $username

你将能够

su $username

以该用户身份在您指定的 shell 中或任何 shell 中运行命令/bin/bash--gecos "User"只需将其放入"User"评论字段即可,这样系统就不会提示您输入该信息。您可以将任何您想要的内容放入该字段中。

相关内容