我用Apache2-mpm-itk出于审计和安全原因,使用自定义 uid 和 gid 运行我的一个 Web 应用程序。这很好用,但是我不确定此用户需要什么样的权限。我目前正在做类似的事情,useradd mywebapp -U -d/tmp -c"Custom webapp User"
但这几乎会创建一个普通用户。
首先是一个新手问题:如何添加一个不能用于 ssh'in 或不会出现在 Ubuntu 桌面登录屏幕的“系统”用户?
我需要给这个用户什么样的权限?例如,我假设 www-data 可以写入 Apache 日志文件,因此它需要比普通用户更多的权限。但同时,我不想给它运行我的 webapp 所需的权限,绝对不是 root。
答案1
sudo useradd username
完全可以满足您的要求。它会创建未设置/随机密码的用户。如果您坚持要禁用用户的 shell 访问,可以使用以下命令将此用户的 shell 选项更改为 /bin/false
sudo chsh username
至于不在 GDM 登录屏幕显示用户名,您需要为用户名提供低于 1000 的 UID。这会使 Ubuntu 将该用户视为系统用户,然后不会显示在登录屏幕上。
以您喜欢的任何方式添加用户(可能就像上面一样),然后运行:
sudo usermod -u 599 username
其中 599 表示小于 1000 且未使用的 UID,用户名是您的新用户。