
私は Raspberry Pi 用の組み込み Buildroot OS を開発しています。このシステムは、電源を切るだけでオフになります (シャットダウン タイマーはありません)。そのため、SD カードが破損することなく電源オフを処理できる必要があります。
現在、システムはルートファイルシステムに読み取り専用の squashfs を使用しており、これはうまく機能しています。しかし、当然ながらパーティションに書き込むことができないため、柔軟性に欠けています。たとえば、新しいソフトウェアをインストールする唯一の方法は、Buildroot で OS 全体を再構築することです。そのため、これを変更してシステムを読み取り専用にしたいと思います。ほとんどいつもただし、特定の状況では書き込み可能です。
SDカードへの書き込みをすべて防止するためにユーザー権限を利用する最善の方法は何ですか特定の管理された状況を除いて? ファイルシステム全体に対して を実行して、ユーザーがどこにも何も書き込めないようにしようと考えていますchmod -R u-w /
。その後、何かを書き込むには、ユーザーは で認証する必要がありますsudo
。
これは堅実なアプローチでしょうか?
私が予測できる問題の 1 つは、起動時に OS によって実行されるプロセスがルートとして実行されるため、書き込み権限が付与されることです。ユーザーから明示的に指示されない限り、オペレーティング システムがルート FS に何かを書き込むことを禁止する方法を見つける必要があります。
システムの init スクリプトを調整して、非特権ユーザーとして実行することができます。これを実行した人はいますか? root 以外のユーザーとしてシステム プロセスを開始することは可能ですか?