Saya telah membuat skrip bash yang menggunakan kdialog secara eksklusif untuk berinteraksi dengan pengguna. Diluncurkan dari file ".desktop" sehingga pengguna tidak pernah melihat terminal. Ini terlihat 100% seperti aplikasi GUI (meskipun itu hanya skrip bash). Hanya berjalan di KDE (Kubuntu 12.04).
Satu-satunya masalah saya adalah menangani input kata sandi dengan aman dan nyaman. Saya tidak dapat menemukan solusi yang memuaskan.
Skrip dirancang untuk dijalankan sebagai pengguna biasa dan untuk meminta kata sandi saat perintah sudo pertama kali diperlukan. Dengan cara ini, sebagian besar perintah, yang tidak memerlukan hak sudo, dijalankan sebagai pengguna normal. Apa yang terjadi (ketika skrip dijalankan dari terminal) adalah bahwa pengguna diminta kata sandi mereka satu kali dan batas waktu sudo default memungkinkan skrip untuk menyelesaikan, termasuk perintah sudo tambahan, tanpa meminta pengguna lagi. Ini adalah bagaimana saya ingin itu berfungsi ketika dijalankan di belakang GUI juga.
Masalah utama adalah bahwa menggunakan kdesudo
untuk meluncurkan skrip saya, yang merupakan cara GUI standar, berarti bahwa seluruh skrip dieksekusi oleh pengguna root. Jadi kepemilikan file ditugaskan untuk pengguna root, saya tidak bisa bergantung pada ~/
jalur, dan banyak hal lain yang kurang ideal. Menjalankan seluruh skrip sebagai pengguna root hanyalah solusi yang sangat tidak memuaskan dan saya pikir ini adalah praktik yang buruk.
Saya menghargai ide apa pun untuk membiarkan pengguna memasukkan kata sandi sudo hanya sekali melalui GUI sementara tidak menjalankan seluruh skrip sebagai root. Terima kasih.