linux - 允许系统用户登录?

And*_*ius 9 linux user-accounts login user

该用户是使用以下命令创建的:

sudo adduser --system --home=/opt/user --group user
Run Code Online (Sandbox Code Playgroud)

但现在我希望该用户能够登录。我可以使用 成为那个用户sudo,但也想直接使用密码登录。我尝试使用此命令:

sudo passwd user

它让我为用户添加密码。当我尝试登录时,它登录但立即退出。

Lar*_*end 12

您无法登录,user因为它是由--system选项指定的系统帐户。系统帐户用于守护程序或服务,而不是用于人类用户,因此/bin/false用于登录 shell。如果你输入grep '^user' /etc/passwd,你会得到这样的东西:

user:x:117:123::/opt/user:/bin/false

要允许user登录,您可以使用 usermod 将其登录 shell 更改为 bash:

usermod -s /bin/bash user

或者,您也可以/etc/passwd手动编辑。您可能还想对user的 UID、GID 和主目录位置进行一些其他更改。