Armadilloフォーラム

autologin させてもパスを聞かれます。パスなしでのログインの設定の方法を教えてください。

manabu-yoshioka-arc

2023年4月4日 18時18分

特定の名称の guest ユーザーで自動ログインしようとしています。
参考にしたブログ:[ログインの自動化は出来ますでしょうか?](https://armadillo.atmark-techno.com/forum/armadillo/2763)

この記事を参考にし、`/lib/systemd/system/serial-getty@.service` ファイルの agetty の引数に --autologin root --noclearをつけました。

ExecStart=-/sbin/agetty -o '-p -- \\u' --autologin root --noclear --keep-baud 1115200,38400,9600 %I $TERM

しかし、再起動してもパスワードの入力を求められています。

Debian GNU/Linux 10 armadillo ttymxc2
armadillo login: root (automatic login)
Password:

conf ファイルなどどこかに置く必要があるのでしょうか。あるいは agetty のオプション指定なのでしょうか。情報いただければ助かります。

コメント

at_akihito.irie

2023年4月5日 10時28分

入江です。

> conf ファイルなどどこかに置く必要があるのでしょうか。あるいは agetty のオプション指定なのでしょうか。情報いただければ助かります。

/lib/systemd/system/serial-getty@.serviceのExecStartの行を以下のように
修正すると自動ログインできるかと思います。

ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud 115200,38400,9600 %I $TERM

確認なのですが、この自動ログインの機構を最終製品に組み込むことはセキュリティ
的なリスクがあると思います。
よろしければ上記のような自動ログインしたい理由をお聞きしたいです。
より安全にやりたいことを実現できる方法をご紹介できるかもしれません。

manabu-yoshioka-arc

2023年4月5日 15時53分

ありがとうございます。お教えいただいた方法で解決できるかどうかは、本日外に出ているため、後日報告させていただきます。

> 確認なのですが、この自動ログインの機構を最終製品に組み込むことはセキュリティ
> 的なリスクがあると思います。
> よろしければ上記のような自動ログインしたい理由をお聞きしたいです。
> より安全にやりたいことを実現できる方法をご紹介できるかもしれません。

そうですよね、ユーザーは root と書いてしまっていました、ご心配おかけしております。
作ろうとしているものは IoT 機器です。省電力を実現するため仕事が終わればシャットダウンモードに入れ、RTC による自動復帰で同じことを繰り返す機器です。
現在復帰後の全体の仕組みを作りながら、テストを行なっているところです。
つまり、システムが起動後、一定のプログラムを走らせる必要があります。そのための方法として私が通常採用している方法は以下となります。

- 一般ユーザを作成しておきます。
- システム起動後、一般ユーザで自動ログインさせます。
- cron の @reboot で行いたい処理をまとめたスクリプトを呼び出すことで行います。

この方法を採用している理由は、
1. 他にも cron で特定の時間で処理したいものがある。ユーザ実行の cron に reboot 処理と同じ並びに書くことで記述がバラバラにならない。
2.systemctl を使う方法は記述が cron と別になるので、メンテナンス性が悪くなると感じている。
3. IoT機器なので個別のID(識別子)や個別のキーセットを書き込む必要があり、個別ユーザー=個別識別子、個別キーとしておくほうが製造とその記録が簡単
です。
* root と書いてしまったのは現在色々触っているところだからです。

アドバイスよろしくお願いします。

manabu-yoshioka-arc

2023年4月7日 9時55分

ご報告が遅れました。

/lib/systemd/system/serial-getty@.serviceのExecStartの行を

ExecStart=-/sbin/agetty --autologin {一般ユーザ名} --noclear --keep-baud 115200,38400,9600 %I $TERM

とし、(rootではない)一般ユーザーでパスワードなしでの自動ログインができました。
また元々行いたかった、いっぱんユーザーでの cron 設定による reboot や時間による 任意スクリプトの実行もできることを確認できました。
ありがとうございました。