Ho un'app UI (utilizza GTK) per Linux che richiede di essere eseguita come root (legge e scrive/dev/sd *).Autenticazione dell'app GTK per l'esecuzione delle autorizzazioni root
Invece di richiedere all'utente di aprire una shell di root o di utilizzare "sudo" manualmente ogni volta che avvia la mia app, mi chiedo se l'app possa utilizzare alcune API fornite dal sistema operativo per ottenere i permessi di root. (Nota: l'app gtk non può utilizzare la modalità "setuid", quindi non è un'opzione.)
Il vantaggio qui sarebbe un flusso di lavoro più semplice: l'utente potrebbe, dal suo account utente predefinito, fare doppio clic sulla mia app da il desktop invece di dover aprire un terminale root e avviarlo da lì.
Chiedo questo perché OS X offre esattamente questo: Un'app può chiedere al sistema operativo di lanciare un eseguibile con permessi di root - il sistema operativo (e non l'app) quindi chiede all'utente di inserire le sue credenziali, verificarle e quindi lanciare l'obiettivo come desiderato.
mi chiedo se c'è qualcosa di simile per Linux (Ubuntu, per esempio)
Chiarimento:
Così, dopo il suggerimento a PolicyKit mi chiedo se posso usare che per ottenere r/w accesso ai dispositivi di blocco "/ dev/sd ...". Trovo che la documentazione sia abbastanza difficile da capire, quindi ho pensato di chiedere prima se questo è possibile prima di passare ore a cercare di comprenderlo invano.
Aggiornamento:
L'applicazione è uno strumento di riparazione del disco azionato a distanza per l'utente unsavvy Linux, e quei niubbi Linux non avrà molto la comprensione di usare sudo o anche cambiare le appartenenze ai gruppi di loro utenti, soprattutto se il loro disco ha appena iniziato a recitare e stanno andando fuori di testa. Ecco perché cerco una soluzione che eviti tecnicismi come questo.
È sicuramente possibile impostare le cose in questo modo: ad esempio, il gestore di pacchetti Synaptic viene solitamente impostato in questo modo. – caf
Non sono sicuro che si dovrebbe davvero voler eseguire come root. Se hai solo bisogno di accedere al disco, è meglio aggiungere l'utente al gruppo "disco". –
Milano - La mia app funziona come uno strumento di riparazione di un disco. Non credo che chiunque voglia usarlo sia disposto a cambiare le sue impostazioni a livello di sistema per questo, in modo quasi permanente. –