首页 > 系统相关 >Linux:远程Ubuntu服务器误修改sudoers 导致无法sudo的解决办法

Linux:远程Ubuntu服务器误修改sudoers 导致无法sudo的解决办法

时间:2023-10-08 11:26:50浏览次数:45  
标签:Linux sudoers sudo etc 16 base Ubuntu ubuntu

问题复现

本来想用腾讯云测试一下用户权限管理,给test用户设置面密码登录,修改/etc/sudoers如下

test ALL=(ALL:ALL) NOPASSWD: ALL

手抖忘了写NOPASSWD后面的冒号,导致关闭后sudo直接报错

(base) ubuntu@VM-16-11-ubuntu:~$ sudo vim /etc/sudoers
>>> /etc/sudoers: syntax error near line 34 <<<
sudo: parse error in /etc/sudoers near line 34
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

明显/etc/sudoers改错了想重新进入修改,但是发现普通用户想访问/etc/sudoers需要sudo权限,但是这个问题不解决无法sudo,这下完了搞得以后都不能再sudo了


解决方案

先试一下直接pkexec visudo行不行

(base) ubuntu@VM-16-11-ubuntu:/etc$ 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.

不行啊,发现一篇大佬的文章亲测可行记录一下防止以后再犯
https://blog.csdn.net/caijiapeng0102/article/details/84848473

远程ssh登录开两个终端,第一个终端

(base) ubuntu@VM-16-11-ubuntu:/etc$ echo $$
2235

第二个终端

(base) ubuntu@VM-16-11-ubuntu:~$ pkttyagent --process 2235

切回第一个终端

(base) ubuntu@VM-16-11-ubuntu:/etc$ pkexec visudo

再到第二个终端输入密码

(base) ubuntu@VM-16-11-ubuntu:~$ pkttyagent --process 2235
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/usr/sbin/visudo' as the super user
Authenticating as: ubuntu,,, (ubuntu)
Password: 
==== AUTHENTICATION COMPLETE ===

此时再回到第一个终端开始出现sudoers文件内容了,开始修改加上冒号,然后ctrl+x+y退出,ok了又可以sudo了



作者:xiaogp
链接:https://www.jianshu.com/p/adb555a87bca
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:Linux,sudoers,sudo,etc,16,base,Ubuntu,ubuntu
From: https://www.cnblogs.com/Maker-Liu/p/17748427.html

相关文章

  • linux内核升级和内核源码编译
    一、ubuntu通过命令安装内核版本1、检查原系统内核版本uname-r2、搜索可用linux内核版本apt-cachesearchlinux|greplinux-headers3、通过apt命令安装内核apt-getinstall linux-headers-5.4.0-80-generic linux-image-5.4.0-80-generic4、安装成功后查看/boot目录......
  • Linux-grep或和与操作
    一、或(or)操作1、使用选项-Egrep-E'a1|a2’filename//找出文件(filename)中包含a1或者包含a2的行2、使用egrepegrep‘a1|a2’filename//用egrep同样可以实现3、使用选项-e使用grep-e选项,只能传递一个参数。在单条命令中使用多个-e选项grep-ea1-ea2filename//......
  • linux跳过cmake,安装高版本的wgrib2
    一、安装依赖包yumgroupinstall'DevelopmentTools'yuminstallzlib-devel-yyuminstalllibpng-devel-yyuminstallopenssl-devel-yyum-yinstallgccgcc-c++opensslopenssl-develtar二、下载wgrib2编译包并且解压,修改makefiletarxvfwgrib2.tgz.v3.1.2......
  • ubuntu下mysql有表却提示table doesn't exist
    linux里面的mysql是区分大小写的,windows下的mysql不区分。在mysql的安装目录里面找到mysqld.cnf文件,在[mysqld]的下面(可以看到还有别的配置信息)添加  lower_case_table_names=1  就行了。我的这个配置文件的目录是/etc/mysql/mysql.conf.d文件夹下。......
  • Rockchip RK3399 - linux下抓取usb数据包
    ----------------------------------------------------------------------------------------------------------------------------开发板:NanoPC-T4开发板eMMC:16GBLPDDR3:4GB显示屏:15.6英寸HDMI接口显示屏u-boot:2017.09linux:4.19----------------------------------......
  • 基于 Linux、C++实现的高性能内存池
    1.引入内存池的意义  内存池(MemoryPool)是一种内存分配方式,又被称为固定大小区块规划(fixed-size-blocksallocation)。通常我们习惯直接使用new、malloc等API申请分配内存,但是这种方式非常容易产生内存碎片,早晚都会申请内存失败。并且在比较复杂的代码或者继承的屎山......
  • Linux系统目录结构
    linux系统目录结构 linux的/目录linux目录:一切从/开始,/是最顶级的目录 类似Windows只有一个C盘 linux的一级目录bin:二进制命令所在的目录,这个目录存放着最经常使用的命令。dev:硬件设备所在的目录磁盘光驱,home:普通用户的家目录 root:管理员用户的家目录mn......
  • 部署项目到Linux踩的坑
    一、tomcat版本不一致在windows上开发时用的tomcat9,实现javax.servlet.Filter的实现类无需重写init()和destroy(),但我在Linux上安装的tomcat是8.5,javax.servlet.Filter的实现类需要重写init()和destory()。导致我能访问到linux上tomcat主页,但是不能访问部署的项目,在日志文件中......
  • Linux---0.11---asm.s硬件中断类型介绍
    _divide_error这是一个标记,通常用于表示与除法错误相关的处理程序或函数。当发生除以零的错误时,处理器可能会跳转到与此标记关联的处理程序,以处理该错误。_debug_debug:这是一个标记,通常用于表示与调试相关的处理程序或函数。调试处理程序通常用于在调试模式下捕获和处理调试事......
  • Linux - 安装MySQL
    下载地址:https://downloads.mysql.com/archives/community/安装步骤:mkdirmysqltar-xvfmysql-8.0.26-1.el7.x86_64.rpm-bundle.tar-Cmysqlrpm-ivhmysql-community-common-8.0.26-1.el7.x86_64.rpmrpm-ivhmysql-community-client-plugins-8.0.26-1.el7.x86_64.rp......