GNU/Linux >> Linux Esercitazione >  >> Panels >> Webmin

Comandi personalizzati

Questa pagina copre il modulo dei comandi personalizzati di Webmin, che può essere utilizzato per creare pulsanti per eseguire i comandi della shell utilizzati di frequente.

Contenuti

Il modulo Comandi personalizzati

Alla maggior parte degli amministratori di sistema piace creare script di shell per eseguire attività comuni, come il backup di un database o l'aggiunta di un nuovo utente di qualche tipo. Poiché ogni sistema e organizzazione è diverso, ci saranno sempre attività che uno strumento generalizzato come Webmin non può eseguire facilmente come un semplice script personalizzato. Sfortunatamente, gli script eseguiti dalla riga di comando non sono facili da usare per un utente inesperto.

Il modulo Comandi personalizzati ti consente di creare semplici interfacce web per script e comandi di shell, in modo che possano essere eseguiti da Webmin con un semplice clic. Consente inoltre di definire parametri di vario tipo per ogni comando che può essere inserito dall'utente e sostituito nel comando della shell. Questo può essere utilizzato per fornire ulteriori argomenti o input agli script che vengono eseguiti, a seconda delle selezioni effettuate dall'utente prima di eseguirlo.

Un'altra caratteristica del modulo è la possibilità di definire editor di file, in modo che i file modificati di frequente possano essere modificati tramite l'interfaccia web di Webmin. È inoltre possibile definire i comandi da eseguire prima e dopo la modifica del file, in modo che possa essere convalidato, copiato o sottoposto a backup prima della modifica.

Forse la caratteristica più utile del modulo è il suo supporto per il controllo degli accessi. Puoi concedere ad altri utenti Webmin i diritti per utilizzare alcuni o tutti i comandi e gli editor, concedendo solo a te stesso e ad altri amministratori fidati le autorizzazioni per creare e modificare i comandi. Ciò significa che gli altri utenti possono solo eseguire gli script e modificare i file che consenti loro, ma senza i privilegi di root completi.

A differenza della maggior parte degli altri moduli, questo non si occupa della configurazione di alcuni server o servizi separati. Pertanto ha esattamente la stessa interfaccia utente e funzionalità su tutte le versioni di Unix su cui Webmin può essere eseguito.

Quando si accede al modulo dalla categoria Altri, la sua pagina principale mostra tutti i comandi personalizzati esistenti e gli editor di file, insieme ai relativi parametri. La schermata seguente mostra un esempio di un sistema con 1 editor di file e 8 comandi definiti, due dei quali hanno un parametro. Se non hai mai utilizzato il modulo in precedenza, la pagina sarà vuota.


Il modulo Comandi personalizzati

Puoi eseguire qualsiasi comando mostrato nella pagina principale semplicemente facendo clic sul relativo pulsante. Tuttavia, se il comando ha campi di parametri o scelte, è necessario compilarli o effettuare le selezioni appropriate prima di eseguirlo. Quando si fa clic sul pulsante, verrai indirizzato a una pagina che mostra tutto l'output del comando, in modo da poter vedere se è riuscito o meno.

Per utilizzare un editor di file, basta fare clic sul relativo pulsante nella pagina principale. Questo ti porterà a un modulo di modifica che mostra il contenuto del file corrente, che puoi modificare liberamente. Al termine, fai clic su Salva pulsante sotto la casella di testo per scrivere il nuovo contenuto del file.

Creazione di un nuovo comando

Per creare un nuovo comando che può essere eseguito utilizzando un pulsante nella pagina principale del modulo, i passaggi da seguire sono :

  1. Fai clic su Crea un nuovo comando personalizzato link sopra o sotto i pulsanti esistenti. Questo farà apparire il modulo di creazione mostrato nell'immagine qui sotto.
  2. Inserisci una breve descrizione per il tuo comando nella Descrizione campo. Qualunque sia il testo inserito apparirà sul pulsante del comando nella pagina principale. Puoi anche inserire testo aggiuntivo (compresi i tag HTML) nella casella di testo più grande sotto di essa, da visualizzare sotto il pulsante.
  3. Nel comando campo, immettere lo script o il comando della shell che si desidera eseguire. Tutti i metacaratteri della shell standard {| border="1" |- sono supportati, come ||, &, . Per inserire più comandi, |} separali con ; o &&. Se il comando dispone di parametri (impostati nel passaggio 10), questi verranno convertiti in variabili di ambiente quando viene eseguito il comando. Quindi, se hai un parametro chiamato foo, tutte le occorrenze di $foo nella stringa di comando verranno sostituite con qualsiasi cosa l'utente immetta per quel parametro. Ad esempio, un comando che consente all'utente di toccare qualsiasi utente del sistema potrebbe essere simile a dito $utente .
  4. Per impostazione predefinita, il comando verrà eseguito nella directory Webmin per questo modulo. Per cambiarlo, deseleziona Predefinito per Esegui nella directory campo e inserisci un percorso diverso nella casella di testo accanto ad esso.
  5. In Esegui come utente campo, immettere il nome dell'utente Unix con cui eseguire il comando. Puoi invece selezionare l'utente Webmin, che lo farà funzionare come utente Unix con lo stesso nome dell'utente Webmin che lo esegue. Quando il comando viene eseguito, normalmente non avrà accesso alle stesse variabili di ambiente che l'utente Unix avrebbe se avesse effettuato l'accesso tramite telnet o SSH. Tuttavia, se selezioni Utilizza ambiente utente opzione quindi tutte le variabili impostate nei file .profile, .cshrc e altri file di accesso dell'utente saranno disponibili. Webmin esegue il comando con su, che passa all'utente, esegue la sua shell e quindi esegue il comando.
  6. Se il tuo comando produce un output HTML che vuoi che appaia nel browser quando viene eseguito, cambia il campo *Command outputs HTML?* su . Altrimenti Webmin sfuggirà a tutti i tag HTML nell'output, che è la cosa corretta da fare per i comandi che producono solo testo normale.
  7. Per controllare il posizionamento del nuovo comando nella prima pagina del modulo, inserisci un numero per Ordinare nella pagina principale opzione. I comandi sono ordinati in modo che compaiano per primi quelli con il numero più alto. Se Predefinito viene scelto, il numero d'ordine è considerato zero. Se non imposti il ​​numero d'ordine per nessuno dei tuoi comandi personalizzati, verranno visualizzati nell'ordine in cui sono stati creati.
  8. Per impedire all'utente di vedere il comando della shell effettivo in esecuzione quando si fa clic sul relativo pulsante, impostare il campo *Nascondi comando durante l'esecuzione?* su . Questa è una buona idea se il comando contiene password o altre informazioni sensibili che desideri nascondere all'utente.
  9. Per visualizzare il comando nel modulo Comandi personalizzati di Usermin, modificare Disponibile in Usermin? campo su . Vedere UserminConfiguration per ulteriori informazioni su come installare e configurare Usermin.
  10. Se vuoi che il tuo comando abbia parametri che l'utente può impostare nella pagina principale, devi compilare i Parametri di comando sezione. Ciascuna riga della tabella di questa sezione definisce un parametro e per ciascuno è necessario inserire le seguenti informazioni :
    Nome
    Un nome univoco breve per questo parametro, che può essere utilizzato nel Comando campo (preceduto da $) per indicare dove deve essere sostituito il valore inserito dall'utente. Il nome dovrebbe essere composto solo da lettere, numeri e il carattere _.
    Descrizione
    Il testo che etichetterà il parametro nella pagina principale del modulo. Può contenere qualsiasi carattere, inclusi i tag HTML, ma non dovrebbe essere troppo lungo.
    Tipo
    Questo menu controlla come viene visualizzato il parametro nella pagina principale del modulo e quali ingressi sono consentiti. La scelta più comune è Testo , ma tutte le opzioni disponibili e i relativi significati sono trattati nei Tipi di parametro sezione sottostante.
    Parametro virgolette?
    Se impostato su , il valore inserito dall'utente sarà tra virgolette " caratteri prima della sostituzione. Quando si crea un nuovo comando è disponibile una sola riga vuota per l'inserimento di un singolo parametro. Per aggiungerne altro sarà necessario modificare nuovamente il comando dopo averlo salvato .
  11. Infine, quando hai finito di inserire i dettagli del tuo nuovo comando, fai clic su Crea pulsante. Finché non ci sono errori nel modulo, verrai riportato alla pagina principale del modulo su cui dovrebbe essere visibile il nuovo pulsante di comando


Creazione di un nuovo comando personalizzato

Una volta creato un comando, puoi modificarlo facendo clic sul comando Modifica link sottostante nella pagina principale del modulo. Tutti i campi sopra descritti possono essere modificati ed è possibile aggiungere un parametro aggiuntivo. Una volta terminate le modifiche, fai clic su Salva pulsante in fondo alla pagina. Oppure, per eliminare il comando, fai clic su Elimina pulsante invece nell'angolo in basso a destra.

Tipi di parametri

Per ogni parametro in un comando, puoi scegliere un tipo dal suo menu sotto Tipo colonna. Le opzioni disponibili e i relativi significati sono :

Testo
campo di inserimento testo
args [testo predefinito per campo di testo]
Utente
campo di immissione del nome utente
args [nome utente predefinito per il campo utente]
UID
campo di immissione ID utente
args [ID utente predefinito per il campo UID]
Gruppo
campo di immissione del nome del gruppo
args [nome predefinito per il campo del gruppo]
GID
campo di immissione ID gruppo
args [ID gruppo predefinito per il campo GID]
File
file (lato server) seleziona campo di immissione
args [predefinito /percorso/del/server/file]
Rubrica
directory (lato server) seleziona il campo di immissione
args [default /percorso/del/server/directory/]
Opzione..
sì | nessun campo booleano
args ["valore da trasmettere se si seleziona Sì"]
Password
campo di immissione password
args [password predefinita]
Menu..
option select menu input field
args [/path/to/option/file.txt]
le opzioni di menu sono elencate in un file. Fornire il percorso e il nome del file al file /path/to/myMenu_options.txt nel campo Type parametro args. Il file myMenu_options.txt contiene un'opzione per riga come "chiave" "valore". La "chiave" è ciò che viene passato al tuo script di comando personalizzato. Il "valore" è ciò che viene visualizzato all'utente.
Carica
file (lato utente) seleziona campo di immissione
args [percorso/file predefinito]
Casella di testo
campo di immissione textarea
args [testo predefinito per Casella di testo]
Multimenu..
opzione nidificata seleziona campo di immissione
args Come il tipo di menu, ma consente selezioni multiple
Ampio menu multiplo..
campo di input selezionato annidato complesso
args Lo stesso del menu multiplo, ma abbastanza alto da mostrare tutte le opzioni
Menu sinistra-destra..
widget menu a sinistra <-> a destra
args Funzionalmente come il menu multiplo, ma mostra le opzioni a sinistra e i valori selezionati a destra
Data
data seleziona campo di immissione
args [data predefinita nel formato AAAA-MM-GG]
Pulsante Invia
pulsante invia comando
args Solo un pulsante

Creazione di un nuovo editor di file

Per aggiungere un nuovo pulsante alla pagina principale del modulo per la modifica di un file, devi seguire questi passaggi :

  1. Fai clic su Crea un nuovo editor di file link sopra o sotto i pulsanti esistenti. Verrà visualizzato il modulo di creazione dell'editor mostrato nell'immagine sottostante.
  2. Inserisci una breve descrizione per il file da modificare nella Descrizione campo. Qualunque sia il testo che inserisci apparirà sul pulsante dell'editor nella pagina principale. Puoi anche inserire testo aggiuntivo (compresi i tag HTML) nella casella di testo più grande sotto di essa, da visualizzare sotto il pulsante.
  3. Immettere il percorso completo del file da modificare nel campo *File da modificare*. Il file non deve necessariamente esistere ancora.
  4. Per modificare il proprietario del file quando viene salvato, imposta il campo *Proprietà file* su Utente e inserisci un nome utente Unix e il nome del gruppo nei campi accanto ad esso. Ciò è particolarmente utile quando si modifica un file che non esiste ancora, in modo che la proprietà del file appena creato sia impostata correttamente. Se lasci il campo impostato su Lascia così , la proprietà del file non verrà modificata quando verrà salvato. I file appena creati saranno di proprietà di root.
  5. Per modificare le autorizzazioni di accesso al file quando viene salvato, imposta le Autorizzazioni file campo su Imposta su ottale e inserisci i permessi (come 700 o 664 ) nel campo accanto. A te seleziona Lascia così , le autorizzazioni del file non verranno modificate quando viene salvato. I permessi sui file appena creati dipendono dalla umask dei processi Webmin.
  6. Per eseguire un comando appena prima che il file venga salvato dall'utente, compilare il campo *Comando da eseguire prima di salvare *. Questo potrebbe essere utile per fare una copia di backup, estrarre il file da RCS o qualsiasi altra cosa tu possa inventare.
  7. Allo stesso modo, per eseguire un comando subito dopo il salvataggio del file, compilare il campo C*comando da eseguire dopo il salvataggio*. Questo può essere utile per convalidare il contenuto del file, copiarlo su un altro sistema o ricontrollarlo in RCS.
  8. Per controllare la posizione del pulsante del nuovo editor nella prima pagina del modulo, inserire un numero per l'opzione *Ordinazione nella pagina principale*. I comandi e gli editor sono ordinati in modo che vengano visualizzati per primi quelli con il numero più alto. Se Predefinito viene scelto, il numero d'ordine è considerato zero. Se non imposti il ​​numero d'ordine per nessuno dei tuoi editor di file, verranno visualizzati nell'ordine in cui sono stati creati.
  9. Per visualizzare l'editor nel modulo Comandi personalizzati di Usermin, modificare Disponibile in Usermin? campo su . Vedere UserminConfiguration per ulteriori informazioni su come installare e configurare Usermin.
  10. Infine, fai clic su Salva pulsante. Se non ci sono errori nel modulo, verrai riportato alla pagina principale del modulo che includerà un pulsante per il nuovo editor.


Creazione di un nuovo editor di file

Una volta creato un editor, puoi modificarlo facendo clic sul collegamento *Modifica editor di file *sotto di esso nella pagina principale del modulo. Una volta terminate le modifiche, fai clic su Salva pulsante in fondo alla pagina. In alternativa, per eliminare l'editor, fai clic su Elimina pulsante invece nell'angolo in basso a destra.

Controllo dell'accesso al modulo

Le opzioni di controllo dell'accesso nel modulo Comandi personalizzati sono progettate per consentire a un utente Webmin principale di concedere ad altri utenti i diritti per eseguire comandi selezionati, ma non modificarli o crearli. Dal punto di vista della sicurezza, non ha senso concedere a un utente non attendibile i permessi per creare i propri comandi personalizzati, perché ciò gli consentirebbe di eseguire qualsiasi comando come root e comprometterebbe la sicurezza dell'intero sistema. Allo stesso modo, puoi limitare gli editor di file che un utente Webmin può utilizzare e impedirgli di creare nuovi editor.

Dopo aver creato un utente o un gruppo con accesso al modulo Comandi personalizzati (come spiegato nel capitolo 52), i passaggi da seguire per limitarne l'accesso sono :

  1. Nel modulo Utenti Webmin, fai clic su Comandi personalizzati accanto al nome dell'utente o del gruppo a cui desideri concedere l'accesso. Verrà visualizzato il modulo di controllo dell'accesso per il modulo.
  2. Modificare Puoi modificare la configurazione del modulo? campo su No .
  3. A meno che non desideri che l'utente sia in grado di eseguire tutti i comandi e utilizzare tutti gli editor, imposta i Comandi che questo utente può eseguire campo su Selezionato e scegli quelli che dovrebbe essere autorizzato a usare dall'elenco sottostante. In alternativa, puoi scegliere *Tutti tranne selezionati* e selezionare dall'elenco i comandi che non dovrebbe essere autorizzato a usare. Tutti gli altri saranno a sua disposizione.
  4. Modificare Puoi creare e modificare comandi? campo su No .
  5. Fai clic su Salva pulsante. Le impostazioni di controllo accessi verranno attivate e verrai riportato alla pagina principale del modulo Utenti Webmin.

Se si desidera concedere l'accesso a comandi ed editor personalizzati selezionati a un numero elevato di utenti, una soluzione migliore potrebbe essere l'installazione di Usermin, che consente a qualsiasi utente Unix di accedere. Qualsiasi comando per il quale è Disponibile in Usermin? il campo è impostato su sarà visibile nel modulo Comandi personalizzati di Usermin e funzionerà esattamente allo stesso modo. Vedi Configurazione Usermin per ulteriori informazioni su Usermin e su come può essere configurato per limitare gli utenti Unix che possono eseguire comandi personalizzati.


Webmin
  1. Comandi programmati

  2. Eseguire un comando oscurato da un alias?

  3. Comandi di pianificazione per inattività del sistema?

  4. Comandi Linux dalla A alla Z

  5. 25 comandi di base di Ubuntu

Come eseguire i comandi Linux in background

Comandi di base di Linux

Comandi Linux - Guida completa

Come eseguire più comandi Linux in un unico comando

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

Esegui comandi con un limite di tempo in Ubuntu 20.04