変更せずにパスワードの有効期限を無効にする方法は?

変更せずにパスワードの有効期限を無効にする方法は?

私のシングルボードコンピュータのUbuntu Linuxイメージがあります。

メディア(SDカード)に記録して起動してログインすると、パスワードを変更するように求められます。

実際に起動する前に、別のコンピュータを使用してSDカードの内容をマウントして変更できるので、パスワードの有効期限を無効にしたいと思います。

私は知っています走る使用可能なシステムchageですが、この場合、ターゲットシステムはカードにあります。

可能ですか?

答え1

からman chage

   -R, --root CHROOT_DIR
       Apply changes in the CHROOT_DIR directory and use the configuration
       files from the CHROOT_DIR directory.

chrootSDカードのマウントポイントに移動します。

有効期限を編集しshadowて削除すると、一般的なメカニズムがバイパスされます。shadow原則として、データベースサポートがある場合、またはNISから資格情報を読み取ると他の同様の状況が発生すると失敗する可能性がありますが、loginSDカードにはこれらの奇妙な状況がない可能性があります。したがって、編集もうまくいくshadowはずです。

答え2

このフィールドはにあります/etc/shadow。詳しく見るとman 5 shadow

パスワードの有効期限なしでアカウントを設定する最も簡単な方法は、すべてのデータを削除することです。

例えば

username:encrstring:changedday::::::

一部のシステムでは、パスワードの有効期限として99,999日を使用します。

例えば

username:encrstring:changedday:0:99999:7:::

どちらの場合も、次回のログイン時にパスワードを変更するように求められません。

関連情報