일반 사용자의 KVM 게스트에 대해 루트가 모르는 이유는 무엇입니까?
user@Lin0011:~$ virsh list --all
Id Name State
-----------------------------
- Lin0021 shut off
user@Lin0011:~$
root@Lin011# virsh list --all
Id Name State
--------------------
root@Lin011#
user@Lin0011:~$ virsh uri
qemu:///session
user@Lin0011:~$
user@Lin0011:~$
user@Lin0011:~$ env | grep VIR
user@Lin0011:~$
root@Lin011# virsh uri
qemu:///system
root@Lin011#
root@Lin011#
root@Lin011# env | grep VIR
root@Lin011#
답변1
일반 사용자의 KVM 게스트에 대해 루트가 모르는 이유는 무엇입니까?
이는 명령이 virsh
현재 사용자의 컨텍스트에서 실행되기 때문입니다.
어떤 사용자라도(예를 들어) 다른 사용자의 컨텍스트에서 명령을 실행하려면 root
해당 사용자의 컨텍스트에서 명령을 실행해야 합니다.
이 명령을 가능하게 하려면 pkexec
Debian 시스템을 사용하는 경우 첫 번째 단계는 다음과 같이 설치하는 것입니다.
sudo apt install pkexec
를 사용하지 않는 다른 배포판을 사용하는 경우 apt
배포판의 패키지 관리자를 사용하여 pkexec
대신 설치하십시오.apt
그런 다음, 계정이 없으면 root
로그인하여 root
테스트하세요.
sudo -s
이름이 지정된 사용자의 컨텍스트에서 명령을 실행합니다.user
pkexec --user user virsh list --all
이름이 지정된 사용자에 대한 가상 머신을 출력해야 합니다.user