yoctoビルドとアプリケーションペイロードを含むsquashfsファイルを操作しようとしていますが、これを実行するたびにsudo
後で実行されません。 rootユーザーが無効になっているため、実際の選択肢はありません。
私のアプローチは、ファイルシステムを解凍し、解凍したファイルを再圧縮することでした。このプロセス中に、所有者は私のローカルユーザーとして設定され(大丈夫です。この問題を解決できます)、setuidはsudoから削除されたようです。
答え1
ファイルを解凍すると、unsquashfs
setuidビットなしで自分に属するファイルセットが得られます。ただし、目的のファイルに手動でsetuidビットを挿入することができます(を使用してchmod u+s
)。もちろん、そのファイルはあなたのIDにsetuidになります。ただし、mksquashfs
追加オプションを使用してファイルを再パッケージすると、ファイル-all-root
システム内のすべてのファイルはユーザーではなくルートによって所有され、すべてのsetuidビットは保持されます。