Come faccio a scrivere uno script di shell per modificare la password di un utente di Linux?

April 11

Come faccio a scrivere uno script di shell per modificare la password di un utente di Linux?


Gli utenti Linux possono scrivere script di shell per automatizzare i comandi in esecuzione. Con la creazione di una serie di comandi, compiti come la configurazione dei programmi, la modifica delle impostazioni di account, il backup di file e le attività ripetitive possono essere resi più facili. Modifica delle password degli account che non siano il richiede root o altri diritti di amministratore.

istruzione

1 Creare un nuovo file e dargli un nome che indica che è uno script che cambia la password come "password.sh". Le estensioni dei file "sh" è usato per indicare gli script di shell nei sistemi operativi Unix.

2 Aprire il nuovo file nel vostro editor di testo preferito Linux.

3 Creare una variabile locale nello script per la nuova password per l'utente. Le variabili sono dichiarate nel formato "nome della variabile = valore". In questo esempio, usare "newpassword = testpassword". Ogni variabile assumerà una riga dello script.

4 Creare un'altra variabile per il nome utente. In questo caso d'uso "username = myaccount".

5 Scrivere il comando "echo $ newpassword | passwd --stdin $ username"

6 Salvare lo script.

7 Apri un terminale e passare al punto in cui è memorizzato il file. Renderlo eseguibile con il comando "chmod 755 <filename>" dove nomefile è il nome dello script. È inoltre possibile includere il percorso completo del file nel nome del file, ad esempio "chmod 755 / home / utente / passwordscript".

8 Eseguire lo script come root. A seconda del sistema questo può essere fatto in diversi modi, ma il più comune sta usando il comando "./ <yourscriptname>". Per eseguire come root, utilizzando login "su" o utilizzare "sudo ./ <yourscriptname>". Lo script verrà eseguito e testo di output che indica la password è stata cambiata.

Consigli e avvertenze

  • La parte fondamentale di questo script è il "echo $ newpassword | passwd --stdin $ username". Il tubo o "|" simbolo prende l'output del comando "eco" e alimenta il comando "passwd" responsabile per la modifica della password di un utente. Normalmente, quando viene eseguito "passwd" vi verrà chiesto due volte la password. Utilizzando l'opzione "--stdin" l'ingresso del comando "pipe" viene utilizzato per rispondere alle richieste automaticamente.