恢复chmod 777 / -R

当执行一个命令我犯了一个错误,并执行(Ubuntu 10)

sudo chmod 777 / -R#好吧,你可以笑

现在我所有的文件系统都有777个permition,显然我不知道我的1TB驱动器中每个文件夹和文件的permition在哪:D

无论如何,我可以恢复这个吗?

提前致谢 !!!

哇…这很糟糕…你现在可以做的最好的事情是备份你的个人数据并重新安装你的系统。

由于这可能不是你想要听到的,所以第二好的(也可能是更痛苦的)事情是这样的:

for package in `dpkg -l | awk '{print $2}'`; do apt-get install --reinstall $package done 

请注意,这个修正是纯粹的理论(我从来没有尝试过),但它会重新安装系统上的每个包(因为据我可以告诉aptdpkg没有“修复权限”function像RPM)。 重新安装应该修复软件包中所有文件的权限。

这个“修复” 可能会破坏其他的东西,而且你可能还会有一些不在任何软件包中的777个文件,所以你应该通过find所有的777模式来确保列表看起来很正常。

尝试下面的命令

 rpm --setperms $(rpm -qa) 

这会将所有权限重置为存储在rpm数据库中的默认值。

或者,如果您想要逐包打包并获得更多输出,请尝试:

 for p in $(rpm -qa) ; do echo "$p" ; rpm --setperms $p ; done 

只会恢复与rpm一起安装的文件,而不是您手动创build的其他文件,或者在/ home中,或以非rpm包的方式安装。

如果你有一个完整的备份,那么你可以从那里获得权限。