在Unix / Linux系统中, root
用户帐户是超级用户帐户,因此,它可以用来做任何事情,一切都在系统上实现的。
然而,这可能是在许多方面非常危险的-人们可以是根用户可能输入了错误的命令,并打破了整个系统或者攻击者得到访问root用户帐户,并采取了整个系统的控制权,谁知道他/她可以做。
基于这样的背景,在Ubuntu及其衍生物,以root用户帐户默认情况下,普通用户(系统管理员或没有),只能通过使用获得超级用户权限锁定sudo
命令。
而且,可以发生在一个Ubuntu的系统管理员最糟糕的事情之一是失去特权使用sudo命令,通常被称为“ 破sudo”时的情况。 这可能是绝对毁灭性的。
阿破sudo的 ,可能是由以下原因造成的:
- 用户不应该被从sudo的或管理组中删除。
- 在/ etc / sudoers文件被修改,以防止Sudo或管理员组的用户从提升自己的特权到使用sudo命令根 。
- 上的/ etc允许/ sudoers文件未设置为0440。
为了执行您的系统上重要的任务,例如查看或更改重要的系统文件,或更新系统,则需要sudo命令来获得超级用户权限。 如果你被拒绝,由于一个或多个我们上面提到的原因Sudo的使用。
下面是示出一种情况,其中正从运行Sudo命令防止默认系统用户的图像:
youcl@youcl ~ $ sudo visudo [ sudo ] password for aaronkilik: aaronkilik is not in the sudoers file. This incident will be reported. youcl@youcl ~ $ sudo apt install vim [ sudo ] password for aaronkilik: aaronkilik is not in the sudoers file. This incident will be reported.
如何修复Ubuntu中的坏的sudo命令
如果碰巧你的机器上运行Ubuntu仅,它通电后,按Shift
键几秒钟,以获得GRUB引导菜单。 在另一方面,如果你正在运行一个双启动( Ubuntu的旁边的Windows或Mac OS X),那么你应该看到默认的GRUB引导菜单。
使用Down Arrow
,选择“Ubuntu的高级选项 ”,然后按Enter。
Ubuntu Grub菜单
你会在下面的界面中,选择“ 恢复模式 ”选项内核下面,然后按Enter前进到“ 恢复菜单 ”。
Ubuntu恢复模式
下面是“ 恢复菜单 ”,指示根文件系统作为只读安装。 移动到行“ 根跌落到root的命令提示符 ”,然后按Enter。
Ubuntu恢复菜单 - 删除根shell提示符
然后,按Enter键进行维修工程:
Ubuntu维护
此时,你应该以root的命令提示符。 正如我们以前看到的,文件系统以只读方式挂载,因此,要更改系统,我们需要通过运行以下命令来重新挂载为读/写:
# mount -o rw,remount /
解决案例#1 - 将用户添加到sudo或admin组
假设用户已从sudo组中删除,要将用户添加回sudo组,请执行以下命令:
# adduser username sudo
注 :请记住,使用实际的用户名在系统上,我的情况下,aaronkilik。
否则,在用户已从管理组中删除的情况下,运行以下命令:
# adduser username admin
解决案例#2 - 向用户授予sudo权限
在假设/etc/sudoers
文件被修改,以防止Sudo或管理员组的用户从提升他们的特权,以一个超级用户,则使在sudoers文件的备份,如下所示:
# cp /etc/sudoers /etc/sudoers.orginal
随后,打开sudoers文件。
# visudo
并添加以下内容:
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$ # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
解决案例#3 - 设置sudoers文件的正确权限
假设在许可的/ etc / sudoers文件中未设置为0440,然后运行下面的命令来作出正确的:
# chmod 0440 /etc/sudoers
最后但并非最不重要的,运行的所有必要的命令后,键入exit
命令返回到“ 恢复菜单 ”:
# exit
使用Right Arrow
选择<Ok>
,然后按Enter:
Ubuntu恢复菜单 - 恢复正常引导
按<Ok>
继续正常的启动顺序:
确认Ubuntu正常启动
概要
此方法应该工作正常,特别是当它是一个管理用户帐户涉及,没有其他选项,但使用恢复模式。
但是,如果它无法为您服务,请尝试通过下面的反馈部分表达您的经验来回复我们。 您可以提供任何建议或其他可能的方法来解决手头的问题或完善本指南。