我粗心了一秒钟,并设法在我的 Ubuntu 系统上输入(以 root 身份登录):
chown foobar /*
chown foobar /*/*
损坏的可能程度有多大?如何恢复?
答案1
看起来确实没有太多需要修复的地方,至少在全新安装 Ubuntu 15.10。当然,如果您安装了一些东西,您将拥有我没有的文件和目录。不过,我相信此输出将显示保持 Ubuntu 运行的适当权限。有些程序可能会因为您运行的命令而损坏,但 Ubuntu 至少会运行,并且您可以从那里重新安装应用程序。
如果不起作用,请尝试将所有者设置为该组。它最初可能不一样,但如果应用程序无法运行,那么值得一试。
通过运行shopt -s extglob; find /!(proc|tmp|dev|run|root|lost+found) -maxdepth 1 -ls | awk '$5!="root" || $6!="root"'
(感谢@terdon),我想出了以下结果:
131226 4 -rw-r----- 1 root shadow 824 Jun 21 14:34 /etc/gshadow
131284 4 -rw-r----- 1 root shadow 1212 Jun 21 14:34 /etc/shadow
131095 4 drwxr-s--- 2 root dip 4096 Oct 21 2015 /etc/chatscripts
131103 4 drwxr-xr-x 5 root lp 4096 Jul 19 07:00 /etc/cups
find: `/mnt/hgfs': Protocol error
1064478 4 drwxr-xr-x 16 zw zw 4096 Jul 19 07:26 /home/zw
655571 36 -rwxr-sr-x 1 root shadow 35536 Apr 22 2015 /sbin/unix_chkpwd
655516 36 -rwxr-sr-x 1 root shadow 35576 Apr 22 2015 /sbin/pam_extrausers_chkpwd
150670 4 drwxrwsrwt 2 root whoopsie 4096 Oct 21 2015 /var/metrics
150669 4 drwxrwsr-x 2 root mail 4096 Oct 21 2015 /var/mail
150668 4 drwxrwxr-x 14 root syslog 4096 Jul 19 07:00 /var/log
150664 4 drwxrwsrwt 2 root whoopsie 4096 Oct 21 2015 /var/crash
150666 4 drwxrwsr-x 2 root staff 4096 Oct 19 2015 /var/local
- 该命令排除
/root
和/lost+found
,因为/root
和下的所有内容/lost+found
都属于root
。确保相应地设置所有权。 - 该命令不包括
/proc
、和/tmp
,因为这些目录包含在重新启动时重置的文件。/dev
/run
/mnt
并且/media
可能对子目录设置了特殊权限。重新启动可能会修复下面的问题/media
,但我不确定/mnt
。
您需要注意的目录并不多,因为它们中的大多数都属于root
.如果您有任何/*/*
我没有的额外目录,请尝试将其所有者设置为root
或相应的组。对于所有匹配的内容,只需修复权限即可。
我将通过运行您运行的命令来反转这两个命令,但替换foobar
为root
.然后您可以稍后修复其他权限。