Istnieją dwa ogólne sposoby graficznego uruchamiania aplikacji jako root (lub, bardziej ogólnie, jako inny użytkownik). Programy takie jak gksu
, gksudo
i kdesudo
są graficzne nakładki na sudo
. Natomiast pkexec
jest graficznym frontendem dla PolicyKit .
Kiedy ręcznie uruchamiasz programy jako root (lub jako inny użytkownik inny niż root), jakie są zalety / wady (jeśli w ogóle) używania pkexec
, w porównaniu z bardziej tradycyjną metodą korzystania z sudo
interfejsu użytkownika?
Odpowiedzi:
PolicyKit jest bardziej konfigurowalny, ale
pkexec
nie korzysta z tej możliwości konfiguracji. Ponadto,pkexec
pokazać użytkownikowi pełną ścieżkę do programu, który jest uruchamiany, na które użytkownik jest nieco bardziej pewny tego, co się wydarzy. Tak zwane „zasady” PolicyKit mogą być użyte do ustawienia większej liczby zaawansowanych ustawień. Na przykład, czy hasło powinno zostać zapamiętane.Coś, co dostałem z
pkexec
instrukcji:Więcej informacji na temat definicji polityk lub akcji z
pkexec
podręcznika:źródło
pkexec
uruchomienie aplikacji graficznych (po prostu nigdy tego nie zrobiłem ...). Twoja odpowiedź wyjaśnia, dlaczego nie ma (a przynajmniej dlaczego należy określić niestandardowe środowisko, aby to zrobić).pkexec
, w jakim sensie można ograniczyć jego możliwości („uprawnienia”)? Przyznaję program zdolność do niczego gdy uruchamiam gosudo
lubsudo
nakładka ... w jakim sensie uruchomiony program jako root zpkexec
nie również to zrobić?pkexec
ułatwia, czypkexec
po prostu uruchamia rzeczy jako root z nieograniczonymi zdolnościami?pkexec
Instrukcja fragment ty zawarte w dokumentach Odpowiedź Jak napisać zasady określają, kto może uruchomić program jako administrator (lub jako inny użytkownik, nie root), a nie to, co program może zrobić.pkexec
jest to bardziej konfigurowalne niżsudo
, a biorąc pod uwagę dyskusję, którą mieliśmy tutaj w komentarzach, wydaje się, że tak nie jest. Czy zastanowiłbyś się nad edycją swojej odpowiedzi, aby wyjaśnićsudo
konfigurowalność i porównać / porównać z niąpkexec
, czy zredagować swoją odpowiedź, aby powiedzieć, że różnica jest czymś innym niż konfigurowalność?Dzięki sudo możesz ustawić zasady dotyczące użytkownika i programu, aby zachować lub zresetować środowisko dzwoniącego w kontekście sudo. Polityka env_reset jest ustawiona domyślnie.
Nie można uruchamiać aplikacji graficznych za pomocą pkexec bez wyraźnej konfiguracji. Ponieważ jest to jedynie wynik resetu środowiska, jest to oczywiście prawdą również w przypadku sudo. Należy jednak pamiętać, że ani pkexec, ani sudo nie mogą uniemożliwić złośliwej aplikacji działającej jako root w celu pobrania wszystkich niezbędnych informacji od menedżerów wyświetlania lub pliku cookie X11 użytkowników. To ostatnie, oba lub podobne, może być nawet wykonane przez aplikacje użytkownika innego niż root, w zależności od okoliczności.
Sudo nie wymaga wyraźnych list użytkowników. Można sporządzić listę dowolnej grupy użytkowników, a nawet ustawić uprawnienia dla wszystkich użytkowników w ogóle. Dyrektywa target_pw pozwala tym użytkownikom uwierzytelniać się przy użyciu poświadczeń użytkownika w kontekście, w którym chcą uruchomić aplikację, tj. Root. Poza tym równie tradycyjny program su (su / gtksu / kdesu) może być używany do tego samego bez specjalnej konfiguracji.
sudo również pozwala użytkownikowi pozostać uwierzytelnionym przez określony czas. Opcja nazywa się limitem czasu, można ją konfigurować globalnie, dla użytkownika lub aplikacji. Uwierzytelnianie można zachować dla każdego tty lub globalnie dla użytkownika.
Chociaż pkexec może nie sprawdzać ARGUMENTÓW przekazanych do PROGRAMU, sudo rzeczywiście ma tę funkcję. Przyznaję, że możesz łatwo to zepsuć i zwykle nie jest to robione.
Możesz trochę ulepszyć sposób, w jaki chcesz uruchamiać programy za pomocą pkexec: ikona, tekst do wyświetlenia, możesz nawet mieć rzeczy związane z lokalizacją i tak dalej. W zależności od okoliczności może to być naprawdę fajne. Smutne jednak, że ktoś poczuł potrzebę ponownego opracowania koła dla tej funkcji. Prawdopodobnie byłoby to coś, co można umieścić w graficznych opakowaniach gtksudo / kdesu.
Policykit to wtedy tylko scentralizowana struktura konfiguracji. Niestety niezbyt ładna. Pliki XML PKs są znacznie bardziej skomplikowane niż cokolwiek, co aplikacja może zapewnić natywnie plików binarnych. I nikt nie byłby tak zwariowany, aby używać binarnych ... och gconf ... nieważne.
źródło
pkexec
można uruchomić GUI bez konfiguracji: askubuntu.com/a/332847/89385Kilka rzeczy, czym
pkexec
się różnisudo
i jej nakładki:pkexec
bez jawnej konfiguracji.pkexec
: ikona, tekst do wyświetlenia, czy pamiętasz hasło, czy nie, czy chcesz, aby działało graficznie i trochę więcej.sudo
że musisz być wymieniony wsudoers
pliku jako administrator .gksudo
blokuje klawiaturę, mysz i ostrość, gdy pyta o hasło,pkexec
nie robi. W obu przypadkach naciśnięcia klawiszy są jednak wyczuwalne .pkexec
pracy w nieco bardziej oczyszczone środowiska.Spróbuj na przykład:
źródło
root
przypadkupkexec
. Czy można go skonfigurować, z którego użytkownicy mogąpkexec
w ogóle korzystać (nawet jeśli znają hasło innego użytkownika, który może to zrobić)?su
jest konfigurowalny w ten sposób. Kiedy próbuję nawiązać połączeniesu
z innymroot
użytkownikiem niebędącym użytkownikiem, jakguest
w systemie Oneiric, mówi mi, że nie mogę tego robić. (W przeciwieństwie do tego, gdy próbuję używaćpkexec
tak jakguest
w Oneiric lub Precise, dostaję coś, co wygląda jak błąd asercji, który wkrótce mogę zgłosić jako błąd, ponieważ nie powinienem tego otrzymywać, nawet jeśli nie jest to dozwolone.)sudo
jego nakładki można również dostosować, jak opisano w punkcie 2. Możesz uruchomić program zgksu
lubgksudo
wyświetlać dostosowany tekst , przestać potrzebować haseł niektórych użytkowników, edytując/etc/sudoers
(zvisudo
), i zmienić czas ich zapamiętywania w sensie zmiany sposobu długo trwa przekroczenie limitu czasu przez sudo (choć nie jestem pewien, jak to zrobić w Ubuntu, który jest skonfigurowany tak, aby pytania o to, czysudo
potrzebuje hasła, i jak długo trzeba będzie je ponownie, były specyficzne dla terminala ).pkexec
można uruchomić GUI bez konfiguracji: askubuntu.com/a/332847/89385