Wie stelle ich sicher, dass sudo im neu gepackten Squashfs setuid ist?

Wie stelle ich sicher, dass sudo im neu gepackten Squashfs setuid ist?

Ich versuche, eine Squashfs-Datei zu bearbeiten, die einen Yocto-Build und eine Anwendungsnutzlast enthält, aber jedes Mal, wenn ich dies tue, sudoschlägt die Ausführung anschließend fehl. Der Root-Benutzer ist deaktiviert, daher habe ich keine echte Alternative.

Mein Ansatz besteht darin, einfach das Dateisystem zu entpacken und dann die entpackten Dateien neu zu verpacken. Dabei wird der Besitzer auf meinen lokalen Benutzer gesetzt (was in Ordnung ist – das kann ich beheben) und, wie es scheint, wird setuid aus sudo entfernt.

Antwort1

Angenommen, Sie verwenden unsquashfszum Entpacken der Dateien , erhalten Sie einen Satz von Dateien, die Ihnen gehören und die kein Setuid-Bit haben. Sie können das Setuid-Bit jedoch manuell auf alle gewünschten Dateien zurücksetzen (mit chmod u+s); natürlich werden sie dann auf Ihre ID gesetzt. Wenn Sie die Dateien jedoch mit mksquashfsder Option add neu verpacken -all-root, gehören alle Dateien im Dateisystem nicht Ihnen, sondern root, und alle Setuid-Bits bleiben erhalten.

verwandte Informationen