【linux】不小心对整个/usr/目录执行了chmod 777命令,如何恢复故障的权限设定

news/2025/2/14 5:30:37/

一、问题背景

在安装ansys的时候,脑子抽风,以为/usr/目录是共享目录,直接把所有文件或目录的权限完全设置为全用户自由读写和执行即可。

但是没想到执行了命令sudo chmod -R 777 /usr/命令之后,出现了一大堆sudo权限错误。

较为典型的几个错误如下:

1、/usr/bin/sudo must be owned by uid 0 and have the setuid bit set
2、sudo: error in /etc/sudo.conf, line 0 while loading plugin “sudoers_policy”

在这里插入图片描述

在这里插入图片描述

二、如何进入恢复模式?

上面的错误表示 /usr/bin/sudo 文件的权限或所有者不正确。为了修复这个问题,需要将该文件的所有者更改为用户 ID 0(即 root 用户),并设置 setuid 位。

从恢复模式进入系统来解决这个问题。

首先用reboot命令重启系统。

在开机时,遇到主板相应的那个界面时,例如超微主板界面如下。如果你是Ubuntu系统,需要疯狂的按shift键。其他系统进入恢复模式的按键,你们可以去查查,一般来说就是esc或shift。
在这里插入图片描述
当 GRUB 引导加载程序出现时,选择 “Advanced options for Ubuntu”(或类似名称的选项)。
在这里插入图片描述
在“Advanced options”菜单中,选择带有 “(recovery mode)” 标签的最新内核版本。在这里插入图片描述

系统将进入恢复模式。

三、在恢复模式中执行以下命令

在恢复菜单中,选择 “root - Drop to root shell prompt” 选项。
在这里插入图片描述
以 root 用户身份进入命令行。执行以下命令:

chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
pkexec chmod u+w,go-w /usr/libexec/sudo/sudoers.so

在这里插入图片描述
上图中有一个命令没执行,之后就出现了第一章问题背景中的第二个错误。所以三个命令一定都要执行到位。

最后,执行exit命令退出命令模式。

选择resume normal boot,这样就能回到正常桌面中。

在这里插入图片描述
这里回车确定。
在这里插入图片描述
如果你像我一样发现黑屏进不去,那么你可以用Ctrl+Alt+F2-6来进入TTY命令模式, 这样你就可以执行命令system ctl reboot -i来强制重启你的Linux系统。

这样重启之后,就能正常显示桌面了。

四、解决error日志文件不断生成的问题

参考:Ubuntu下error_log过大的终极解决方案

大概是因为仍然有些文件或目录的权限仍然不对,导致cups服务不断生成错误日志。足足占满了我的硬盘,我才发现!!!
在这里插入图片描述
在这里插入图片描述
随后,执行下面几条命令即可解决。

sudo chmod 755 /usr/lib/cups/notifier/dbus        # 修改 这个路径的权限
sudo chown root.root /usr/lib/cups/notifier/dbus  # 修改 dbus文件的归属用户,如果是文件夹最好加-R
sudo rm /var/log/cups/error*                      # 删除 error 文件
sudo /etc/init.d/cups restart                     # 重启服务
tail error_log                                    # 查看 error 文件,如果返回空,说明成功了

Ref

CSDC博主“”上海一亩地“”写的文章【Linux系统目录下文件权限、所有者全部恢复】中,提到用相近机器的权限文件去恢复权限设定。

可能他的意思是我用上面的三条命令,还是没办法恢复至初始设定。

不过大家可以尝试一下下面两条命令(我没试过,这是AGI生成的,有效性存疑,谨慎尝试哦),第一条是给所有目录设置默认权限,第二条的修改对象是文件:

sudo find /usr/ -type d -exec chmod 755 {} \;
sudo find /usr/ -type f -exec chmod 644 {} \;

既可以在恢复模式中执行,也可以在执行上面三条命令之后,进入正常模式的终端中执行。

如此执行之后,特定的目录或文件,可能需要特定的权限,你们根据自己需要进行自定义修改。


http://www.ppmy.cn/news/485007.html

相关文章

js设置默哀用全局灰度

js设置默哀用全局灰度 1 思路2 css文件内容3 新增/删除link标签的方法4 业务代码(参考即可) 1 思路 通过动态的新增/删除link标签,使js能操作是否引入css。 2 css文件内容 // 通过给html设置灰度滤镜,使全部样式变成灰色 html …

ts 内置工具类型(Partial、Pick、Record、Readonly、Exclude、Extract、Omit等)

参考链接:https://blog.csdn.net/qq_43869822/article/details/121664818typescript 源码可在包目录(如 node_modules)中 lib.es5.d.ts 文件中查看 概要 可选 Partial 、必选 Required、只读 Readonly 过滤、剔除:Exclude、Extra…

win10麦克风打开与关闭

1.点击开始 2.点击设置,设置里面有一个隐私选项

腾讯课堂电脑版麦克风怎么打开

在使用的时候点击右下角【麦克风】图标即可开启,再次点击则关闭。如果麦克风有叉号,无法点击使用,可能是没有权限。在电脑【设置】-【隐私】-【麦克风】中开启权限即可。具体介绍如下: 1、登录腾讯课堂,在使用的时候…

c语言调用话筒的程序,如何在ubuntu中用c语言打开麦克风

满意答案 jqyong007 2016.08.26 采纳率:53% 等级:9 已帮助:418人 1234567891011121314151617181920212223242526272829303132333435361.最简单的方法:public static String reverse1(String str){ return new StringBuffer(s…

手机充当电脑麦克风

1.电脑端安装 wo麦克风的PC端和驱动 wo麦克风PC端和驱动 2.APP端安装 https://wolicheng.com/womic/softwares/app-release.apk

Python调用电脑麦克风录音

import wave import pyaudio 定义数据流块 CHUNK 1024 FORMAT pyaudio.paInt16 CHANNELS 2 RATE 44100录音时间 RECORD_SECONDS 5要写入的文件名 WAVE_OUTPUT_FILENAME “output.wav”创建PyAudio对象 p pyaudio.PyAudio()打开数据流 stream p.open(formatFORMAT, chan…

STM32 RGB屏幕

使用ST的HAL库进行开发,RGB屏幕是480*272的4.3寸LCD,由于驱动RGB屏幕需要较多的内存, 所以使用了外部SDRAM,内存是32M字节,关于SDRAM的驱动本文不进行讨论。 RGB屏幕常用的像素格式有:ARGB8888、RGB888、…