zoukankan      html  css  js  c++  java
  • 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

    好记性不如烂笔头,每天记录一点点
  • 相关阅读:
    Objects类源码详解(基于jdk1.8.0_261)
    Object类源码详解(基于jdk1.8.0_261)
    Collections工具类源码详解(基于jdk1.8.0_261)
    版本控制神器——git的基本使用
    数据结构练习1~插入排序~
    求指错啊急是求幂的
    编完了个代码大家给看看还能不能精简
    关于KMP算法
    有网友建议写一个新手指南或者FAQ一类的置顶你们认为呢
    c语言新手编程错误求解
  • 原文地址:https://www.cnblogs.com/wayneliu007/p/10321542.html
Copyright © 2011-2022 走看看