[Ubuntu] [C++]Dostęp z uprawnieniem root


(wojtek20124) #1

Przegrzebałem neta i zero.

Chciałbym w czasie trwania aplikacji poprosić użytkownika o hasło do root, aby np. wykonać operacje na plikach, do których ma dostęp tylko root.

Nie chodzi mi o konsolowe sudo su. Tylko wyświetlenie okna o monit. Aplikacja ma działać w trybie GUI z biblioteką GTK+.

To dla tych, którzy dobrze znają nagłówki gcc dla Linux.

Proszę tylko o fragment kodu.


(Domker) #2

Raczej wszystkie aplikacje wywołują “gksu” w przypadku GTK+, “kdesu” w przypadku aplikacji QT przy podnoszeniu sobie uprawnień.

Rzadko, ale też używają do tego “pkexec” - PolKit


(wojtek20124) #3

Piszę apkę w GTK+. Czyli w tej bibliotece jest funkcja uzyskiwania przez GUI uprawnień root? Wstawię fotkę, jeśli ktoś nie rozumie.

EDIT:

auth.png


(Domker) #4

To co jest na screenie to właśnie okienko PolKit także dobrze Ci mówiłem :slight_smile:

wpisz w terminalu:

pkexec gedit

wyskoczy prawie identyczne (inny powód przedstawi: required to [powód] )

http://stackoverflow.com/questions/2400965/authenticating-gtk-app-to-run-with-root-permissions

Z resztą weź kliknij w “Details” to się przekonasz ^^

A tu masz przykład jego implementacji:

(mniej więcej środek strony)

https://sarata.com/manpages/polkit.8.html

a także tu:

https://www.freedesktop.org/software/polkit/docs/0.105/polkit-apps.html

http://stackoverflow.com/questions/31389806/how-can-i-compile-my-c-program-with-the-polkit-library

 


(wojtek20124) #5

Dzięki, to wszystko, czego potrzeba. Koniec tematu :wink: