Armadilloフォーラム

mkswuについて

kuwajima

2022年5月24日 19時26分

mkswu --initでinitial_setup.swuを作成し、
swupdateで更新したところ、atmarkアカウントでログインできない状態になりました。
(rootアカウントではログインできています)
 
dpkg -l | grep mkswuの出力結果

ii  mkswu                                            4.0-1                                 all          build SWU images for armadillo base OS

 
こちらの環境固有の問題なのか確認して頂けないでしょうか。
以上、よろしくお願い致します。

コメント

at_dominique.m…

2022年5月25日 9時19分

kuwajimaさん、

ご連絡ありがとうございます。 アットマークテクノのマルティネです。

> mkswu --initでinitial_setup.swuを作成し、
> swupdateで更新したところ、atmarkアカウントでログインできない状態になりました。
> (rootアカウントではログインできています)
> 
> こちらの環境固有の問題なのか確認して頂けないでしょうか。

申し訳ございません、ご迷惑をおかけしました。こちらでテスト不足でそのバグに気づきませんでした。
一月のアップデート(3.15-at.2)以降のアップデートから、 リファクタリングのミスで mkswu --init での atmark ユーザーパスワードを root のパスワードハッシュにしてしまいました…

(例えば、/etc/shadow に root:$6$fwI44WKUY/20/jO/$UrY9MeDUSkVm...HUSuG4XfR5YLlUQ6s.u0KUj1:19136:0::::: が設定されましたら、 atmark は $6$fwI44WKUY/20/jO/$UrY9MeDUSkVm...HUSuG4XfR5YLlUQ6s.u0KUj1 の部分をコピーペーストすればログインできます)

解決方法としてはまた設定するしかないので、以下のどれかの方法で修正してください:

  1. コンソールに root でログインして、 passwd atmark で新しいパスワードを入力してから persist_file /etc/shadow で永続化します。
  2. 新しい .desc/swu を以下の方法で作成してインストールします:
[ATDE ~]$ cd mkswu
[ATDE ~/mkswu]$ cat > reset_atmark_pass.desc <<EOF
swdesc_option component=extra_os.initial_setup version=2
swdesc_command "usermod -p '"'XYZ_HASH'"' atmark"
EOF
[ATDE ~/mkswu]$ passwd=$(python3 -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.METHOD_SHA512))')
Password:
[ATDE ~/mkswu]$ sed -i -e "s:XYZ_HASH:$passwd:" reset_atmark_pass.desc
[ATDE ~/mkswu]$ unset passwd
[ATDE ~/mkswu]$ mkswu reset_atmark_pass.desc
reset_atmark_pass.swu を作成しました。

このバグを今週末のリリースで直しますので、ニュースが出た際に mkswu を更新して mkswu --init をもう一度実行してください。お手数ですが、それまでに必要でしたら、~/mkswu/initial_setup.desc を自分で編集してください。(initial_setup を数回インストールすることはできないので、別の Armadillo にインストールする予定の場合だけ必要です)
また、この問題が再び起きないように、これから自動テストに追加します。

お手数ですが、また何か疑問あったら聞いてください。

よろしくお願いします。

kuwajima

2022年5月25日 9時43分

ご確認ありがとうございます。
修正版のリリースまでは~/mkswu/initial_setup.descを編集して対応するように致します。

以上、よろしくお願い致します。