Ubuntu改坏sudoers后无法使用sudo的解决办法

练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来。

总提示如下信息:

>>> /etc/sudoers: syntax error near line 22 <<<
sudo: parse error in /etc/sudoers near line 22
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

网上说可以使用下面的命令来编辑sudoers文件

pkexec visudo

然鹅,又出现另一个错误信息:

==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo‘ as the super user
Authenticating as: ubuntu,,, (ubuntu)
Password:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.

寻寻觅觅,终于找到一个神奇的方法:远程的话开两个ssh终端,能直接操作物理机的话使用ctrl+alt+F2 创建第二个终端窗口【使用ctrl+alt+F1=》tty1;ctrl+alt+F2=》tty2对窗口进行切换】,两个终端,都用ubuntu用户登录。

对tty1终端:输入 echo $$ //获取pid

切换到tty2:输入  pkttyagent --process 获取的pid值 ;此时该tty2终端会卡住

切到tty1:输入 pkexec visudo  ;此时tty1也会卡住

切到tty2:会看到要求输入密码,对应输入

切回到tty1:发现已经进入了visudo编辑界面,修改出错的sudoers,保存。

修改完成,发现就可以继续使用sudo命令了。

PS:

一般对/etc/sudoers文件进行操作,建议使用visudo命令. 注意:不要直接使用 vi,直接使用vi不会对文件新加的做相关验证,这可能导致该文件无法正确解析.最终导致sudo命令不能使用,也不能切换使用root用户等一系列问题..

  

https://blog.csdn.net/caijiapeng0102/article/details/84848473

https://sanyecao2314.iteye.com/blog/2278016

原文地址:https://www.cnblogs.com/wayneliu007/p/10321542.html

时间: 2024-11-08 19:06:36

Ubuntu改坏sudoers后无法使用sudo的解决办法的相关文章

Ubuntu 18.04 休眠后无法唤醒的解决办法

1.检查是否安装了grep laptop-mode-tools 工具包 $ dpkg -l | grep laptop-mode-tools 如果执行命令无结果输出,表示未安装(如果已安装,忽略第2步) 2.安装laptop-mode 执行命令:$ sudo apt-get install laptop-mode-tools 安装完成后查看结果 3.判断Laptop是否启用了laptop_mode模式 如果显示结果为0,则表示未启动,如果为非0的数字则表示启动了 4.启动laptop_mode

Ubuntu 16.04 mount报Operation not supported解决办法

Ubuntu 16.04 mount报Operation not supported解决办法: 注:kernel升级到4.15版本后会有这个问题 解决办法:加vers=1.0参数 具体命令:$ sudo mount -o username=aa,password=xxxx,vers=1.0 //10.0.1.5/ming /mnt 原文地址:https://blog.51cto.com/yangzhiming/2433052

ubuntu不能更新SDK或更新很慢解决办法

打开终端输入sudo gedit /etc/hosts 添加以下 203.208.46.146 dl.google.com 203.208.46.146 dl-ssl.google.com 203.208.46.146 groups.google.com 203.208.46.146 goo.gl 203.208.46.146 appengine.google.com 74.125.113.121 developer.android.com 74.125.237.1 dl-ssl.google.

PhpStorm8 无法使用 svn 的解决办法

本文主要讲解PhpStorm8编译器中无法使用svn的解决办法.每次打开PhpStorm都会有出现一个错误信息:Errors found while svn working copies detection.现在第七下载小编来告诉你怎么解决这个问题. PhpStorm是一个轻量级且强大的跨平台PHP开发IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查.PhpStorm-让开发更智能,而不是更困难,非常适合于PHP开发人员及前端工程师. 解决办法如下 首

【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法

[转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的libstdc++.so库. /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++ /usr/bin/ld: skipping incom

LinuxMint/Ubuntu 关机重启等待 90 秒问题的解决办法

LinuxMint/Ubuntu 关机重启等待 90 秒问题的解决办法(其他发行版也可行):1.安装 watchdogsudo apt install watchdog 2.开启 watchdog 服务sudo systemctl enable watchdog.service 3.马上启用 watchdog 服务sudo systemctl start watchdog.service 只需上述三步,关机等待 90 秒就消失了.

Magento 切换成中文后没有数据信息解决办法

一款基于Google Closure compiler压缩Js文件插件. 快捷键: Ctrl+Alt+M            当前文件内压缩Js代码(不推荐) Ctrl+Alt+Shift+M   压缩Js并生成压缩文件 *.min.js 安装成功重启,如果报错,在配置里改一个参数,"compiler": "uglify_js", { // the closure compiler adds new lines every 500 characters // fo

新版MySql 5.6.20,安装后无法登陆的解决办法

1.按照提示安装好mysql 2.运行cmd 进入mysql的安装目录,我的安装目录C:\Program Files\MySQL\MySQL Server 5.6\bin 输入 cd C:\Program Files\MySQL\MySQL Server 5.6\bin 3.采用mysqld将mysql注册为服务,命令为:mysqld -install MySQL 4.启动服务:net start MySQL 5.然后登陆,因为root用户的默认密码为空,直接回车进入 mysql -u root

Toast在关闭应用后还显示的解决办法

1.我们在用Toast的用法就是:Toast.makeText(Context,CharSequence , Duration).show().但有的时候如果你在一次操作当中多次点击一个view的时候去显示Toast,可能在你关闭 应用后Toast任然会继续显示,这个小瑕疵很是讨厌.下面就说一下解决办法(用到activity的生命周期): 就是在要用Toast的Activity中添加两个函数: 函数一: 1 // 对toast进行一个简单的封装 2 public void toastShow(C