系统用户有什么意义?

系统用户有什么意义?

好的,当您查看系统用户时,系统用户的要点是以最小权限运行服务,并且拥有一个没有密码或 ssh 的用户。我遇到的问题是,要实际执行任何操作,您需要为该用户提供一个 shell 来运行该服务,但这是否违背了不为其提供 shell 的初衷。我想知道我是否使用了错误的方法,如果是的话,让系统用户运行服务的正确方法是什么。我使用此命令创建用户adduser --system --disabled-login --disabled-password --home /usr/local/appname appname ,并使用此命令实际使用用户/发出命令sudo su -s /bin/bash appname -C <command>

答案1

要实际执行任何操作,您需要为该用户提供一个 shell 来运行该服务

sudo -u appname <command>

你做的事情非常错误。大多数系统应该有一个服务管理器来为您启动服务 ( sudo service apache2 start)。许多服务已经包含了使用正确的用户手动启动它们的工具 ( sudo apachectl start)。

从根本上来说,用户是否拥有登录 shell、密码、主目录或 ssh 访问权限都是独立的。共享系统上的用户可能拥有所有这些,但任何组合都是有效的。

最安全的组合是没有一个。这可以防止人们以该用户身份登录到计算机。以该用户身份运行任何内容的唯一方法是已经拥有 root 访问权限。

相关内容