С помощью sudo вы можете установить для каждого пользователя и для каждой политики программ, чтобы сохранить или сбросить среду звонящих в контексте sudo. Политика env_reset устанавливается по умолчанию.
Вы не можете запускать графические приложения через pkexec без явной настройки для этого. Поскольку это просто результат сброса среды, это, очевидно, верно и для sudo. Однако обратите внимание, что ни pkexec, ни sudo не могут предотвратить вредоносное приложение, выполняемое как root, чтобы получить всю необходимую информацию от диспетчеров дисплея или файла X11-файла cookie пользователей. Последний, оба или аналогичный, может быть даже выполнен не root-приложениями в зависимости от обстоятельств.
Судо не требует явных списков пользователей. Листинг любой группы пользователей или даже установка разрешений для всех пользователей в целом может быть выполнена. Директива target_pw позволяет этим пользователям проходить аутентификацию с учетными данными пользователя в контексте whoose, которым они хотят запускать приложение, то есть root. Кроме того, можно использовать одинаково традиционную программу su (su / gtksu / kdesu), чтобы сделать то же самое без специальной настройки.
sudo также позволяет пользователю оставаться аутентифицированным в течение определенного времени. Опция называется timeout, настраивается глобально, для каждого пользователя или для каждого приложения. Аутентификация может быть сохранена за каждый или по всему миру на пользователя.
В то время как pkexec не может выполнять проверку ARGUMENTS, переданных в PROGRAM, sudo действительно имеет эту функцию. Принято, однако, вы можете легко испортить это, и обычно это не делается.
Вы можете немного настроить, как вы хотите, чтобы программы запускались через pkexec: значок, текст для отображения, вы даже можете иметь материал локализации и все такое. В зависимости от обстоятельств это может быть действительно здорово. Ужасно, однако, что кто-то почувствовал необходимость изобретать колесо для этой функции. Это, вероятно, было бы чем-то помещено в графические оболочки gtksudo / kdesu.
Policykit - это только централизованная структура конфигурации. К сожалению, не очень. XML-файлы PKs намного сложнее, чем что-либо, что приложение может предоставить изначально двоичные файлы. И никому не было бы так бесполезно использовать двоичный ... ой gconf ... неважно.