GNU/Linux >> Linux の 問題 >  >> Linux

Chmod -r 644 /?の後に壊れたシステム

私はdebianjessieを使用していますが、これらの悪い間違いの1つを実行し、コマンドの入力ミスとそのような状況でのさらに悪い間違いでシステムを壊しました。

ルートフォルダで誤ってchmodを再帰的に使用したいくつかの権限を修正しようとしています:

# chmod -R 0644 /

すぐに気付いたのですが、急いで停止しましたが、システムがフリーズし、さらに悪いことに、システムの電源を切るのが大変でした。

ユーザーマネージャーに問題があり、「サービスを開始できませんでした」というメッセージが表示されて起動した後、Gnomeユーザーのログインがなく、コンソールにもログインできません。そして、これが数回点滅してから画面に表示されたままになるものです:

[ ok ] Created slice user-113.slice
       Starting user manager for UID 113...  
[ ok ] Started user manager for UID 113  
[ ok ] Stopped user manager for UID 113  
[ ok ] Removed slice user-113.slice 

承認された回答:

良いニュースは、すべてのデータがまだそこにあるということです。さまざまなニュースとして、システムのインストールが回復可能かどうかは不明です。これは、chmodの場所によって異なります。 停止しました。

修復するには、レスキューシステムを起動する必要があります。レスキューシステムから、壊れたインストールをどこかにマウントします。たとえば、/mnt 。次のコマンドを発行します:

chmod 755 /mnt
find /mnt -type d -perm 644 >/mnt/bad-permissions
find /mnt -type d -exec chmod 755 {} +

最初のfind コマンドは、不正なアクセス許可を持つディレクトリのレコードをファイルに保存します。目的は、権限が変更された場所を確認することです。 2番目のfind コマンドは、すべてのディレクトリをパブリックにアクセスできるように変更します。

これで、すべてのディレクトリが/mnt/bad-permissionsにリストされているシステムができました。 これらのディレクトリ内のすべてのファイルは誰でも読み取り可能です。さらに、これらのディレクトリ内のファイルは実行可能ではありません。影響を受けたファイルによっては、これは簡単に修復できる場合とできない場合があります。間違って設定されたchmod/777を参照してください。問題がありますか?システムを機能させるために何を試すことができるかについては、これに追加する必要があります

chmod a+x /bin/* /sbin/* /usr/bin/* /usr/sbin/* /lib*/ld-*

ただし、なんとか機能するようになったとしても、一部の権限が間違っている可能性が高いため、新しいシステムを再インストールしてからデータを復元することをお勧めします。インストールされたパッケージの選択をあるDebianシステムから別のシステムに複製するにはどうすればよいですか? (Debian Wheezy)が役立つはずです。

関連:システムを再起動せずにmacOS MojaveでSafariのDNSキャッシュをフラッシュする方法は?
Linux
  1. 壊れたNfs接続がクライアントシステムをフリーズするのを防ぎますか?

  2. / usr / bin / chmodなしでchmodする方法は?

  3. オペレーティングシステムをインストールした後、Gnome BoxesはIsoから起動しますか?

  1. 数列の壊れたシーケンスの後に改行を挿入するAwk/unix / shellスクリプティング?

  2. 12.10にアップグレードした後、Unityは完全に壊れましたか?

  3. Gnome Classicに戻した後、システムメニューを元に戻しますか?

  1. 再インストールせずに壊れたUbuntuOSを修正する方法

  2. x =os.system(..) の戻り値

  3. システムが既にインストールされた後にスワップのサイズを減らす方法は?