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:我以前从未见过的权限被拒绝的行和缺少的名称部分是不寻常的,因为它应该写成zenoraiser而不是那个。
你有什么建议我这样做?
使用sudo
编辑文件时根本不需要执行chmod
,尽管你不应该使用sudo gedit
(例如sudo -H gedit
)
由于您没有递归更改权限,因此您可以非常轻松地解决问题。
启动实时会话(例如,您用于安装的Ubuntu可启动USB或System Rescue。如果您没有,可以使用另一台计算机制作一台甚至购买一台)。 如果使用Ubuntu live USB,请选择**试用Ubuntu而不安装“。
在实时环境中,使用sudo fdisk -l
识别磁盘上的(受影响的)根分区
它可能是最大的分区,它将被标记为“Linux filesystem”。 像/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
您删除了其他用户访问/etc/
目录的可执行权限。 这就是为什么他们不能再访问该目录了。
您可能想尝试sudo su
然后是chmod 755 /etc
但是,如果这不起作用,你可能想要启动一个实时映像挂载硬盘,然后执行chmod命令chmod 755 /mountpoint/etc