virt-manager가 루트 암호를 요구하지 않도록하려면 어떻게합니까?


18

virt-manager를 시작할 때 루트 암호를 묻습니다.

virt-manager가 libvirtd 데몬이 두 개의 인수와 함께 pkcheck를 실행하는 것처럼 보이며이 인증 대화 상자가 표시됩니다. 그래서 루트 암호를 요구하는 것은 PolicyKit입니다.

공식 웹 사이트 (libvirt.org)는 비밀번호 프롬프트를 제거하기 위해 PolicyKit 규칙을 정의하는 방법을 설명합니다.

$ sudo cat /etc/polkit-1/localauthority/50-local.d/50-org.example-libvirt-remote-access.pkla
[libvirt Management Access]
Identity=unix-group:libvirt
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

"localauthority"서브 디렉토리가 존재하지 않습니다. 그것을 만들고 그 이름과 내용 (libvirt-> 내 그룹 이름)을 가진 파일을 넣는 것은 효과가없는 것 같습니다. 또한 JavaScript 구문을 사용하는 기본 파일이 있습니다.

/etc/polkit-1/rules.d/50-default.rules

이 패키지는 시스템과 몇 가지 DE 프론트 엔드에 설치됩니다.

polkit-0.107-4.fc18.x86_64

분명히 libvirt.org의 예제 구성은 구식입니까?

비밀번호 프롬프트를 제거하려면 어떤 구성이 필요합니까 (특정 사용자 그룹의 경우)?

답변:


16

/etc/polkit-1/rules.d/10.virt.rules :

polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage"
            && subject.local
            && subject.active
            && subject.isInGroup("libvirt")) {
        return polkit.Result.YES;
    }
});

libvirt그룹에 추가 한 후 policykit 다시 시작 및 해당 사용자와의 새 세션 시작을 포함하여 일반적인 단계를 수행해야합니다 .

리소스가 Fedora 18에 관한 것처럼 보이지만 이미 자바 스크립트 구문을 사용하므로 Fedora 19에도 유효합니다.

연결:


1
이 솔루션은 작동합니다! 링크도 감사합니다. 현상금이 수여되었습니다.
senorsmile

서식이 잘못되어 죄송합니다.
Pavel Šimerda

이것을 libvirt 그룹에 사용자를 추가하는 것과 어떻게 비교됩니까? libvirt 그룹에 사용자 추가를 테스트 한 후 추가 인증이 필요하지 않았습니다.
jwbensley

1
@jwbensley polkit 방식은 동적이며 활성 로컬 세션의 소유자에게 권한을 부여합니다. 그룹 방식은 정적이며 해당 특정 사용자에게 권한을 부여합니다. 자신에게 맞는 방법을 선택하십시오.
Pavel Šimerda

1

시스템 보안을 위해 비밀번호 프롬프트가 작성되었으므로이를 수행하면 비밀번호가 취약해질 수 있습니다.

  1. Group컴퓨터 에서 그룹을 만듭니다 . 또는이 "sudo groupadd -r Group"을 실행할 수 있습니다

  2. "sudo usermod -a -G Group User"를 실행하여이 시스템 그룹에 원하는 모든 사용자가 가능합니다.

  3. 이제 사용자가 Groupvirt-manager를 실행할 수 있도록하는 PolicyKit 정책을 만들어야합니다.

"/etc/polkit-1/localauthority/50-local.d/50-org. Group-libvirt-local-access.pkla" 경로에 파일을 만들고
아래에 줄을 넣습니다.

[그룹 Grouplibvirt 관리 권한 허용]
Identity = unix-group : Group
Action = org.libvirt.unix.manage
ResultAny = yes
ResultInactive = yes
ResultActive = yes

그게 당신이 지금 필요한 모든 것을 실행할 수 있습니다. 그리고 이것이 당신에게 도움이되기를 바랍니다.


이것은 오래된 해결책입니다. 이 솔루션은 Fedora 19 또는 Current Arch와 같은 최신 시스템 기반 Linux 운영 체제에서는 작동하지 않습니다. (방금 테스트했습니다. localauthority 디렉토리조차 없으며 하위 폴더와 지정된 파일을 만들면 아무것도하지 않습니다.)
senorsmile

@senorsmile Fedora 19에 버그 보고서를 제출 했습니까?
Pavel Šimerda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.