0

私は小さな組み込みプロジェクトに取り組んでおり、ユーザーがコマンドを入力したり、シリアルポートを介して組み込みデバイスのファイルシステムをナビゲートしたりできないようにしたいと考えています。シリアルポートの読み取り専用モードを設定して、ユーザーが気付かないようにしたい。

4

1 に答える 1

1

ログインを制限する標準的な方法は、通常のシェルの代わりに制限付きシェルを使用することです。

ユーザーの/etc/ passwdを変更して、通常のシェルではなく、制限されたシェルを指すようにします。

これは、busyboxを使用している場合(デフォルトではbusyboxではない)に使用するのがより困難です。

本当に珍しい要件がある場合(そしてそう思われる場合)は、代わりに独自の単純なシェルを作成してください。インスピレーションを得るためにbusyboxのソースを見てください。

これは、stdinを読み取り、ユーザー入力に一致する「コマンド」を解析して実行する単なるループです。あなたが壮大になりたいなら; read-evaluate-printループ(REPL)。

作業ディレクトリを変更するためのコマンドを提供しない場合、コマンドはありません。

したがって、シェルには、show status、help、rebootの3つのコマンドしかない場合があります。(ある種のアップグレードファームウェアコマンドを追加することをお勧めします...これは非常に迅速に実際の作業を開始しますが)

特別な目的の組み込みシステム用のミニシェルを書く機会がありました。

于 2013-01-29T10:16:20.167 に答える