![如果我不应该使用 root 用户,为什么我要保留它?](https://linux22.com/image/596539/%E5%A6%82%E6%9E%9C%E6%88%91%E4%B8%8D%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%20root%20%E7%94%A8%E6%88%B7%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E8%A6%81%E4%BF%9D%E7%95%99%E5%AE%83%EF%BC%9F.png)
我使用的是装有 Ubuntu Server 12.04 的新 VPS。我想请教您一些最佳实践,以增强现有 Ubuntu 服务器的安全性。
这是我到目前为止所做的: 我在 SSH 中添加了 Google Authenticator然后我创建了一个新用户(我将使用它代替“root”进行 SSH 和 SFTP 访问),我将其添加到“root”下的 /etc/sudoers 列表中,所以现在是:
# User privilege specification
root ALL=(ALL:ALL) ALL
new_user ALL=(ALL:ALL) ALL
然后我编辑了 sshd_config 并将 PermitRootLogin 设置为“no”。然后重新启动了 ssh 服务。
这样可以吗?不过我想问您几件事:
1) 在 root 用户仍然存在的情况下添加新 (sudoer) 用户有什么意义 (虽然它无法以 root 权限访问,但它仍然存在..)? 2) 系统文件归“root”所有.. 我想使用我的 new_user 通过 SFTP 访问,但使用它我无法编辑这些文件!!我应该批量 CHMOD '它们,以便 new_user 也具有写入权限吗?这方面的好做法是什么?
提前谢谢,我希望你能告诉我我是否做错了什么和/或其他保护系统安全的方法。:)
答案1
这是一个好的开始。
new_user 帐户将使用“sudo”命令获得提升的权限。这要求在提示时输入 new_user 的密码(它会记住一小段时间,因此不是每次使用时都会记住),因此比始终具有提升权限的常规 root 帐户更安全。
要查看 root 拥有的日志文件,您需要运行sudo less /var/log/foo
然后输入新用户帐户的密码。
要禁用“root”帐户,您可以使用该passwd
命令。
sudo passwd -d root
这将删除密码。如果您只想禁用帐户并希望在必要时能够恢复它,-l
和-u
选项将分别锁定和解锁帐户。
答案2
您可能还对更改 ssh 端口、更改 iptables 中的授权 IP 范围、不使用 sudo 以及对 root 使用非常强的密码感兴趣。