build-vm: try system tar2fs first
It's at least removing the very obvious user->root attack through (maliciously) modifying bin/tar2fs and waiting for it to be run; if mkimage-profiles is installed system-wide as a package, the script from /usr/share/mkimage-profiles will be tried so those willing to allow vm/* build to themselves can provide for a passwordless sudo (as described in doc/vm.txt) to run a root-only writable script, not user-writable. Still not perfect but a step away from the abyss.
This commit is contained in:
parent
f39890cb7c
commit
f293239d5b
@ -14,7 +14,9 @@
|
||||
При работе с локальной копией mkimage-profiles.git следует иметь
|
||||
в виду, что предоставлять недоверенному пользователю право выполнять
|
||||
от имени root доступный ему по записи скрипт равнозначно предоставлению
|
||||
полных привилегий root.
|
||||
полных привилегий root (поэтому фича build-vm сперва проверяет наличие
|
||||
системно установленного пакета и по возможности старается запустить
|
||||
под sudo скрипт из него, доступный по записи только root).
|
||||
|
||||
Для работы с более специфичными форматами, чем raw ("буквальный"
|
||||
образ диска), потребуется утилита qemu-img из одноименного пакета;
|
||||
|
@ -20,7 +20,10 @@ check-sudo:
|
||||
fi
|
||||
|
||||
prepare-image: check-sudo
|
||||
@if ! sudo $(TOPDIR)/bin/tar2fs \
|
||||
@if [ -x $(MKIMAGE_PREFIX)/bin/tar2fs ]; then \
|
||||
TOPDIR=$(MKIMAGE_PREFIX); \
|
||||
fi; \
|
||||
if ! sudo $(TOPDIR)/bin/tar2fs \
|
||||
"$(VM_TARBALL)" "$(VM_RAWDISK)" $(VM_SIZE) $(VM_FSTYPE); then \
|
||||
echo "** error: sudo tar2fs failed, see also doc/vm.txt" >&2; \
|
||||
exit 1; \
|
||||
|
Loading…
Reference in New Issue
Block a user