Stworzyłem skrypt bash, który używa kdialog wyłącznie do interakcji z użytkownikiem. Jest uruchamiany z pliku „.desktop”, więc użytkownik nigdy nie widzi terminala. Wygląda w 100% jak aplikacja GUI (mimo że jest to tylko skrypt bash). Działa tylko w KDE (Kubuntu 12.04).
Moim jedynym problemem jest bezpieczne i wygodne wprowadzanie hasła . Nie mogę znaleźć zadowalającego rozwiązania.
Skrypt został zaprojektowany do działania jako zwykły użytkownik i monitowania o hasło, gdy polecenie sudo jest po raz pierwszy potrzebne. W ten sposób większość poleceń, które nie wymagają uprawnień sudo, są uruchamiane jako zwykły użytkownik. To, co się dzieje (gdy skrypt jest uruchamiany z terminala), polega na tym, że użytkownik jest proszony o podanie hasła raz, a domyślny limit czasu sudo pozwala na zakończenie skryptu, łącznie z wszelkimi dodatkowymi poleceniami sudo, bez ponownego monitowania użytkownika. Tak właśnie chcę, żeby działało, gdy działa za GUI.
Główny problem polega na tym, że użycie kdesudo
do uruchomienia mojego skryptu, który jest standardowym sposobem GUI, oznacza, że cały skrypt jest wykonywany przez użytkownika root. Własności plików są przypisywane do użytkownika root, więc nie mogę polegać na ~/
ścieżkach, a wiele innych rzeczy jest mniej niż idealnych. Uruchamianie całego skryptu jako użytkownik root jest po prostu bardzo niezadowalającym rozwiązaniem i myślę, że to zła praktyka.
Doceniam wszelkie pomysły na to, aby użytkownik mógł wprowadzić hasło sudo tylko raz za pośrednictwem GUI, nie uruchamiając całego skryptu jako root. Dzięki.