PHPで書かれたWebスクリプトを使用してデバイスと通信します。デバイスにはルートアクセスが必要です。安全で最善の方法でこれを行うには?
Webアプリケーションには2つのモードがあります。 1つはユーザーモード、もう1つは管理者モードです。ユーザーモードでは、バックグラウンドスクリプトをシステムとして実行し、キューを確認することでこの問題を解決できます。ただし、管理モードでは、より多くの権限を持つことができます。対話型会話デバッグ目的でデバイスと一緒に使用されます。このモードで更新直接接続より良くなります。
ファイルシステムext3。
答え1
これにはPHPを使用しないでください(または少なくともPHPのみを使用してください)。それはおそらく、最も脆弱で破損したWebスクリプト言語の実装でしょう。
質問を3つの部分に分けます。
フロントエンド - Webページを生成するPHP(Python、Ruby、Perl ...)コード。
バックエンド - シェル、Perlスクリプト、デバイスアクセス用のコンパイル済みバイナリ。で実行しないでください
root
。このタスクにのみ個別のアカウントを設定し、必要に応じてアクセスを許可してください。chmod
または、setfacl
十分でないLinuxを使用する場合、またはにcapabilities(7)
設定されているLinux機能を使用してください(マンページを参照)。setcap
capsh
フロントエンドとバックエンドの間に使用される通信プロトコルと手段。理想的には、フロントエンドがバックエンドにクエリできるようにできるだけ制限する必要があります。必要に応じて、Unixソケットまたは名前付きパイプを介して「デバイスから最大1KBを読み取る」および「この7812Bをデバイスに書き込む」タイプのメッセージを送信するのと同じくらい簡単です(参考資料を参照
mkfifo
)。