Kiedy powinienem używać pkexec, a kiedy sudo -i?

21

Napisałem odpowiedź zalecającą użycie sudo -i nautilus. Wiem, że gksujest to przestarzałe i miałem wrażenie, że sudo -itak powinniśmy uruchamiać aplikacje graficzne jako root bez zabijania kociąt , ale ktoś skomentował, że „ pkexecjest nowy gksu”. Rozumiem, że pkexecto nie to samo, co używanie jakiejkolwiek formy sudo:

Kiedy używać pkexec vs gksu / gksudo?

i wymaga konfiguracji, szczególnie w przypadku aplikacji graficznych:

Jak skonfigurować pkexec?

Kiedy robię sudo -iwszystko, zawsze działa, więc dlaczego miałbym mieć problem z konfiguracją pkexec? Widzę, że aby napisać skrypt uruchamiający coś jako root, musiałbym to zrobić:

Czy mogę używać pkexec w pliku Python Script lub .desktop?

Ale poza tym, co zyskuję na korzystaniu pkexec? Kiedy powinienem używać tych poleceń? Jaka jest obecnie najlepsza praktyka otwierania aplikacji graficznych jako root?

(Już czytam ... manstrony, ale nie czuję się mądrzejszy.)

Zanna
źródło
5
Ja osobiście ignoruję wycofanie i zawsze instaluję gksuna każdym systemie, aby w gksudorazie potrzeby uruchamiać aplikacje GUI . Nic więcej.
Bajt Dowódca
1
Powiązane: Ten stary post na temat meta miał istotną dyskusję, a najbardziej pozytywna sugerowana odpowiedź sudo -ito bezpieczne rozwiązanie; Ale niewiele wyjaśniono pkexec.
clearkimura
1
W przypadku korzystania z edytorów tekstu GUI do edycji plików jako root, co z używaniem sudoedit(AKA sudo -e)?
edwinksl
1
@edwinksl miałeś na myśli, że możesz ustawić edytor graficzny jako domyślny sudoedit? Ciekawy pomysł
Zanna
1
@Zanna Tak, patrz na przykład unix.stackexchange.com/a/356443/6949 .
edwinksl

Odpowiedzi:

2

Podstawowe zastosowanie jest takie samo - programy, o których mowa, pozwalają na uruchamianie innych programów jako inny użytkownik, zwykle root. Różnica między sudowariantami i pkexecpolega na tym, że sudoprogram ma całkowitą kontrolę nad wszystkim, podczas gdy pkexecTy masz znacznie bardziej szczegółową kontrolę, definiując zasady dla każdego programu.

Jeśli ufasz uruchomionym programom, sudo jest całkowicie w porządku. Jeśli chcesz naprawdę wszystko zablokować i pozwolić programom robić tylko to, na co im pozwolisz, użyj pkexectego wraz z polkit .

Chociaż pomysł pkexecjest fajny, nie posunąłbym się do nazwania go następnym gksu, ze względu na skomplikowaną konfigurację.

Odniesienie: różnica między sudo i pkexec na Quora .

Żuraw
źródło