virsh
Command
This executable can run non-interactive system commands.
- This function is performed by the privileged user if executed via
sudobecause the acquired privileges are not dropped.cat >/path/to/temp-file.xml <<EOF<domain type='kvm'> <name>x</name> <os> <type arch='x86_64'>hvm</type> </os> <memory unit='KiB'>1</memory> <devices> <interface type='ethernet'> <script path='/path/to/command'/> </interface> </devices></domain>EOFvirsh -c qemu:///system create /path/to/temp-file.xmlvirsh -c qemu:///system destroy x
File write
This executable can write data to local files.
- This function can be performed by any unprivileged user.
echo DATA >/path/to/temp-filecat >/path/to/temp-file.xml <<EOF<volume type='file'> <name>y</name> <key>/path/to/output-dir/output-file</key> <source> </source> <capacity unit='bytes'>5</capacity> <allocation unit='bytes'>4096</allocation> <physical unit='bytes'>5</physical> <target> <path>/path/to/output-dir/output-file</path> <format type='raw'/> <permissions> <mode>0600</mode> <owner>0</owner> <group>0</group> </permissions> </target></volume>EOFvirsh -c qemu:///system pool-create-as x dir --target /path/to/output-dir/virsh -c qemu:///system vol-create --pool x --file /path/to/temp-file.xmlvirsh -c qemu:///system vol-upload --pool x /path/to/output-dir/output-file /path/to/temp-filevirsh -c qemu:///system pool-destroy xThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.echo DATA >/path/to/temp-filecat >/path/to/temp-file.xml <<EOF<volume type='file'> <name>y</name> <key>/path/to/output-dir/output-file</key> <source> </source> <capacity unit='bytes'>5</capacity> <allocation unit='bytes'>4096</allocation> <physical unit='bytes'>5</physical> <target> <path>/path/to/output-dir/output-file</path> <format type='raw'/> <permissions> <mode>0600</mode> <owner>0</owner> <group>0</group> </permissions> </target></volume>EOFvirsh -c qemu:///system pool-create-as x dir --target /path/to/output-dir/virsh -c qemu:///system vol-create --pool x --file /path/to/temp-file.xmlvirsh -c qemu:///system vol-upload --pool x /path/to/output-dir/output-file /path/to/temp-filevirsh -c qemu:///system pool-destroy x - This function can be performed by any unprivileged user.
virsh -c qemu:///system pool-create-as x dir --target /path/to/dir/virsh -c qemu:///system vol-download --pool x input-file output-filevirsh -c qemu:///system pool-destroy xThis function is performed by the privileged user if executed viasudobecause the acquired privileges are not dropped.virsh -c qemu:///system pool-create-as x dir --target /path/to/dir/virsh -c qemu:///system vol-download --pool x input-file output-filevirsh -c qemu:///system pool-destroy x