web-dev-qa-db-ja.com

/ 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  
5
Satish Prasad

私がすること:

$ 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

十分ではないかもしれませんが、バックアップがなければ、それは良いスタートです。

5
Gilles Quenot

Sputnikの推奨後の次のステップとして、これを行うことができます。壊れたサーバーと同じバージョンのUbuntuサーバーの新規インストールで、これを実行します。

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

次に、スクリプトsetexec.shを(wgetまたはftpを使用して)インポートし、破損したサーバーで実行します。 ubuntu 13.04では、この手順によりほとんどの機能が復元されました。

4
Vincent Lalieu