我想我可能用得太多了sudo chmod -R
,我无法打开各种各样的程序!
我目前在根目录中,正在查看以下子目录:
drwxr-xr-x 2 root root 4096 Jun 8 22:00 bin
drwxr-xr-x 3 root root 4096 Jun 8 22:01 boot
drwxr-xr-x 2 root root 4096 Oct 11 2013 cdrom
drwxr-xr-x 15 root root 4100 Aug 12 21:41 dev
-rw-r--r-- 1 starkers starkers 24853275 Jan 30 2012 Downloads
drwxr-xr-x 154 root root 12288 Aug 12 21:57 etc
drwsr-sr-x 4 666 root 4096 Jun 16 21:13 home
lrwxrwxrwx 1 root root 33 Jun 8 22:01 initrd.img -> boot/initrd.img-3.11.0-23-generic
lrwxrwxrwx 1 root root 34 Jun 8 22:00 initrd.img.old -> /boot/initrd.img-3.11.0-23-generic
drwxr-xr-x 24 root root 4096 Jul 18 11:12 lib
drwxr-xr-x 2 root root 4096 Jul 18 11:12 lib32
drwxr-xr-x 2 root root 4096 Jan 9 2014 lib64
drwx------ 2 root root 16384 Oct 11 2013 lost+found
drwxr-xr-x 4 root root 4096 Oct 30 2013 media
drwxr-xr-x 4 root root 4096 Nov 4 2013 mnt
drwxr-xr-x 7 root root 4096 Jul 18 11:12 opt
dr-xr-xr-x 361 root root 0 Aug 12 21:40 proc
drwx------ 7 root root 4096 Apr 9 18:01 root
drwxr-xr-x 29 root root 920 Aug 12 21:41 run
drwxr-xr-x 2 root root 12288 Jun 8 21:59 sbin
drwxr-xr-x 2 root root 4096 Apr 24 2013 srv
dr-xr-xr-x 13 root root 0 Aug 12 21:41 sys
drwxr-xr-x 9 666 root 12288 Aug 12 21:49 tmp
drwxr-xr-x 11 root root 4096 Jul 18 11:12 usr
drwxr-xr-x 15 root root 4096 Jan 9 2014 var
lrwxrwxrwx 1 root root 30 Jun 8 22:01 vmlinuz -> boot/vmlinuz-3.11.0-23-generic
lrwxrwxrwx 1 root root 30 Jun 8 22:00 vmlinuz.old -> boot/vmlinuz-3.11.0-23-generic
这些文件夹的推荐权限是什么?所有内容的权限都是 0666?
我希望chmod -R
一切能够恢复正常。
答案1
应该是这样的:
total 108
drwxr-xr-x 2 root root 4096 Aug 8 19:16 bin
drwxr-xr-x 5 root root 4096 Aug 10 08:53 boot
drwxr-xr-x 4 root root 4096 May 17 09:39 BootInfo
drwxr-xr-x 4 root root 4096 May 17 09:26 boot-sav
drwxr-xr-x 2 root root 4096 May 12 18:54 cdrom
drwxr-xr-x 18 root root 4600 Aug 12 19:18 dev
drwxr-xr-x 182 root root 12288 Aug 12 08:29 etc
drwxr-xr-x 4 root root 4096 Jul 26 11:33 home
lrwxrwxrwx 1 root root 33 Aug 10 08:52 initrd.img -> boot/initrd.img-3.13.0-33-generic
lrwxrwxrwx 1 root root 33 Jul 10 19:32 initrd.img.old -> boot/initrd.img-3.13.0-32-generic
drwxr-xr-x 27 root root 4096 Aug 5 19:34 lib
drwxr-xr-x 2 root root 4096 Aug 5 19:33 lib32
drwxr-xr-x 2 root root 4096 Aug 5 19:34 lib64
drwx------ 2 root root 16384 May 12 18:49 lost+found
drwxr-xr-x 3 root root 4096 May 12 20:59 media
drwxr-xr-x 2 root root 4096 Apr 19 2012 mnt
drwxr-xr-x 10 root root 4096 Aug 1 10:38 opt
dr-xr-xr-x 418 root root 0 Aug 12 08:26 proc
drwx------ 12 root root 4096 Aug 11 21:35 root
drwxr-xr-x 29 root root 920 Aug 12 11:08 run
drwxr-xr-x 2 root root 12288 Aug 8 19:15 sbin
drwxr-xr-x 2 root root 4096 Aug 20 2013 srv
dr-xr-xr-x 13 root root 0 Aug 12 08:26 sys
drwxrwxrwt 15 root root 4096 Aug 12 22:09 tmp
drwxr-xr-x 13 root root 4096 Aug 5 16:32 usr
drwxr-xr-x 15 root root 4096 May 30 14:53 var
lrwxrwxrwx 1 root root 30 Aug 10 08:52 vmlinuz -> boot/vmlinuz-3.13.0-33-generic
lrwxrwxrwx 1 root root 30 Jul 10 19:32 vmlinuz.old -> boot/vmlinuz-3.13.0-32-generic
据我所知,我没有对它们进行任何修改。
答案2
好的,让我猜一下,您无法访问 /home、/tmp 和 /Downloads。
我。首先,如果您查看 /home 和 /tmp 的所有者,您会发现它们基本上归 666 所有,所以我猜 Satan 也是您系统上的用户。但是,这两个文件夹需要由 root 所有,因此请将它们 chown 为 root,然后从主目录中取出特殊位,然后将粘性位放在 /tmp 上并赋予其完全 rwx(许多程序都需要使用它来存储临时数据):
sudo chown root /home
sudo chown root /tmp
sudo chmod 0755 /home
sudo chmod 1777 /tmp
希望您没有以递归方式更改所有者或权限,否则您将需要做更多的工作才能使事情恢复正常。
二.除了那个不应该存在的神秘 Downloads 目录之外,其他一切都很好。尽量保持文件系统整洁,不要在 / 中包含不直接由 root 拥有的内容。此外,如果您查看该 Downloads 目录,根据这些权限,您无法使用 UID=0(root)以外的任何权限执行它。我猜那是您的 Downloads 文件夹,来自/主页/starkers但在执行任何操作之前请仔细检查,以免丢失数据。如果这确实是上面提到的下载文件夹,则需要将其移动到其所属的位置并授予其执行权限,因为它应该具有:
sudo mv Downloads /home/starkers
sudo chmod +x /home/starkers/Downloads
再次强调,如果你缺少 /home/starkers 中的 Downloads 目录,则只需执行最后一点
三温馨提示:如果您在以 root 身份运行时不知道自己在做什么,Linux 确实有这种破坏方式。这就是为什么 ubuntu 强制用户使用 sudo 命令,以便让您在按下命令上的 RETURN 时三思而后行。如果您打算将 linux 作为日常操作系统,那么我建议您模拟第二个 linux 机器(例如,使用 virtualbox),您可以在其中运行所有您想要的测试,而不必担心破坏主操作系统。