問題の説明
Elastic Compute Service(ECS)コンソールで Linux ECS インスタンスのルートユーザーのパスワードを変更した後、ルートユーザーと新しいパスワードを使用してインスタンスにログオンできません。
原因
/etc/passwd
ファイルまたは /etc/shadow
ファイルで i(変更不可) 属性が有効になっています。その結果、ルートユーザーの新しいパスワードが有効にならない場合があります。
Linux では、/etc/passwd
ファイルはアカウント情報を格納するために使用され、/etc/shadow
ファイルはパスワード情報を格納するために使用されます。/etc/shadow
ファイルまたは /etc/passwd
ファイルの属性が正しく構成されていない場合、Linux ECS インスタンスの特定の機能が期待どおりに動作しない可能性があります。たとえば、ルートユーザーのパスワードを変更した後、新しいパスワードが有効になりません。一般的なファイル属性については、このトピックの一般的な chattr 属性セクションを参照してください。
解決策
ルートユーザーとして Linux ECS インスタンスに接続します。詳細については、「Workbench を使用して SSH 経由で Linux インスタンスに接続する」をご参照ください。
重要元の有効なパスワードを使用して Linux ECS インスタンスに接続する必要があります。元のパスワードが無効な場合は、Virtual Network Computing(VNC)を使用してインスタンスに接続します。詳細については、「VNC を使用してインスタンスに接続する」をご参照ください。
次のコマンドを実行して、ファイル属性の状態を確認します。
# passwd ファイルの属性状態を確認します。 lsattr /etc/passwd # shadow ファイルの属性状態を確認します。 lsattr /etc/shadow
i
やa
などの特別なフラグが表示されない場合、属性の状態は正常です。異常な状態の例:
ファイル属性の状態が異常な場合は、次のコマンドを実行して異常な属性を削除します。
# passwd ファイルから i(変更不可)属性を削除します。 chattr -i /etc/passwd # shadow ファイルから a(追加のみ)属性を削除します。 chattr -a /etc/shadow
次のコマンドを実行して、ファイルの属性の状態を再確認します。
lsattr /etc/passwd /etc/shadow
i
フラグまたはa
フラグは、想定されるコマンド出力には含まれません。ECS コンソールで Linux ECS インスタンスのルートユーザーのパスワードをリセットします。詳細については、「インスタンスのログオンパスワードをリセットする」をご参照ください。
ルートユーザーの新しいパスワードを使用して Linux ECS インスタンスに接続します。インスタンスに接続できる場合は、問題は解決しています。
付録
一般的な chattr 属性
属性 | 正式名称 | 説明 | 一般的なシナリオ |
i | 変更不可 | この属性を持つファイルは変更できません。ファイルにデータを書き込んだり、ファイルからデータを削除したり、名前を変更したり、リンクを追加したりすることはできません。 | システムの重要なファイルが改ざんされるのを防ぐ必要があるシナリオ。 |
a | 追加のみ | この属性を持つファイルでは、ファイルの末尾にのみコンテンツを追加できます。ファイル内の既存のコンテンツは変更できません。 | ログファイルの整合性を保護する必要があるシナリオ。 |
e | エクステント形式 | この属性を持つファイルは、エクステントを使用してディスクブロックをマップします。この属性は、最新のファイルシステムのデフォルト属性です。この属性を手動で変更する必要はありません。 | 自動システム管理。 |
A | Atime 更新なし | この属性を持つファイルでは、データにアクセスしているときに更新することはできません。これにより、ディスク I/O 操作が削減されます。 | 高並列サーバーの最適化。 |