Как убедиться, что sudo имеет setuid в переупакованном squashfs?

Как убедиться, что sudo имеет setuid в переупакованном squashfs?

Я пытаюсь манипулировать файлом squashfs, содержащим сборку yocto и полезную нагрузку приложения, но каждый раз, когда я это делаю, sudoвыполнение не происходит. Пользователь root отключен, поэтому у меня нет реальной альтернативы.

Мой подход заключается в том, чтобы просто распаковать файловую систему, а затем перепаковать распакованные файлы. В этом процессе владелец устанавливается на моего локального пользователя (что нормально — я могу это исправить) и, похоже, setuid удаляется из sudo.

решение1

Если вы используете unsquashfsдля распаковки файлов, вы получите набор файлов, владельцем которых вы являетесь, и без битов setuid. Но вы можете вручную вернуть бит setuid на любые файлы, которые хотите (с помощью chmod u+s); конечно, они будут setuid на ваш идентификатор. Но когда вы переупаковываете файлы с помощью mksquashfsопции add -all-root, все файлы в файловой системе будут принадлежать root, а не вам, и любой бит setuid будет сохранен.

Связанный контент