Witam.
Chciałem poprosić Was o pomoc w implementacji mechanizmu w aplikacji napisanej w C/C++, który umożliwiłby sprawdzenie, czy aplikacja ta została uruchomiona przez administratora. Jeżeli nie, to czy jest możliwość implementacji takiego mechanizmu, który by poprosił użytkownika o hasło roota i aplikacja ta mogła kontynuować pracę w trybie super użytkownika (oczywiście chodzi mi o kod w C/C++)? Wszelkie sugestie (oraz linki, których nie mogłem doszukać się w sieci) mile widziane. Z góry dziękuję.
Pozdrawiam
C/C++ - sprawdzenie z jakimi prawami zosta
-
- Posty: 11
- Rejestracja: 19 czerwca 2009, 10:28
Poczytaj manuala getuid, geteuid. Jeśli zwrócona wartość jest równa zero, oznacza to że program uruchomił root, jeśli jest różna od zera, jest to inny użytkownik.
-
- Posty: 11
- Rejestracja: 19 czerwca 2009, 10:28
Super, bardzo Ci dziękuję lessmian2. Mam jednak jeszcze jedną kwestię do rozwiązania. Czy jest możliwość (bądź odpowiednia funkcja), aby w programie C/C++ użytkownik mógł wprowadzić hasło dla roota tak aby ten kontynuował swoją pracę z tymi prawami, czy jedynym wyjściem jest zakończenie programu i poinformowanie użytkownika, aby uruchomił aplikację jako administrator? Jeszcze raz z góry dziękuję za odpowiedź.
Pozdrawiam.
Pozdrawiam.
-
- Posty: 11
- Rejestracja: 19 czerwca 2009, 10:28
Napotkałem się na funkcję: jednak w opisie man jest ostrzeżenie, że jest ona przestarzała i nie należy z niej korzystać. Czy znacie może aktualną alternatywę (w tym przypadku chodzi mi o możliwość pobrania hasła na konto root'a)?
Kod: Zaznacz cały
getpass