为程序设置用户

为程序设置用户

/etc/passwd显示了许多“虚拟”用户,这些用户本质上是供程序使用的,而不是供人使用的。

我该如何设置这样的用户?

我所需要的只是一个不用于任何其他用途并且超级用户可以更改为的用户。

我不需要任何其他东西(密码、主目录等)

答案1

只需致电useradd并传递你想要的参数。要创建系统用户,请传递该-r选项。如果您不需要主目录,请选择类似的内容/none并传递该-M选项。如果您希望能够su以该用户身份运行命令,则该用户需要拥有有效的 shell。

useradd -r -d /none -M -U -s /bin/sh

我不建议passwd手动修改该文件。您可能会犯语法错误或意外删除重要内容。如果您必须编辑passwd,请致电vipw,防止并发修改。

答案2

只需照常创建用户,不要为其提供任何密码。 rm -rf /home/thatuser 目录,然后编辑 /etc/passwd 将该用户的 shell 设置为 /bin/false。

您可以根据您可能在其中看到的其他系统用户对 /etc/passwd 条目进行建模。只需确保您了解 /etc/passwd 条目,并在需要时通过 google 进行搜索。

当然,还要确保文件和文件夹允许您的新系统用户完成其工作。

答案3

只需添加一个条目似乎/etc/passwd就可以完成工作。

我想useradd它更强大,因为它做了一些额外的事情,而不做不必要的事情,比如设置用户目录。

(不过有点奇怪,对于这么小的事情,它需要花费 200 毫秒并打开和关闭 /etc/passwd 大约 900 次,正如 strace 显示的那样。)

相关内容