我想知道从安全角度来看什么是最佳实践:我应该将用户添加到单用户计算机上的 /etc/sudoers 文件中,还是只将 %sudo 留在其中?
这会导致任何问题吗?还是每次执行需要 root 权限的操作时,我都必须以 root 身份打开控制台?
我正在使用 Debian 9.1 和 KDE。
答案1
从安全角度来看,在“sudoers”文件中定义单个用户或将其添加到“sudo”等组中没有什么区别,但是默认和最佳实践是将需要发布的任何人添加sudo
到“sudo”组中或不同发行版上的“轮子”。
什么时候必须将单个用户添加到“sudoers”文件中?当该特定用户需要某些特定权限时,例如,他只能在用户“john”下从特定计算机运行特定命令,而无需提供密码。
现在假设我们有很多用户,他们都需要相同的默认sudo
权限,将它们一一添加到 sudoers 文件中是不合逻辑的,对吧?我们应该做的是将它们全部添加到“sudo”组中。
但是在您的情况下,只有一个用户没有什么不同,如果您希望能够使用以下命令运行命令,sudo
请将您自己添加到“sudo”组:
sudo gpasswd -a username sudo
答案2
这不是安全问题。
sudo
这只是管理员在不使用 root shell 的情况下快速获得 root 访问权限的方法。
一直使用 root shell 是危险的,原因如下。
您以 root 身份登录 = 所有应用程序都以 root 权限运行 - Firefox、Flash、OpenOffice 等中的每个漏洞现在都可以破坏您的系统,因为现在可能的病毒可以随处访问。是的,Ubuntu/Linux 的病毒很少,但这也是因为良好的安全性和默认的非特权用户。这不仅与病毒有关——应用程序中的小错误可能会删除一些系统文件或......
当您以 root 身份登录时,您可以执行所有操作 — 系统不会询问!您要格式化该磁盘吗?好的,只需单击一下即可完成,因为您是 root 并且知道自己在做什么。
因此,sudo
它被创建了,这样当需要 root 访问权限时,它只会是您使用的一个命令sudo
来获取 root 访问权限,您将不会永久使用 root shell。
答案3
好的,现在我了解到最好在安装过程中不要创建 root 帐户。只需按照安装程序中的说明将 root 密码留空即可。 (之后无需编辑 sudoers 文件。)然后对需要 root 权限的任何内容使用sudo
和命令。sudo -i