毎度、ググっても出てこない小ネタを取り扱っております。
本記事は個人的な見解であり、筆者の所属するいかなる団体にも関係ございません。
0. はじめに
もう、タイトルのとおりです。
ビックリしました。
1. 何をしたか
rsyncで以下のようにファイルをコピーしただけです。
2. 突然SSHでログインできなくなった
SSHでログインできなくなりました...。
AWS EC2でSSHログインできないと終了フラグです。
たまたま、SSHで開いていたターミナルがありましたので対処できましたが、そうじゃなかったらインスタンスを作り直さないといけなかったかも。
3. 何が起こったか
犯人は複数要因でした。
- SSHサーバーの設定では、/home/userB つまり、userBのホームディレクトリの権限が700でない場合ログインできなくなるというセキュリティー設定が入っています。
- rsync -a はディレクトリパーミッションもコピー先のディレクトリに適用するという設定が入っています。
つまり、以下のコマンドは、
rsync –a DirA/ userB@hoge:/home/userB/
DirAのパーミッションを/home/userBディレクトリに適用するということになります 😱
そして、DirAのパーミッションは、750でした。。
rsyncコマンドにより/home/userBのパーミッションは750になり、SSHログインできなくなりました。。。。
4. まとめ
rsyncの -a
オプションには気をつけよう。