tmygt
2023年9月21日 21時40分
シリアル通信でログインするユーザを制限したいです。
rootに関しては /etc/securetty から /dev/ttymxc1 を消すことで対応できると理解しています。
特定の一般ユーザについて、シリアル通信経由でのログインを制限する方法はありますか?
現状、ユーザのホームディレクトリを存在しない場所にしておくことでそれらしい挙動にはなっているのですが、これ以外に正しいやり方があれば教えていただきたいです。
よろしくお願いいたします。
コメント
tmygt
マルティネさん
コメントありがとうございます。
> ssh 鍵でログインすると思いますので、ユーザーのパスワードを壊せば直接ログインできなくなります。
該当のユーザーに関しては空パスワードで運用する予定でした。
[コンテナからホストにSSHする場合のユーザーについて](https://armadillo.atmark-techno.com/forum/armadillo/17162) で実施した方法と合わせ、シリアルポートからのアクセスを制限し、localhostからのアクセスに絞ることで空パスワードでも問題ないと考えています。
公開鍵認証にしないのは、コンテナで鍵管理をしたくないというのが動機でした。
ただ、メンテナンス用ユーザのログイン方法も考えると結局ABOSにいくつか公開鍵を登録する必要が生じそうで、公開鍵認証にするほうが良いのではという気もしています。シリアルポート経由のログインを制限するいい方法が無ければ、公開鍵認証を検討します。
> それ以外に pam で何でもできますが、使いにくい上でアップデートの際に動かなくなる可能性もありますのでパスワードの制御がいいと思います。
SSHログイン制限の検討時にpamも考えたのですが、コメントいただいた通り使いにくそうなので避けていました。
あとは、そもそもシリアルポートそのものを無効化するのも手かと考えています。
このトピックのタイトルとずれるので、シリアルポートの無効化の方法について新たにトピックを作成いたします。
以上、よろしくお願いいたします。
at_dominique.m…
2023年9月22日 10時26分
tmygtさん
> 現状、ユーザのホームディレクトリを存在しない場所にしておくことでそれらしい挙動にはなっているのですが、これ以外に正しいやり方があれば教えていただきたいです。
ssh 鍵でログインすると思いますので、ユーザーのパスワードを壊せば直接ログインできなくなります。
sshd は、/etc/shadow のパスワードフィールドが '!' の場合にロックとして扱っていますが、他の文字なら鍵でのログインはできます。
例えば、atmark ユーザーの場合は以下のコマンドで設定できます:
設定した後に ssh 鍵でログインできますが、パスワードでログインできませんし、そのユーザーが自分のパスワードを編集できません(現在のパスワードがないので)
それ以外に pam で何でもできますが、使いにくい上でアップデートの際に動かなくなる可能性もありますのでパスワードの制御がいいと思います。
いかがでしょうか?