如何重置 /etc 的默认权限?

如何重置 /etc 的默认权限?

我错误地更改了 的权限/etc。现在它给了我以下错误消息:

bash: /etc/bash.bashrc: Permission denied  
I have no name!@chandan-Inspiron-5520:~$ sudo /etc/init.d/apache2 restart  
sudo: unable to stat /etc/sudoers: Permission denied  
sudo: no valid sudoers sources found, quitting  
sudo: unable to initialize policy plugin  

答案1

我会做什么:

$ sudo su
chown -R root:root /etc
find /etc -type f -exec chmod 644 {} +
find /etc -type d -exec chmod 755 {} +
chmod 755 /etc/init.d/* /etc/rc.local /etc/network/* /etc/cron.*/*
chmod 400 /etc/ssh/ssh*key

这可能还不够,但在没有任何备份的情况下,这是一个好的开始。

答案2

作为 Sputnik 建议的下一步,您可以执行以下操作:在全新安装的与您损坏的服务器具有相同版本的 ubuntu 服务器上,运行以下命令:

find /etc -type f -executable | awk '{printf("chmod a+x %s\n",$0);}' > setexec.sh

然后导入脚本 setexec.sh(使用 wget 或 ftp)并在损坏的服务器上执行它。在 ubuntu 13.04 上,此步骤恢复了大部分功能。

相关内容