PolicyKit이 암호를 요구하지 않도록하려면 어떻게합니까?


24

몇 년 동안, 나는 내 sudoers파일에 다음을 가졌습니다 .

scott   ALL=NOPASSWD: ALL

모르는 사람의 경우 sudo친구와 친구 gksudo등이 비밀번호를 묻지 않습니다. 그러나 수년에 걸쳐 한 번 사용 된 많은 것들이 sudoPolicyKit을 사용하도록 전환되었습니다.

PolicyKit에 대한 동등한 구성을 찾고 있으므로 암호를 묻지 않습니다.

내 요청이 마음에 들지 않는 사람들을 위해 다음과 같이 말하겠습니다. 기본 구성의 이유를 이해하고 적절합니다. 또한 구성하려는 고유의 위험을 이해합니다. 그럼에도 불구하고 시스템을 설정하고 싶습니다. 위의 내용을 완전히 이해하지 못하는 사람들은 내가 시도하는 것을 시도해서는 안됩니다.

답변:


15

와일드 카드로 작업을 대체하여 PolicyKit을 속이고 모든 암호 프롬프트를 표시하지 않을 수 있습니다.

면책 조항 : 다음은 로그인 화면을 제외하고 관리자 그룹에 속한 모든 사람에게 모든 암호 프롬프트를 표시하지 않습니다. 매우 위험하며 시스템을 손상시킬 가능성이 있기 때문에 절대로 구현해서는 안됩니다!

경고를받지 않았다고 말하지 마십시오!

참고 : 12.04 이상을 실행중인 경우 "admin"을 "sudo"로 바꾸십시오!

"username"을 실제 사용자 이름으로 바꾸십시오.

usermod -aG admin username

루트로 전환하십시오 :

sudo -i

새 정책을 작성하십시오.

gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla

다음을 추가하십시오.

[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes

저장하고 종료. 그런 다음 일반적으로 암호가 필요한 것을 시도하십시오. :)

참고 : .pkla 파일 이름으로 사용하는 것은 중요하지 않습니다. 원하는 이름을 지정할 수 있습니다.

마지막으로, 이것은 전 세계적으로 비밀번호 프롬프트를 표시하지 않기 때문에 비밀번호 프롬프트를 억제 할 때 필요한 유일한 정책입니다.


admin그룹을로 대체하면 Fedora에서도 작동합니다 wheel. 감사!
Kenny Rasschaert

3
누군가 이것이 정확히 어떻게 시스템을 "깨뜨릴"것인지 설명 할 수 있습니까?
Mehrdad

3
예, 부탁합니다. 이것이 시스템을 어떻게 깨뜨릴까요? 이거 말고! 이 작업을 수행 한 후 바보 같은 일이 있으면 시스템이 손상되지만 그렇지는 않습니다! 이렇게하면 암호없이 호스트에서 무엇이든 할 수 있습니다. 어리석은 짓을하면 시스템이 망가집니다. 암호를 입력해야하고 어리석은 짓을하면 시스템이 손상됩니다. 이것은 당연히 어리석은 일을 조금 더 쉽게 만듭니다 .
dangonfast

1
@ jeckyll2hide 참고를 읽으십시오-OP가 선택한 이유를 설명합니다 [Install package file]. 이에 동의하지 않고 NOTE에 비슷한 편집이 필요하거나 편집 내용이 유효하지 않아 롤백해야합니다.
bcbc

1
@prusswan Identity=unix-user:scott사용자 "scott"만 작업을 수행 할 수 있도록 사용할 수 있습니다 . 또한 특정 작업 만 허용하려면 /var/log/auth.log를 grep하면 polkitd는 암호를 입력하라는 메시지가 표시 될 때 시도한 폴킷의 전체 이름을 출력합니다. cat /var/log/auth.log | grep polkitd당신이 그들 중 꽤 빠른 목록을 제공합니다
스콧

8

작업 그룹에 따라 하나 또는 몇 개의 .pkla를 만들 수 있습니다.

/ usr / share / polkit-1 / actions에서 참조하려면, 텍스트 편집기에서 관심있는 것을 열어서 액션 ID를 얻으십시오.

.pkla 또는 2까지는 여기에 넣을 수있는 가장 좋은 곳이 있습니다. 모든 업데이트로부터 보호됩니다.

/var/lib/polkit-1/localauthority/50-local.d

예를 들어 package-manager.pkla라는 기본 패키지는 패키지 관리 정책보다 조금 더 확장되었지만

[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes

[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes

[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes

[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes

[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes

[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes

12.04 부터 "admin"사용자에 사용 된 그룹은 sudo로 변경되어야합니다.

Identity=unix-group:sudo

또한 공백없이 작업을 섹션별로 함께 묶을 수 있습니다. ID 사이에


각 프로그램에 대해 개별적으로 설정하는 것처럼 보입니다. 특히 나중에 PolicyKit을 사용하려는 다른 프로그램을 설치하는 경우 다소 지루한 것 같습니다. 모든 것에 영향을 미치는 전역 구성을 변경하는 방법을 찾고 있습니다.
Scott Severance

1
'전 세계적으로'영향을 줄 수있는 방법을 본 적이 없으며, 이것이 policykit의 작동 방식이라고 믿지 마십시오. 액션 ID 당 정책이 설정되어 있습니다
doug

0

수행중인 작업을 알고있는 경우 한 가지 옵션은 정책 키트를 완전히 비활성화하는 것입니다.

sudo apt-get remove libpolkit-agent-1-0


1
너무 많은 필수 패키지 등의 제거 network-manager, gnome-control-center그리고 더 많은합니다. 더 세밀한 방법이 있습니까?
Suncatcher
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.