.qcow2仮想化でパスワードを変更/削除する

.qcow2仮想化でパスワードを変更/削除する

cloud.centos.orgから.qcow2イメージをダウンロードし、仮想環境にロードされたらログインできるようにパスワードを変更しようとしました。 virt-editを使用して/etc/shadowを編集しようとしています。

virt-edit -a CentOS-6-x86_64-GenericCloud-1604.qcow2 /etc/shadow

まず、パスワード生成を使用してopenssl passwd -lそこに入れてみましたが、うまくいかなかったときに別のコンピュータから暗号化されたパスワードをコピーしてみましたが、やはり動作しませんでした。その後、/etc/passwdを編集して「x」を削除してみました。これにより、パスワードなしでログインできることがわかります。

root::0:0:root:/root:/bin/bash

しかし、それも動作しません。私はコンソールとttyがtty11を介して/ etc / securettyにあることを確認しましたが、ここでどこに行くのかわかりません。

編集:うまくvirt-customize -a CentOS-6-x86_64-GenericCloud-1603.qcow2 --root-password password:passwordいきません。

答え1

編集中に仮想マシンがすでに実行されていますか?

「動作しない」とはどういう意味ですか?仮想マシンがシングルユーザーモードになったのか、それともログインを拒否したのですか?

touch /.autorelabelCentOSではSELinuxが有効になっている可能性が高いため、変更されたVMが起動したときにSELinuxの説明をトリガーするには、VMのルートファイルシステムで同等の作業を実行する必要があります。たとえば、

touch .autorelabel
virt-copy-in -a CentOS-6-x86_64-GenericCloud-1603.qcow2 .autorelabel /

また、画像には/etc/cloud/cloud.cfg取り付けられていることを示すとcloud-initその構成(を使用して表示virt-cat -a CentOS-6-x86_64-GenericCloud-1603.qcow2 /etc/cloud/cloud.cfg)も含まれています。

users:
 - default

disable_root: 1    <--- this might be the root cause of your troubles!
ssh_pwauth:   0
[...]

他の場所で提案されているように画像を実行してみましたが、うまくvirt-customize --uninstall cloud-initいきませんでした。おそらく、CentOS 6は少なくとも現在インストールされているツールを使用してイメージでパッケージ操作を実行するのに古すぎるかもしれませんか?

/etc/init.d/cloud-config/etc/init.d/cloud-finalとにかく、終了したばかりのスクリプトでVM内部を上書きし、VM内部で実行およびアクセスが可能になったら、無差別代入として無効にできますか?/etc/init.d/cloud-init/etc/init.d/cloud-init-localyum erase cloud-init

関連情報