sudo를 사용하면 sudo의 맥락에서 발신자 환경을 유지하거나 재설정 할 수있는 사용자 및 프로그램 정책을 설정할 수 있습니다. env_reset 정책은 기본적으로 설정되어 있습니다.
pkexec를 통해 그래픽 응용 프로그램을 명시 적으로 구성하지 않으면 그래픽 응용 프로그램을 실행할 수 없습니다. 이것은 환경 재설정의 결과 일 뿐이므로 sudo에서도 마찬가지입니다. 그러나 pkexec 또는 sudo는 모두 악의적 인 응용 프로그램이 루트로 실행되어 디스플레이 관리자 또는 사용자 X11-cookie 파일에서 필요한 모든 정보를 검색하지 못하게 할 수 있습니다. 후자는 둘 다 또는 유사하지만 상황에 따라 루트가 아닌 응용 프로그램으로 수행 될 수도 있습니다.
Sudo에는 명시적인 사용자 목록이 필요하지 않습니다. 사용자 그룹을 나열하거나 모든 사용자에 대한 권한을 설정하는 것도 가능합니다. target_pw 지시문을 통해 해당 사용자는 응용 프로그램을 실행하려는 컨텍스트 (예 : root)에서 사용자의 자격 증명으로 인증 할 수 있습니다. 그 외에도 똑같이 전통적인 su (su / gtksu / kdesu) 프로그램은 특별한 구성없이 매우 똑같이 할 수 있습니다.
sudo 역시 사용자가 지정된 시간 동안 인증 된 상태를 유지할 수 있도록합니다. 이 옵션의 이름은 타임 아웃이며 전역, 사용자 또는 응용 프로그램별로 구성 할 수 있습니다. 인증은 tty마다 또는 전체적으로 사용자별로 유지 될 수 있습니다.
pkexec는 PROGRAM에 전달 된 인수에 대한 유효성 검사를 수행하지 않을 수 있지만 sudo에는 실제로이 기능이 있습니다. 인정하지만, 당신은 이것을 쉽게 망칠 수 있으며, 일반적으로 수행되지 않습니다.
pkexec를 통해 프로그램을 실행하는 방법을 조금 조정할 수 있습니다 : 아이콘, 표시 할 텍스트, 현지화 등을 할 수 있습니다. 상황에 따라 이것은 참으로 근사 할 수 있습니다. 그러나 슬프게도 누군가는이 기능을 위해 바퀴를 재발 명 할 필요성을 느꼈습니다. 이것은 아마도 그래픽 gtksudo / kdesu 래퍼에 넣을 것입니다.
Policykit은 중앙 집중식 구성 프레임 워크 일뿐입니다. 불행히도 예쁜 것은 아닙니다. PK XML 파일은 앱이 기본적으로 짧은 이진 파일을 제공 할 수있는 것보다 훨씬 복잡합니다. 그리고 아무도 바이너리를 사용하기에 너무 돈이 없을 것입니다 ... 오 gconf ... 결코 신경 쓰지 마십시오.