我正在使用脚本来设置一些 Fedora 机器,但无法以其他用户身份执行 Virsh(Libvirt 的 cli 工具)命令。给出的输出表明该命令成功,但失败却无提示。该脚本以 root 身份运行,我试图更改为 uid 1000(也称为用户系统中)。
这是应该执行的命令用户:
virsh define /home/user/vm.xml
这是我到目前为止所尝试过的:
sudo -u user bash -c 'virsh define /home/user/vm.xml'
su -c 'virsh define /home/user/vm.xml' user
su -s /bin/bash -c 'virsh define /home/user/vm.xml' -g user user
所有这些命令都会返回以下消息:
Domain 'vm' defined from /home/user/vm.xml
然而,当用户直接在终端中执行相同的命令时,该虚拟机在 virt-manager 中不可见,该命令直接出现在 GUI 中。
因此,我的假设是它会默默地失败。
我在这里缺少什么?
不应该su -l
模仿成功的用户登录、从 root 进行更改并加载以给定用户身份执行命令所需的所有内容吗?