Armadilloフォーラム

シリアル通信でのユーザごとのログイン制限

tmygt

2023年9月21日 21時40分

シリアル通信でログインするユーザを制限したいです。

rootに関しては /etc/securetty から /dev/ttymxc1 を消すことで対応できると理解しています。
特定の一般ユーザについて、シリアル通信経由でのログインを制限する方法はありますか?

現状、ユーザのホームディレクトリを存在しない場所にしておくことでそれらしい挙動にはなっているのですが、これ以外に正しいやり方があれば教えていただきたいです。
よろしくお願いいたします。

コメント

at_dominique.m…

2023年9月22日 10時26分

tmygtさん

> 現状、ユーザのホームディレクトリを存在しない場所にしておくことでそれらしい挙動にはなっているのですが、これ以外に正しいやり方があれば教えていただきたいです。

ssh 鍵でログインすると思いますので、ユーザーのパスワードを壊せば直接ログインできなくなります。
sshd は、/etc/shadow のパスワードフィールドが '!' の場合にロックとして扱っていますが、他の文字なら鍵でのログインはできます。

例えば、atmark ユーザーの場合は以下のコマンドで設定できます:

# usermod -p '*' atmark

設定した後に ssh 鍵でログインできますが、パスワードでログインできませんし、そのユーザーが自分のパスワードを編集できません(現在のパスワードがないので)

それ以外に pam で何でもできますが、使いにくい上でアップデートの際に動かなくなる可能性もありますのでパスワードの制御がいいと思います。

いかがでしょうか?

マルティネさん

コメントありがとうございます。

> ssh 鍵でログインすると思いますので、ユーザーのパスワードを壊せば直接ログインできなくなります。

該当のユーザーに関しては空パスワードで運用する予定でした。
[コンテナからホストにSSHする場合のユーザーについて](https://armadillo.atmark-techno.com/forum/armadillo/17162) で実施した方法と合わせ、シリアルポートからのアクセスを制限し、localhostからのアクセスに絞ることで空パスワードでも問題ないと考えています。

公開鍵認証にしないのは、コンテナで鍵管理をしたくないというのが動機でした。
ただ、メンテナンス用ユーザのログイン方法も考えると結局ABOSにいくつか公開鍵を登録する必要が生じそうで、公開鍵認証にするほうが良いのではという気もしています。シリアルポート経由のログインを制限するいい方法が無ければ、公開鍵認証を検討します。

> それ以外に pam で何でもできますが、使いにくい上でアップデートの際に動かなくなる可能性もありますのでパスワードの制御がいいと思います。

SSHログイン制限の検討時にpamも考えたのですが、コメントいただいた通り使いにくそうなので避けていました。

あとは、そもそもシリアルポートそのものを無効化するのも手かと考えています。
このトピックのタイトルとずれるので、シリアルポートの無効化の方法について新たにトピックを作成いたします。

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