zoukankan      html  css  js  c++  java
  • sudo命令不能用:sudo: /etc/sudoers 属于用户 ID 1000,应为 0 && sudo: /etc/sudoers is owned by uid 1000, should be 0 的解决办法

    问题描述:

    使用命令更新软件包的时候遇到了问题:

    sudo apt-get update

    报错提示:

    sudo: /etc/sudoers 属于用户 ID 1000,应为 0
    sudo: 没有找到有效的 sudoers 资源,退出
    sudo: 无法初始化策略插件

    回顾这个问题的来源应该是我对 /etc 文件夹下面的文件进行修改导致的。

    回顾:    (希望看到的人避开这个坑,对这类文件夹操作一定要慎之又慎。)

        之前再进行某项操作的时候,把 /etc/ 文件夹下面的文件全部锁住了,于是我上浏览器搜索解决办法,解决办法很好找:https://blog.csdn.net/twlkyao/article/details/9897451  (亲试可能会导致上述问题,慎用)

        所以我就按照链接里的步骤再/etc目录下运行了

    sudo chown 用户名 etc/ -R  

        之后再sudo就不能用了,应该是对 sudoers和sudoers.d这两个文档的权限进行了修改。

    解决思路

      在百度和谷歌上面用中文搜索了半天,sudo不能用的描述和我的这个好像都不太一致,基本上所有方案都试了一遍,包括再recovery models中进入单用户模式再root下进行修改,都试了一遍。进入单用户模式的可靠方式                                  https://jingyan.baidu.com/article/f3ad7d0f36675c09c3345b2f.html

      在问了N个人,试了无数个教程,就在我放弃要重装的时候,都已经打开diskpart了,不甘心调了这么久的环境就这么重装了,于是鬼使神差的我使用我的蹩脚英文去google上面去搜,一搜果然很多人遇到了和我相同的问题。

      在某个页面做的挺好看的英文论坛里面找到了答案(链接:https://askubuntu.com/questions/513523/sudo-doesnt-work-etc-sudoers-is-owned-by-uid-1000-should-be-0

    pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
    或者
    pkexec visudo

      我选择了第一个代码(长的看起来可靠),输入之后两个文件的权限应该都进行了修改,可以试用sudo命令了。

      但是多了个提示:

    sudo: 无法 stat /etc/sudoers.d/README: 权限不够

    解决办法很简单,在root权限下(此时可以用sudo):https://www.cnblogs.com/xiongzaiqiren/archive/2019/06/12/11011296.html

    chown -R root:root /etc/sudoers.d
    chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
    chmod u=r,g=r,o= /etc/sudoers.d/*

    大功告成。

  • 相关阅读:
    第十二章 圆周率的计算问题分析
    第十一章:random库概述
    【模板】分治 FFT
    [PKUWC2018]Slay the Spire
    [PKUWC2018]随机算法
    [PKUWC2018]Minimax
    线段树合并初探
    平衡树初探
    Luogu P1613 跑路 题解报告
    CH138 兔子和兔子 题解报告
  • 原文地址:https://www.cnblogs.com/vtas-Yao/p/12443730.html
Copyright © 2011-2022 走看看