【51CTO.com快译】身为Linux系统管理员,你有时可能需要创建一个无法登录进去的用户。何时需要这种类型的用户?举例来说,你需要创建一个用户,应用程序才能正常运行,但又不希望该用户拥有主目录或登录功能。
原因何在?
出于安全。你在Linux系统上的用户越多,不怀好意的人可能闯入并大搞破坏的机会就越大。如果我们谈论的是不会被实际的人使用的用户帐户,更是如此。
有多种方法可以完成此任务,不过我想介绍正确的方法。
你需要什么?
- 任何Linux发行版的运行中实例
- 拥有sudo权限的用户帐户
如何创建Linux帐户?
记住,我们是创建一个无法登录进去的Linux帐户。换句话说,这是系统帐户。假设你要创建的帐户名为nouser。有两种创建该系统帐户的正确方法。
第一种方法要求你手动配置外壳(shell),以便该用户无法登录进去。登录进入到Linux服务器或台式机,执行该命令:
- sudo adduser nouser --shell=/bin/false
这会将外壳设置为/bin/false,那样nouser用户无法登录进去。会要求你输入并验证密码,然后为该用户填写信息(图A)。
图A. 使用adduser创建nouser帐户
下一个方法使用--system选项,如下所示:
- sudo adduser nouser --system
上面这个方法将创建没有密码且没有外壳的帐户,因此它无法登录进去。然而,上面这个方法还创建了主目录。如果你不想创建主目录,命令应该是:
- sudo adduser nouser --system --no-create-home
除非你绝对需要为该帐户创建主目录,否则绝对最安全的方法是后一种方法。为什么?因为没有该帐户所需的密码,也没有主目录。
如何将用户添加到用户组?
系统帐户常常属于用户组。假设该用户需要属于www-data用户组。为此,你先要使用adduser命令创建用户,然后使用该命令将其添加到www-data用户组:
- sudo usermod -aG www-data nouser
现在你有了一个无法登录进去的系统帐户,该帐户是www-data用户组的一部分。
恭喜,你现在知道如何创建无法登录进去且没有主目录的Linux系统用户,请合理地使用那些用户。
原文标题:How to create a Linux user that cannot log in,作者:Jack Wallen
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】