hylan:创建 共享文件 引发 Ubuntu sudo命令 失灵后的拯救

今天看linux系统共享文件时,执行代码:usermod -G shared marvin

居然使安装linux系统唯一的账户marvin的sudo命令失效了。

链接:和这位仁兄一样

但我的情况更加复杂,因为我的root是默认禁用的。

也就是说 此时我不能通过 su root 召唤出root账号。


  下面先回顾我的学习内容:

共享文件

首先创建好 shared组(以下代码 没有权限的时候需要在前面加 sudo)

mkdir testdir

ls -l            --此时目录的 属主和属组 都是marvin

chgrp shared testdir      作用:将目录testdir的默认属组改为shared组

chmod g+s testdir (或者 chmod 2775 testdir    PS:符号模式 和 八进制模式)  

                                       作用:重置组ID 目录中创建的新文件会以目录的默认属组作为默认属组

ls -l            --此时目录的 属主是marvin 属组是 shared

umask 002

cd testdir

touch testfile

ls -l            --此时文件的 属主是marvin 属组是shared



解决方案(root禁用且唯一账号marvin的sudo失效时)

理论关键点(1. recovery模式是"只读"的  2. /etc/sudoers文件默认是"只读"的)

备注:我的解决方案用我唯一的账号marvin为例

重启机器,一直按shift 让计算机进入recovery模式

选择 root 按 ENTER

在命令行中输入交互式命令:

mount -o remount rw /    (recovery模式进系统硬盘是挂载为"只读"的,要想改文件需要remount / 并添加w权限)

chmod u+w /etc/sudoers  (/etc/sudoers文件默认是"只读"的

vi /etc/sudoers

编辑文件:/etc/sudoers(关键点:在root ALL=(ALL:ALL) ALL   下面仿造添加一行 marvin  ALL=(ALL:ALL) ALL

编辑好后保存 ,查看一下文件内容 cat /etc/sudoers 看账号marvin是否添加成功。

chmod u-w /ect/sudoers (为了安全考虑,收回只读文件的写权限)


备注:recovery模式为只读模式

mount -o remount rw /   这条命令的目的是:使/(根目录)可写

mount命令 

参数-o   指定挂载文件系统时的选项

remount    重新安装已经安装了的文件系统

rw    以读写方式挂载



永久解决方案(不折腾)

sudo passwd root      启用root账号(备注:我root的密码是521520)

sudo passwd -l root   禁用root账号



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值