![如何在 Ubuntu 上禁用 sudo 和 su?](https://linux22.com/image/1006780/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%20%E4%B8%8A%E7%A6%81%E7%94%A8%20sudo%20%E5%92%8C%20su%EF%BC%9F.png)
在 Debian 上,当我以 root 身份登录时,我不必sudo
在每个命令前写入。
在 Ubuntu 上我必须写入sudo
或使用su -
有没有办法sudo
在 Ubuntu 上删除这样当我以 root 身份登录时,我可以直接写入所有命令,例如mkdir
,rm
等等......?
答案1
简短的回答是,不,你不能禁用它。
root
基于 Debian 的 Ubuntu 的工作方式与 Debian 相同。如果您以(用户 ID)身份登录,则0
无需使用sudo
提升的权限,因为您已经拥有该权限。
不同之处在于,当您安装 Ubuntu 时,它会提示您输入用户名和密码以登录并将此用户添加到组中sudoers
。如评论中所述,默认情况下,Ubuntu(另一个不同之处)的 root 帐户是禁用的。虽然不建议这样做,但您可以通过以下方式为其设置密码来启用它:
$ sudo passwd root
然后您就可以以 root 身份登录...这与在 Debian 上以 root 身份登录相同。
启用 root 帐户的一个安全风险(众多风险之一)是 root 帐户在所有 Linux 系统中都很常见。黑客运行脚本试图以 root 身份入侵计算机。禁用 root 帐户是一种防御措施。
至于禁用sudo
,这不是你可以做的事情Debian或者Ubuntu。这两个操作系统上的普通用户都必须具有sudoers
使用提升命令的权限。根据您问题中的内容,您已经熟悉了sudo
、 和sudo su -
的变体。
如果有办法让普通用户拥有完全的 root 访问权限,那么这个过程与Ubuntu就像Debian。
笔记:
默认情况下,以下用户 ID1000
是隐藏的,不会显示在登录屏幕上。您可以按照以下步骤配置 lightdm 以允许手动登录:
- 编辑
/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
配置文件。 - 添加此行:
greeter-show-manual-login=true
- 使用以下命令重新启动
lightdm
服务:sudo systemctl restart lightdm
- 然后使用新的登录手动输入
root
用户 ID 和密码的选项。
要禁用 root 帐户(将其恢复为默认帐户),请运行以下命令:
$ sudo passwd -dl root
您可以在以下位置找到有关其在 Ubuntu 上如何运作的其他详细信息:
RootSudo - 社区帮助 Wiki
答案2
你不必禁用sudo
即可获得根外壳。 跑步:
sudo -i
现在你输入的每个命令都根用户。
此外,当你以 root 身份登录时,你不需要预先准备每个命令都sudo
不再需要 sudo。如果这么想,你在这里就糊涂了。当你以用户身份运行命令时,你需要在命令前加上 sudo,但是一旦成为 root 用户,你就不需要 sudo 了。
这是明显的这样做时,你应该格外小心。使用彩色提示(红色,默认启用)可以始终知道你何时处于根外壳。
另外,使用以下命令设置根会话的超时时间也是一个好主意输出环境变量
在/root/.bashrc
,添加行
export TMOUT=300
暂停 5 分钟。
答案3
只需使用 sudo su 即可从 sudo 组中的用户以 root 身份登录。如果要禁用此功能,您必须设置 root 密码,然后从 sudo 组中删除其他用户。这将要求您在需要 root 权限时使用 su - root 以 root 身份登录。
一旦你从 sudo 用户 sudo su 到 root,并输入 whoami,它就会显示 root。在 debian 中,root 帐户默认被禁止直接登录,但我不会说它比其他 linux 发行版更安全或更不安全。最后,sudo 用户的密码会调用 root 权限,所以... 这与知道 root 用户名没什么不同。如果你知道 sudo 组用户,你仍然可以攻击他们的密码以达到相同的目标。