如何检查用户是否在 Ubuntu 上具有登录权限?

mor*_*ous 3 linux security apache-http-server ubuntu

我想确保用户 www-data 不能用于登录我的系统(Ubuntu Lucid)。我怎样才能知道?- 是否有我可以针对该用户运行的命令?(传统上由 Apache 守护进程运行)

Ham*_*ner 8

你想要的信息在/etc/passwd文件中(这是世界可读的 - 密码的哈希值实际上保存在/etc/shadow. 所以你可以

$ grep www-data /etc/passwd
Run Code Online (Sandbox Code Playgroud)

这应该产生一些类似的东西

www-data:x:111:112::/home/www-data:/bin/false
Run Code Online (Sandbox Code Playgroud)

(我没有安装apache,所以细节可能不同)。重要的细节是最后一个之后的部分:,即登录外壳。在这种情况下是/bin/false,这意味着您无法以该用户身份登录。如果您查看与您的用户名对应的行,您会看到它/bin/bash允许您登录。

如果 www-data 有一个有效的登录 shell,那么只需去编辑/etc/passwd并将登录 shell 更改为/bin/false.

  • 并使用 `vipw` 来编辑文件,这样你就不会搞砸了! (3认同)