
私はRaspberry Pi用の組み込みBuildrootオペレーティングシステムを開発しています。システムは電源を切るだけでシャットダウンするため(終了タイマーなし)、SDカードを損傷することなく停電を処理できる必要があります。
現在、システムはルートファイルシステムとして読み取り専用squashfsを使用しており、うまく動作します。しかし、明らかにパーティションに書き込むことができないため、柔軟性が不足しています。たとえば、新しいソフトウェアをインストールする唯一の方法は、Buildrootでオペレーティングシステム全体を再構築することです。そのため、この設定を変更してシステムを読み取り専用にしたいと思います。ほぼ常にしかし、特定の状況では書くことができます。
ユーザー権限を使用してSDカードへのすべての書き込みをブロックする最良の方法は何ですか制御された特定の状況を除いて?私は単にchmod -R u-w /
ファイルシステム全体を操作し、ユーザーがどこにも何も書き込めないようにしたいと思いました。その後、コンテンツを作成するには、ユーザーがとして認証する必要がありますsudo
。
これが信頼できる方法ですか?
私が期待できる問題の1つは、起動時にオペレーティングシステムが実行するプロセスがrootとして実行されるため、書き込み権限があることです。ユーザーが明示的にコマンドしない限り、オペレーティングシステムがルートファイルシステムに何も書き込まないように無効にする方法を見つける必要があります。
権限のないユーザーとして実行するようにシステムの初期化スクリプトを調整できます。以前にこれを行った人はいますか? root以外のユーザーでシステムプロセスを開始できますか?