eri*_*icd 1 security linux ubuntu
我正在制作一个运行 LAMP 的网络服务器,并希望使用 SSH 访问它。
当我打开passwd文件时,我看到了所有这些帐户,我想知道我可以放哪些帐户false。我有以下帐户:
root, daemon, bin, sys, sync, games, man, lp, mail, news, uucp, proxy, www-data
backup, list, irc, gnats, nobody, libuuid, syslog, messagebus, whoopsie,
mandscape, sshd, eric
Run Code Online (Sandbox Code Playgroud)
除了root,sshd和eric,我不应该禁用哪些?www-data和sshd怎么样?
您对登录系统的工作方式和这些帐户的目的有一些误解。
首先,除了root和之外,这些帐户中的大多数eric都是系统帐户,它们不供人们登录,但允许不同的服务作为普通用户运行,而没有该root帐户具有的所有权限。例如,OpenSSH 守护进程通常以 user 身份运行sshd,因此如果有人设法获得对该sshd进程的控制权,它将只允许他访问和修改相应用户sshd具有权限的文件。
其次,禁用用户登录的首选方法是禁用他的密码,而不是将登录 shell 更改为/bin/false. 在现代 Linux 系统上,用户数据库实际上由两部分组成,/etc/passwd和/etc/shadow. 密码存储在/etc/shadow(请参阅下文了解原因),如果帐户的密码字段/etc/shadow是*.
在以下示例中,用户sshd被禁用,但sven设置了加密密码。您不能以 user 身份登录sshd,既不能通过控制台也不能通过 ssh 会话,但可以登录 for sven。
sshd:*:15533:0:99999:7:::
sven:$6$ckP43saI2$Xjoxh52LLJxz2VXa.:15538:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)
最有可能的是,您会发现系统上的所有用户,除了eric(也许root)以这种方式被禁用,这意味着开发人员已经完成了您想要完成的工作。此外,您会发现许多帐户的登录 shell 也已设置为/bin/falsein /etc/passwd,这意味着即使是 root 也无法使用 `su' 切换到这些帐户。
为什么要分离/etc/passwd和/etc/shadow?
很多程序出于各种目的需要访问用户数据库,但是赋予读权限/etc/passwd让每个人都可以读取所有用户的加密密码,这是非常不安全的,特别是在很长一段时间内密码的加密非常薄弱。这是通过将密码放入单独的文件来解决的,该文件/etc/shadow只能由 root 读取。
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |