루트는 슈퍼 사용자가 아닌 KVM 게스트를 볼 수 없습니다.

루트는 슈퍼 사용자가 아닌 KVM 게스트를 볼 수 없습니다.

일반 사용자의 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데비안 시스템을 사용하는 경우 첫 번째 단계는 다음과 같이 설치하는 것입니다.

sudo apt install pkexec

사용하지 않는 다른 배포판을 사용하는 경우 대신 apt배포판 패키지 관리자를 사용하여 설치하십시오 .pkexecapt

그런 다음 그렇지 않은 경우 root에 로그인하여 root테스트하십시오.

sudo -s

그리고 이름이 지정된 사용자의 컨텍스트에서 명령을 실행합니다.user

pkexec --user user virsh list --all

이름이 지정된 사용자의 가상 머신을 출력해야 합니다.user

관련 정보