![将“usr”的权限更改为 700](https://linux22.com/image/1139642/%E5%B0%86%E2%80%9Cusr%E2%80%9D%E7%9A%84%E6%9D%83%E9%99%90%E6%9B%B4%E6%94%B9%E4%B8%BA%20700.png)
/usr
我把Ubuntu的权限改为700。
图形无法工作。在 tty 中,我无法使用 sudo 来重新更改权限。
我尝试从“高级启动选项”访问根目录并运行命令chmod 755 /usr
,但它显示“只读文件”之类的内容,并且权限没有改变。
我的一个朋友也尝试过安装驱动器并更改所有者,但似乎没有任何效果。
答案1
不幸的是,您删除了组权限和所有其他权限。而且您对系统用于启动和绘制 GUI 的几乎每个程序都做了同样的操作。您还摧毁了终端仿真器。除非您有可以恢复的映像,否则我认为您将不得不重新安装操作系统。
答案2
如果你在恢复模式下启动并得到一个可以启用网络的菜单(此选项将以读写权限挂载文件系统),那么启用网络然后选择进入 root shell并跳至步骤 3-sudo
在这种情况下,您可以省略命令。如果您在恢复中启动并且没有看到此选项,那么它将不起作用,因为您必须使用sudo
以读写方式重新安装并且您不能使用sudo
,因此在这种情况下:
如果你没有网络和 root shell 恢复选项,那么请启动实时会话(如果你没有,请让朋友为你制作一个实时 USB)并挂载你的安装:
使用 找到根分区
sudo fdisk -l
。如果您没有双启动并且很可能有一个 ext4 文件系统,它将是最大的分区。挂载分区,使用根分区的实际名称而不是
/dev/sdxY
挂载cd
点:sudo mount /dev/sdxY /mnt cd /mnt
检查当前权限
ls -ld /usr
如果不是 root,则将所有者更改回 root:
sudo chown root:root /usr
检查你的朋友是否使用过-R
该命令ls -ld /usr/bin
,如果它说 root 是所有者,则不要再执行任何操作并转到下一步。如果你的朋友使用过-R
,那么你必须使用sudo chown -R root:root /usr
在这里纠正它。root 应该是/usr
除了 /usr/bin/at
这应该属于daemon
所以如果你使用chown -R root:root /usr
然后之后做chown daemon:daemon /usr/bin/at
(我使用巧妙的 find 命令检查了这一点这个答案...如果你有/usr/sbin/uuidd
,也应该是chown
:chown libuuid /usr/sbin/uuidd
更改权限(不使用 -R)
sudo chmod 755 /usr
再次,请不要使用-R
旗帜
A。
-R
假设您一开始就没有使用该标志,那么您现在已经修复了它。如果你做过使用该-R
标志,那么可能会更容易安全地备份您的/home
内容并重新安装,但现在修复sudo
需要 setuid 位(八进制 4):sudo chmod 4755 /usr/bin/sudo
如果正在运行实时会话,
cd
请退出并卸载分区:cd / sudo umount /dev/sdxY
然后重新启动回到您的系统。现在您有了sudo
,并且chmod
位于/bin
,因此您可以使用它sudo chmod
来修复 /usr 中您需要的任何其他损坏的权限,以便您接下来要执行的操作,但请确保您确切知道自己在做什么(例如,阅读一些内容这和这)使用时chmod
(读取并避免使用-R
标志 - 如果清除setuid位,sudo
则会再次破坏它。