ubuntu 下修改了/usr/lib下导致sudo无法使用

本文介绍了一种当sudo命令因权限更改而失效时的解决方案。通过引导模式进入系统,临时修改配置使root用户自动登录,从而获取root权限并修复权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天朋友遇到一个问题,就是他把/usr/lib下面的权限给改了,导致sudo无法使用,提示在加载插件"sudoers_policy"时在/etc/sudo.conf第0行出错

sudo:致命错误,无法加载插件。

试了很多办法,这人su 的root也没有设置密码,导致sudo切换不了root权限而且su root命令也切换不了(提示密码错误)。


然后网上有很多解决办法,但是没有sudo命令无法操作。

按照如下步骤,获取root权限:

第一步,首先进入引导界面下的Advanced option for Ubuntu > linux-  XXXX - (recovery)模式下,如下图:



第二步,选择root选项进入

然后输入命令获取读写权限:mount -o remount,rw /

第三步,修改用户登录文件 

使用已带的文本编辑工具修改 /etc/lightdm/lightdm.conf 

里面改成
"autologin-user=root"
就自己root登陆了 
例如:我这里用的vim,输入命令为vim  /etc/lightdm/lightdm.conf ,按下i键后进入INSERT模式,在autologin-user=后面加上root四个字母,然后按下Esc键退出INSERT模式输入:wq进行保存退出。(当然很多人用vi也行的,如果没有lightdm.conf自己新建

第四步,重启
输入reboot机器重启
重启之后你会神奇的发现默认的登录用户就是root,输入你root的密码进入了之后随便开一个终端都是root用户。
然后干完你的事了之后不情愿一直用root(root下的桌面和你平时用户的桌面不一样,如果发现桌面的文件不在了不必慌张,将 第三步的/etc/lightdm/lightdm.conf文件改回来,重启一下即可
第五步,修复你修改的/usr/lib的权限即可。 
su root进入root权限,以root权限chmod -R 4755 /usr/lib

<think>我们正在讨论Ubuntu系统中关于/usr/lib目录的操作。用户询问如何将文件夹复制到/usr/lib目录。 根据引用[1],我们知道在Ubuntu中,/lib和/usr/lib实际上是相同的(对于32位系统),而/lib64和/usr/lib64是相同的(对于64位系统)。因此,操作/usr/lib目录需要谨慎,因为它是系统库目录。 引用[2]和[3]也强调了/usr/lib的重要性,它是一个系统目录,存放着系统程序运行所需的库文件。自行安装的程序的库文件通常放在/usr/local/lib中(引用[3])。 用户的问题:如何将文件夹复制到/usr/lib目录? 注意:直接操作/usr/lib目录需要管理员权限,并且要非常小心,因为错误的操作可能导致系统不稳定甚至无法启动(如引用[2]中提到的错误操作导致的问题)。 步骤: 1. 打开终端(Terminal)。 2. 使用`sudo`命令获取管理员权限,因为普通用户没有权限修改/usr/lib目录。 3. 使用`cp`命令复制文件夹。假设要复制的文件夹名为`myfolder`,目标路径为`/usr/lib`,则命令为: ``` sudo cp -r /path/to/source/myfolder /usr/lib ``` 其中,`-r`选项表示递归复制(用于文件夹)。 但是,请注意: - 在复制之前,请确保你了解这个文件夹的内容,并且确认它确实应该放在/usr/lib目录下。通常,第三方库应该放在/usr/local/lib中(引用[3])。 - 如果该文件夹包含共享库文件(.so文件),你可能需要运行`sudo ldconfig`来更新系统的库缓存,以便系统能够找到新添加的库。 警告:除非你明确知道自己在做什么,否则不建议直接向/usr/lib中添加文件。因为系统更新可能会覆盖这个目录中的文件,或者导致不可预见的冲突。通常,推荐使用包管理器(如apt)来安装库,或者将库安装到/usr/local/lib中。 如果用户是为了安装某个软件而需要复制库文件,建议查阅该软件的安装说明,看是否有推荐的安装方法(比如使用make install,它会自动将文件放到合适的位置)。 根据引用[4],我们也可以看到系统程序对/usr/lib目录的依赖(例如Java的路径问题),所以随意更改这个目录可能会导致系统程序运行异常。 因此,在回答中,我们需要强调谨慎操作,并推荐更安全的做法(使用/usr/local/lib)。 生成相关问题: 1. 如何安全地添加共享库到Ubuntu系统? 2. 为什么不应该直接将文件复制到/usr/lib目录? 3. 如何设置环境变量让程序找到/usr/local/lib中的库? 4.Ubuntu中,/usr/lib和/usr/local/lib有什么区别?</think>### 如何在Ubuntu中将文件夹复制到/usr/lib目录 在Ubuntu系统中,将文件夹复制到`/usr/lib`目录需要管理员权限,并建议谨慎操作。以下是具体步骤和注意事项: #### ✅ 操作步骤 1. **打开终端** 使用快捷键 `Ctrl+Alt+T` 启动终端 2. **获取管理员权限** 执行命令: ```bash sudo -i ``` 输入管理员密码后进入特权模式 3. **执行复制操作** 使用 `cp` 命令递归复制文件夹(示例将 `/path/to/source_folder` 复制到目标位置): ```bash cp -rv /path/to/source_folder /usr/lib/ ``` - `-r`:递归复制(针对文件夹) - `-v`:显示操作详情(可选) 4. **权限修复**(可选但推荐) 确保文件权限正确: ```bash chown -R root:root /usr/lib/source_folder chmod -R 755 /usr/lib/source_folder ``` #### ⚠️ 关键注意事项 1. **系统稳定性风险** `/usr/lib` 存放核心系统库文件(引用[1]),误操作可能导致系统崩溃(如引用[2]的案例)。建议优先使用包管理器(`apt`)安装官方库。 2. **替代方案推荐** - 用户级库文件应放在 `/usr/local/lib`(引用[3]) - 开发环境变量配置(引用[4]): ```bash export LD_LIBRARY_PATH=/your/custom/lib:$LD_LIBRARY_PATH ``` 3. **操作前备份** 强烈建议备份原始目录: ```bash cp -a /usr/lib /backup/usr_lib_backup ``` #### 💡 典型应用场景 - 安装第三方闭源驱动 - 部署自定义编译的库文件 - 修复特定库缺失问题(如引用[4]的Java路径问题) > **重要提示**:操作后若出现系统异常,可通过Live USB从备份恢复,或使用命令: > ```bash > cp -a /backup/usr_lib_backup/* /usr/lib/ > ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值