LinuxとAWSは初めてです。
私はec2インスタンスでSudo chmod 2770 / command
を実行し、その後
私がしているすべてのことで許可が拒否されていました(lsまたはcdを使用していても)
だから私は(cygwinを使用して)接続を終了し、再接続しようとしましたが、今私は得ます
アクセスが拒否されました(publickey、gssapi-keyex、gssapi-with-mic)
chmod 400 my.pem
、chmod 600 my.pem
、chmod 777 my.pem
を設定しようとしましたが、何も機能しませんでした。
以前は問題なく動作していたssh -i my.pem [email protected]
を使用して接続しようとしています。
解決策は何ですか?
解決策は、新しいインスタンスを開始し、二度とやったことをしないことです。 2770
にリセットしたすべての権限を適切に回復するのは複雑すぎます。
壊れたインスタンスに重要なファイルがある場合は、停止して、そのルートボリュームを新しいインスタンスにマウントし、そこからファイルをコピーできます。
Update:@GeraldSchneiderが指摘するように、すべてのアクセス許可をどこでも再帰的に変更しなかった場合は幸運かもしれません。新しいインスタンスを開始し、それを使用してルート権限を0755
に戻す必要があります。たとえば、次の手順に従ってください: 変更されたAWS EC2ファイアウォールルールおよびsshからロックアウト (代わりにファイアウォールを修正do Sudo chmod 755 /mnt
またはどこにでも別のディスクをマウントします)。
それが役に立てば幸い:)
あなたがしたことは、ファイルシステム内のすべてのファイルを2770許可にすることでした。
-rwxrws--- 1 username agroup 2 Feb 19 23:07 thefilename
これはグループ列の付箋です。つまり、ディレクトリ内のすべてのファイルはagroupによって所有されています。
AWSイメージをそれほどひどくビジョクしたことはありません。しかし、私はそれらを殺すいくつかの問題を見てきました。
[〜#〜] first [〜#〜]ファイルモードを使用する前に、最後のスナップショットに戻します。
あなたは定期的なスナップショットをしないのですか?
[〜#〜] second [〜#〜]バックアップを確認します。ボックスを再構築するのと、バックアップからデータを復元するのは、多かれ少なかれ仕事になるのでしょうか?
何?バックアップもありませんか?
次に、最後の溝標準の回復方法は次のようになります。
Rootとして新しいインスタンスにログインし、壊れたインスタンスのディスクごとに実行します
fsck /dev/xvdX
mkdir /sdX
mount /dev/xvdX /sdX
cd /sdX
ls -l
この時点で、問題を修正するためにchmodを何度も使用する価値があるか、またはデータを新しいインスタンスにコピーして設定するかを決定する必要があります繰り返します。
手動で各ディレクトリに移動し、各ファイルを本来あるべき状態にchmodしてください。 2つのウィンドウを開いたままにして、ライブホストのファイルを、マウントされている壊れたディスクと比較します。正しいファイルを変更していることを確認してください-頻繁に確認してください!!!
たくさんの作業を終えたら、tempマシンをシャットダウンし、EC2 Web GUIでディスクを切り離してから、元のマシンに、元のマウントポイントと同じマウントポイントで再接続します。注:ルートドライブはsda1ではなくsdaとして接続されていますが、他のすべてのボリュームとして接続されていますzを介してsdbとして接続されます。
どちらの方法でも、自動スナップショットまたはバックアップ、あるいはその両方をセットアップする必要があります!
これとまったく同じことを再度行わないようにするには、chmodのエイリアスを
chmod --preserve-root
しかし、これは他のディレクトリを保護しません。
また、習慣だけでコマンドの前でSudoを使用しないでください。