我正在尝试创建一个没有密码的用户,如下所示:
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"
评论字段即可,这样系统就不会提示您输入该信息。您可以将任何您想要的内容放入该字段中。