能否取消sudo密码

可以。

取消sudo密码是一个较为危险的操作,操作不当、后续使用不当可能引发不可逆的问题,请严格按照文档操作,并且文档最后附了几个出错后的抢救方法。

取消SUDO密码

以下操作都在终端中执行。完成后不要关闭这个终端窗口!

  1. (建议操作)为root用户设定一个密码,用于失败后抢救系统。在终端中执行 sudo passwd 并输入自定义密码。

  2. (建议操作)执行指令su root 登录root用户,以免修改错误后无法挽回。

  3. 执行指令 visudo ,注意空格的位置。执行后会直接打开文本编辑器来编辑有关的配置文件。

  4. 接下来区分操作系统,请点击对应系统标签。


当退出时,编辑器提示图片里的信息,请注意,你添加的内容一定存在问题,务必进行修改。

UOSsudo文件出错

  • 输入e,回车,就会回到编辑器,以便于检查和修正内容。

  • 输入x,回车,文件则不会保存,你可以回到系统中,从头操作

  • 不能输入Q,Q是强制保存,退出后将无法使用sudo!

不要关闭刚才的终端,打开一个新的终端,执行sudo ls 等指令,如果不报错,则修改成功。如果报错了,则需要登录root用户后进行修复。修复方法见下。

sudo常见错误处理

由于网上的sudo免密方法五花八门,导致的问题也千奇百怪。这里将列举一些遇到过的错误。请根据sudo失败后返回的信息进行查看。

1. 语法错误、解析错误

很明显,你的添加的配置是拼写错误的。当然,也有可能是删掉了配置文件原来的内容让它变错了。报错信息会精确提供错误出现的行数,修正那一行即可。

如果之前按2.1设置了“root用户密码”,那么可以直接修改文件:

  # 登录root用户,输入密码
su  root

# 重新修改配置文件
visudo

# 按前面的步骤改正文件

# 使用exit退出root账户
# 尝试sudo指令是否继续报错
  

如果没有设置密码,则可是尝试pkexec su root 然后 visudo

如果没有按2.1设置root密码,那么请准备一个U盘并烧录一个LinuxPE或Linux安装镜像。

进入PE系统后,定位到电脑系统盘,etc目录,进入后在空白处点击“在此处打开终端”,使用sudo权限编辑sudoers 文件。

2. sudo可被任何人写

这个是/etc/sudoer文件权限错误导致的。

如果有root密码,那么su root登陆后进行修改;

如果没有设置密码,则可是尝试pkexec su root 然后继续执行:

  chmod   440   /etc/sudoers
  

如果没有按2.1设置root密码,那么请准备一个U盘并烧录一个LinuxPE或Linux安装镜像。进入PE系统后,定位到电脑系统盘,etc目录,进入后在空白处点击“在此处打开终端”,修改权限 sudo chmod 440 sudoers (注意不要加/etc)

3. 属于用户ID 755,应为0

数字可能不同。这多半是修改的时候指令输错,导致/etc/sudoers和/etc/sudoers.d 的所有权发生了转变。

同样的,有root密码则su root,没有则尝试pkexec su root。然后修改他们的权限(根据报错内容确定修改对象。)

  # 如果是sudoers文件报错
chown  root:root  /etc/sudoers

# 如果报错内容是sudoers.d文件夹
chown  root:root  -R  /etc/sudoers.d
  

注意,上面两条指令都不能加sudo前缀否则依然失败报错。

如果本机无法修改,则使用PE、安装盘等进入电脑的系统盘分区下etc目录,右键–>在此处打开终端,并执行指令(根据报错内容选择修改对象)

  # 如果是sudoers文件报错
sudo  chown  root:root  sudoers

# 如果报错内容是sudoers.d文件夹
sudo  chown  root:root  -R  sudoers.d

# 这里必须带上sudo前缀,但不要/etc