Stavo realizzando un'applicazione GUI per gestire utenti e gruppi in Linux!
Ho finito con la parte in cui crea un nuovo utente, ma sono rimasto bloccato con la parte in cui fornisce all'utente appena creato una nuova password.
Quello che fa semplicemente la mia app è prendere l'input richiesto (nome utente, elenco di gruppi e password) tramite una GUI ed esegue uno script passando queste informazioni come argomento.
Supponiamo di avere un account utente, xyz.
Se voglio cambiare la password per questo account, allora tutto quello che devi fare è semplicemente eseguire il comando:
passwd xyz
Questo richiederà una nuova password. Ora posso creare un nuovo account usando gli script perché tutte le informazioni richieste vengono passate nella riga di comando.
useradd -m -G users -g "groups" -s /bin/bash "UserName"
Posso eseguire uno script tramite l'app Qt e creare l'utente, ma
in passwd cmd
, l'input viene richiesto nell'altra riga. Come affrontarlo?
Risposta accettata:
Penso che la risposta giusta qui sia:non eseguire la shell su uno strumento da riga di comando, utilizzare una chiamata alla libreria . Ciò ti consentirà di gestire meglio gli errori ed evita il passaggio della password soggetto a rischi su una riga di comando.
Una libreria che puoi usare è libuser, che è relativamente semplice e ha collegamenti C e Python.