Jak uzyska

Potrzebujesz pomocy z C, C++, perl, python, itp.
Pluto65
Posty: 2
Rejestracja: 10 października 2009, 20:56

Jak uzyskać na chwilę prawa roota w C (bez gksu, kdesu)

Post autor: Pluto65 »

Jak uzyskać na chwilę prawa administratora w programie w C gdy będą mu potrzebne? Chcę aby wyskoczyło okienko z pytaniem o hasło. Nie chcę aby program od samego początku był wywoływany z prawami administratora. Ani nie chcę wyświetlać okienka kdesu, gksu. Zauważyłem, że menadżer pakietów Kpackage w KDE w Debianie 5.0 podczas przeglądania listy pakietów potrafi pracować z prawami zwykłego użytkownika a dopiero przy wprowadzaniu jakiś zmian wyskakuje okienko z pytaniem o hasło administratora które nie wygląda na okno kdesu, gksu. Jak to się robi w języku C ?
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Zainteresuj się poleceniem:

Kod: Zaznacz cały

su-to-root -c /ścieżka/do/programu
Więcej informacji:

Kod: Zaznacz cały

man su-to-root
Pluto65
Posty: 2
Rejestracja: 10 października 2009, 20:56

Post autor: Pluto65 »

Niestety to się nie przyda. Działanie su-to-root przypomina gksu i kdesu. Wyświetla okienko z pytaniem o hasło administratora do wykonania podanego programu. A mi chodzi o coś innego. Menadżer pakietów Kpackage z KDE 3.5 Debiana 5.0 w trakcie pracy z prawami zwykłego użytkownika (a nie roota) tylko w razie potrzeby pyta się o hasło administratora do wykonania jednej z jego wielu funkcji. Dużo funkcji (jak przeglądanie listy pakietów lub listy repozytoriów) działa bez praw roota. Tylko jak zmienimy coś w liście repozytoriów lub zaznaczymy pakiet np. do instalacji to wyskakuje okienko z pytaniem o hasło. W oknie pojawia się taka treść:

Kod: Zaznacz cały

Wybrana operacja wymaga uprawnień administratora. Proszę podać hasło użytkownika root
i nic w tym oknie nie ma napisane o tym, że hasło jest potrzebne do wykonania jakiegoś zewnętrznego programu (jak to jest napisane w okienkach gksu, kdesu, su-to-root) bo przecież chcę zmienić uprawnienia aktualnie używanego programu (nie wyłączając go), a nie innego.

Program ma być od początku uruchamiany bez praw administratora i tylko czasem w miarę potrzeby o nie poprosić.
giaur
Member
Posty: 1915
Rejestracja: 25 maja 2007, 22:16

Post autor: giaur »

Mylisz się. Menedżer pakietów to nakładka na inne, konsolowe narzędzia. Część z nich może działać bez praw roota - i to jest to co widzisz (np. przeglądanie tylko do odczytu list pakietów). Gdy zajdzie potrzeba uruchomienia jakiegoś narzędzia jako root (np. apt-get) to wywoływane jest su-to-root, kdesu albo gksu i wyskakuje okienko z prośbą o podanie hasła.

No a jeżeli chcesz wiedzieć jak dokładnie działa i zrobić swoje okienko - to zajrzyj do źródeł gksu/kdesu.
Hoad
Posty: 1
Rejestracja: 03 października 2009, 13:42

Post autor: Hoad »

W gksu jest taka opcja:

Kod: Zaznacz cały

--message <message>
Gdzie "<message>" to wiadomość, którą chcesz mieć przy wpisywaniu hasła. W manualu kdesu czegoś podobnego nie znalazłem, ale pewnie też można coś wykombinować.
ODPOWIEDZ