Ubuntu 16.04 lts 丢失管理员权限 bash:/etc/profile:权限被拒绝

Ubuntu 16.04 lts 丢失管理员权限 bash:/etc/profile:权限被拒绝

我的 wifi 出现了问题,由于我在尝试解决它时发生了问题,所以它仍然没有解决。

我找到了这个适用于 wifi 的解决方案,并尝试了一下:

sudo gedit /etc/pm/config.d/config

在配置中插入此文本

SUSPEND_MODULES = "drivername logicalchipname"

我注意到我没有权限写入或执行该文件,因此我尝试使用 来chmod解决问题。这是我执行的所有操作的有序列表,这些操作导致了这个问题:

chmod 700 config 
chmod 700 config.d 
chmod 700 etc
chmod 754 etc

在执行第三或第四个命令之后(我不确定是哪一个),我失去了管理员权限;实际上,如果我尝试使用该命令,sudo它会输出 3 行,我会尽力翻译:

sudo: cannot stat /etc/sudoers : permission denied
sudo: no valid source of sudoers found, exiting
sudo: could not initialize policy plugin

在终端上显示

-bash: /etc/profile: Permission denied
Missing name@zenoraiser-P552LA

现在,每当我打开终端时,它都会输出我从未见过的 bash /etc/profile:Permission denied 行,并且缺少的名称部分很不寻常,因为它应该写为 zenoraiser 而不是那样。

你建议我做什么?

答案1

使用编辑文件chmod时根本不需要执行,尽管你不应该使用(例如)sudosudo geditsudo -H gedit

由于您没有以递归方式更改权限,因此您可以相当轻松地解决问题。

启动实时会话(例如,用于安装的 Ubuntu 可启动 USB,或系统救援。如果没有,您可以使用另一台计算机制作一个,甚至可以购买一个)。如果使用 Ubuntu 实时 USB,请选择**尝试 Ubuntu 而不安装"。

在实时环境中,使用以下命令识别磁盘上的(受影响的)根分区sudo fdisk -l

它可能是最大的分区,并且将被标记为“Linux 文件系统”。类似于/dev/sda1/dev/mmcblk0p2

使用正确的名称(而不是sdXY

sudo mount /dev/sdxY /mnt

检查它是否是正确的分区:

ls /mnt

应该输出您期望看到的一些内容/,大致如下:

bin    dev   lib64       mnt   root  snap      sys  var
boot   etc   lost+found  opt   run   srv       tmp  
cdrom  home  lib         media       proc      sbin usr

如果看起来正确:

cd /mnt
sudo chmod 755 etc
sudo chmod 755 etc/pm
sudo chmod 755 etc/pm/config.d
cd

然后你可以卸载分区并正常重新启动系统

sudo umount /mnt
reboot

答案2

您删除了其他用户访问该/etc/目录的可执行权限。这就是他们无法再访问该目录的原因。

您可能想要尝试sudo su然后按chmod 755 /etc

但是,如果这不起作用,您可能需要启动实时映像,安装您的硬盘,然后执行 chmod 命令chmod 755 /mountpoint/etc

相关内容