GNU/Linux >> Znalost Linux >  >> Panels >> Webmin

Vlastní příkazy

Tato stránka pokrývá modul Vlastní příkazy Webminu, který lze použít k vytvoření tlačítek pro spouštění často používaných příkazů shellu.

Obsah

Modul Vlastní příkazy

Většina systémových administrátorů ráda vytváří skripty shellu k provádění běžných úkolů, jako je zálohování databáze nebo přidání nového uživatele nějakého druhu. Vzhledem k tomu, že každý systém a organizace je jiná, vždy budou existovat úkoly, které zobecněný nástroj, jako je Webmin, nemůže udělat tak snadno jako jednoduchý přizpůsobený skript. Naneštěstí není pro nezkušeného uživatele snadné používat skripty spouštěné na příkazovém řádku.

Modul Custom Commands vám umožňuje vytvářet jednoduchá webová rozhraní pro shell skripty a příkazy, takže je lze spouštět z Webminu kliknutím na tlačítko. Umožňuje vám také definovat parametry různých typů pro každý příkaz, který může uživatel zadat a dosadit do příkazu shellu. To lze použít k poskytnutí dalších argumentů nebo vstupu pro spouštěné skripty v závislosti na výběru provedeném uživatelem před jeho spuštěním.

Další funkcí modulu je možnost definovat editory souborů, takže často změněné soubory lze upravovat přes webové rozhraní Webminu. Můžete také definovat příkazy, které se mají spustit před a po úpravě souboru, aby bylo možné jej před úpravou ověřit, zkopírovat nebo zálohovat.

Pravděpodobně nejužitečnější funkcí modulu je podpora řízení přístupu. Ostatním uživatelům Webminu můžete udělit práva k používání některých nebo všech příkazů a editorů, přičemž oprávnění k vytváření a úpravě příkazů udělujete pouze sobě a dalším důvěryhodným správcům. To znamená, že ostatní uživatelé mohou pouze spouštět skripty a upravovat soubory, které jim povolíte, ale bez úplných práv root.

Na rozdíl od většiny ostatních modulů se tento nezabývá konfigurací nějakého samostatného serveru nebo služby. Proto má přesně stejné uživatelské rozhraní a funkce na všech verzích Unixu, na kterých může Webmin běžet.

Když modul vstoupíte z kategorie Ostatní, jeho hlavní stránka zobrazí všechny existující uživatelské příkazy a editory souborů spolu s jejich parametry. Níže uvedený snímek obrazovky ukazuje příklad ze systému s 1 souborovým editorem a 8 definovanými příkazy, z nichž dva mají parametr. Pokud jste modul dosud nepoužívali, stránka bude prázdná.


Modul Vlastní příkazy

Jakýkoli příkaz zobrazený na hlavní stránce můžete spustit pouhým kliknutím na jeho tlačítko. Pokud však příkaz obsahuje pole parametrů nebo volby, musíte je před spuštěním vyplnit nebo provést příslušné výběry. Po kliknutí na tlačítko se dostanete na stránku s výstupem příkazu, takže můžete vidět, zda byl úspěšný nebo neúspěšný.

Chcete-li použít editor souborů, stačí kliknout na jeho tlačítko na hlavní stránce. Tím se dostanete do editačního formuláře s aktuálním obsahem souboru, který můžete libovolně měnit. Až budete hotovi, klikněte na Uložit pod textovým polem vypíšete obsah nového souboru.

Vytvoření nového příkazu

Chcete-li vytvořit nový příkaz, který lze spustit pomocí tlačítka na hlavní stránce modulu, postupujte takto:

  1. Klikněte na Vytvořit nový vlastní příkaz odkaz nad nebo pod stávajícími tlačítky. Tím se zobrazí formulář pro vytvoření zobrazený na obrázku níže.
  2. Do pole Popis zadejte krátký popis příkazu pole. Jakýkoli text, který zadáte, se objeví na tlačítku příkazu na hlavní stránce. Můžete také zadat další text (včetně značek HTML) do většího textového pole pod ním, které se zobrazí pod tlačítkem.
  3. V Příkazu zadejte skript nebo příkaz shellu, který chcete spustit. Všechny standardní metaznaky shellu {| border="1" |- jsou podporovány, například ||, &, . Chcete-li zadat více příkazů, |} oddělte je pomocí ; nebo &&. Pokud má váš příkaz parametry (nastavené v kroku 10), budou při spuštění příkazu převedeny na proměnné prostředí. Takže pokud máte parametr nazvaný foo, všechny výskyty $foo v příkazovém řetězci budou nahrazeny tím, co uživatel zadá pro tento parametr. Například příkaz, který uživateli umožnil osočovat libovolného uživatele v systému, může vypadat jako prst $user .
  4. Ve výchozím nastavení se příkaz spustí v adresáři Webmin pro tento modul. Chcete-li to změnit, zrušte zaškrtnutí políčka Výchozí pro Spustit v adresáři pole a zadejte jinou cestu do textového pole vedle něj.
  5. V části Spustit jako uživatel zadejte jméno uživatele Unixu, pod kterým má být příkaz spuštěn. Místo toho můžete vybrat uživatele Webmin, což způsobí, že bude spuštěn jako uživatel Unixu se stejným jménem jako uživatel Webmin, který jej spouští. Když je příkaz spuštěn, nebude mít normálně přístup ke stejným proměnným prostředí, jaké by měl uživatel Unixu, kdyby se přihlásil přes telnet nebo SSH. Pokud však zaškrtnete možnost Použít uživatelské prostředí pak budou dostupné všechny proměnné nastavené v uživatelově .profile, .cshrc a dalších přihlašovacích souborech. Webmin spustí příkaz pomocí su, který se přepne na uživatele, provede jeho shell a poté provede příkaz.
  6. Pokud váš příkaz vytváří výstup HTML, který chcete po spuštění zobrazit v prohlížeči, změňte pole *Výstup příkazu HTML?* na Ano . V opačném případě Webmin escapuje všechny HTML tagy ve výstupu, což je správná věc pro příkazy, které vytvářejí pouze normální text.
  7. Chcete-li ovládat umístění nového příkazu na titulní stránce modulu, zadejte číslo pro Objednání na hlavní stránce volba. Příkazy jsou seřazeny tak, aby se jako první objevily ty s nejvyšším číslem. Pokud je Výchozí je vybráno, objednací číslo se považuje za nulu. Pokud pro žádný z vašich vlastních příkazů nenastavíte objednací číslo, zobrazí se v pořadí, v jakém byly vytvořeny.
  8. Chcete-li zabránit tomu, aby uživatel viděl skutečný příkaz shellu spuštěný po kliknutí na jeho tlačítko, nastavte pole *Skrýt příkaz při provádění?* na Ano . To je dobrý nápad, pokud příkaz obsahuje hesla nebo jiné citlivé informace, které chcete před uživatelem skrýt.
  9. Chcete-li, aby se příkaz objevil v modulu Uživatelské příkazy Usermin, změňte Dostupné v Usermin? pole na Ano . Další informace o instalaci a konfiguraci Usermin najdete v části UserminConfiguration.
  10. Pokud chcete, aby měl váš příkaz parametry, které může uživatel nastavit na hlavní stránce, musíte vyplnit Parametry příkazu sekce. Každý řádek v tabulce v této části definuje jeden parametr a pro každý musí být zadány následující informace :
    Název
    Krátký jedinečný název pro tento parametr, který lze použít v Příkazu pole (předponou $) označující, kde má být nahrazena hodnota zadaná uživatelem. Název by se měl skládat pouze z písmen, číslic a znaku _.
    Popis
    Text, který označí parametr na hlavní stránce modulu. Může obsahovat libovolné znaky včetně značek HTML, ale nemělo by být příliš dlouhé.
    Typ
    Tato nabídka řídí, jak se parametr zobrazuje na hlavní stránce modulu a jaké vstupy jsou povoleny. Nejběžnější volbou je Text , ale všechny dostupné možnosti a jejich význam jsou uvedeny v části Typy parametrů sekce níže.
    Citovat parametr?
    Pokud je nastaveno na Ano , hodnota zadaná uživatelem bude před nahrazením uvozována se znaky ". Při vytváření nového příkazu je k dispozici pouze jeden prázdný řádek pro zadání jednoho parametru. Chcete-li přidat další, budete muset příkaz po uložení znovu upravit
  11. Po dokončení zadávání podrobností nového příkazu klikněte na tlačítko Vytvořit knoflík. Pokud ve formuláři nejsou žádné chyby, budete vráceni na hlavní stránku modulu, na které by mělo být viditelné nové příkazové tlačítko


Vytvoření nového vlastního příkazu

Jakmile je příkaz vytvořen, můžete jej upravit kliknutím na Upravit příkaz odkaz pod ním na hlavní stránce modulu. Všechna výše popsaná pole lze změnit a přidat další parametr. Po dokončení změn klikněte na Uložit tlačítko v dolní části stránky. Chcete-li se příkazu zbavit, klikněte na tlačítko Odstranit místo toho v pravém dolním rohu.

Typy parametrů

Pro každý parametr v příkazu si můžete vybrat typ z jeho nabídky pod Typ sloupec. Dostupné možnosti a jejich význam:

Text
pole pro zadávání textu
argumenty [výchozí text pro textové pole]
Uživatel
vstupní pole uživatelského jména
args [výchozí uživatelské jméno pro uživatelské pole]
UID
vstupní pole ID uživatele
args [výchozí ID uživatele pro pole UID]
Skupina
vstupní pole pro název skupiny
args [výchozí název pro pole skupiny]
GID
vstupní pole ID skupiny
argumenty [výchozí ID skupiny pro pole GID]
Soubor
soubor (strana serveru) vyberte vstupní pole
args [výchozí /cesta/k/serveru/souboru]
Adresář
adresář (na straně serveru) vyberte vstupní pole
args [výchozí /cesta/k/serveru/adresáři/]
Možnost..
ano | žádné booleovské pole
args ["hodnota, která má být předána, pokud je vybráno Ano"]
Heslo
pole pro zadání hesla
args [výchozí heslo]
Nabídka..
vstupní pole nabídky pro výběr možnosti
argumenty [/cesta/k/volbě/souboru.txt]
možnosti nabídky jsou uvedeny v souboru. Zadejte cestu a název souboru k souboru /path/to/myMenu_options.txt v poli args parametru typu. Soubor myMenu_options.txt obsahuje jednu možnost na řádek jako "klíč" "hodnotu". „Klíč“ je to, co je předáno vašemu vlastnímu příkazovému skriptu. "Hodnota" je to, co se zobrazí uživateli.
Nahrát
soubor (strana uživatele) vyberte vstupní pole
args [výchozí cesta/soubor]
Textové pole
vstupní pole textové oblasti
argumenty [výchozí text pro textové pole]
Vícenásobná nabídka..
vnořená možnost vybrat vstupní pole
argumenty Jako typ nabídky, ale umožňuje více výběrů
Velké vícenásobné menu..
složité vnořené výběrové vstupní pole
argumenty Stejné jako Multi Menu, ale dostatečně vysoké, aby zobrazily všechny možnosti
Nabídka zleva doprava..
widget nabídky vlevo <-> vpravo
args Funkčně stejný jako Multi Menu, ale zobrazuje možnosti vlevo a vybrané hodnoty vpravo
Datum
vstupní pole pro výběr data
argumenty [výchozí datum ve formátu RRRR-MM-DD]
Tlačítko Odeslat
tlačítko odeslání příkazu
args Jen tlačítko

Vytvoření nového editoru souborů

Chcete-li na hlavní stránku modulu přidat nové tlačítko pro úpravu souboru, musíte postupovat takto :

  1. Klikněte na Vytvořit nový editor souborů odkaz nad nebo pod stávajícími tlačítky. Zobrazí se formulář pro vytvoření editoru zobrazený na obrázku níže.
  2. Do pole Popis zadejte krátký popis souboru, který chcete upravit pole. Jakýkoli text, který zadáte, se objeví na tlačítku editoru na hlavní stránce. Můžete také zadat další text (včetně značek HTML) do většího textového pole pod ním, které se zobrazí pod tlačítkem.
  3. Do pole *Soubor k úpravě* zadejte úplnou cestu k souboru, který chcete upravit. Soubor ještě nemusí nutně existovat.
  4. Chcete-li, aby se vlastník souboru při uložení změnil, nastavte pole *Vlastnictví souboru* na Uživatel a do polí vedle zadejte uživatelské jméno pro Unix a název skupiny. To se hodí zejména při úpravě souboru, který ještě neexistuje, aby bylo správně nastaveno vlastnictví nově vytvořeného souboru. Pokud ponecháte pole nastavené na Ponechat tak, jak je , vlastnictví souboru se při uložení nezmění. Nově vytvořené soubory budou vlastněny rootem.
  5. Chcete-li změnit přístupová oprávnění souboru při jeho uložení, nastavte Oprávnění k souboru pole na Nastavit na osmičkovou a zadejte oprávnění (například 700 nebo 664 ) do pole vedle. Chcete-li, vyberte Ponechat tak, jak je , oprávnění souboru se při uložení nezmění. Oprávnění k nově vytvořeným souborům závisí na umask procesů Webmin.
  6. Chcete-li spustit příkaz těsně před uložením souboru uživatelem, vyplňte pole *Příkaz ke spuštění před uložením *. To by mohlo být užitečné pro vytvoření záložní kopie, kontrolu souboru z RCS nebo čehokoli jiného, ​​s čím můžete přijít.
  7. Podobně, chcete-li spustit příkaz hned po uložení souboru, vyplňte pole C*příkaz ke spuštění po uložení*. To může být užitečné při ověřování obsahu souboru, jeho zkopírování do jiného systému nebo jeho zpětné kontrole do RCS.
  8. Chcete-li ovládat umístění tlačítka nového editoru na titulní stránce modulu, zadejte číslo pro volbu *Objednávka na hlavní stránce*. Příkazy a editory jsou seřazeny tak, aby se jako první objevily ty s nejvyšším číslem. Pokud je Výchozí je vybráno, objednací číslo se považuje za nulu. Pokud u žádného ze svých editorů souborů nenastavíte objednací číslo, zobrazí se v pořadí, v jakém byly vytvořeny.
  9. Chcete-li, aby se editor objevil v modulu Uživatelské příkazy Usermin, změňte Dostupné v Usermin? pole na Ano . Další informace o instalaci a konfiguraci Usermin najdete v části UserminConfiguration.
  10. Nakonec klikněte na tlačítko Uložit knoflík. Pokud ve formuláři nejsou žádné chyby, vrátíte se na hlavní stránku modulu, která bude obsahovat tlačítko pro nový editor.


Vytvoření nového editoru souborů

Jakmile je editor vytvořen, můžete jej upravit kliknutím na odkaz *Editor souboru *pod ním na hlavní stránce modulu. Po dokončení změn klikněte na Uložit tlačítko v dolní části stránky. Chcete-li se editoru zbavit, klikněte na tlačítko Smazat místo toho v pravém dolním rohu.

Řízení přístupu k modulu

Možnosti řízení přístupu v modulu Vlastní příkazy jsou navrženy tak, aby umožnily hlavnímu uživateli Webminu udělit některým dalším uživatelům práva ke spouštění vybraných příkazů, ale ne je upravovat ani vytvářet. Z bezpečnostního hlediska nemá smysl dávat nedůvěryhodnému uživateli oprávnění k vytváření vlastních vlastních příkazů, protože by mu to umožnilo spouštět jakýkoli příkaz jako root a ohrozilo by to bezpečnost celého systému. Podobně můžete omezit editory souborů, které může uživatel Webminu používat, a zabránit mu ve vytváření nových editorů.

Jakmile vytvoříte uživatele nebo skupinu s přístupem k modulu Vlastní příkazy (jak je vysvětleno v kapitole 52), postupujte podle kroků k omezení jeho přístupu:

  1. V modulu Webmin Users klikněte na Custom Commands vedle jména uživatele nebo skupiny, které chcete udělit přístup. Tím se zobrazí formulář pro řízení přístupu pro modul.
  2. Změňte Lze upravit konfiguraci modulu? pole na Ne .
  3. Pokud nechcete, aby uživatel mohl spouštět všechny příkazy a používat všechny editory, nastavte Příkazy, které může tento uživatel spouštět pole na Vybrané a vybrat ty, které by měl mít povoleno používat, ze seznamu níže. Alternativně můžete zvolit *Vše kromě vybraných* a vybrat ze seznamu příkazy, které by neměl mít povoleno používat. Všichni ostatní mu budou k dispozici.
  4. Změňte Můžete vytvářet a upravovat příkazy? pole na Ne .
  5. Klikněte na tlačítko Uložit knoflík. Aktivuje se nastavení řízení přístupu a vrátíte se na hlavní stránku modulu Webmin Users.

Pokud chcete udělit přístup k vybraným vlastním příkazům a editorům velkému počtu uživatelů, může být lepším řešením nainstalovat Usermin, který umožňuje přihlášení libovolnému uživateli Unixu. Jakýkoli příkaz, pro který je Dostupný v Usermin? pole je nastaveno na Ano budou viditelné v modulu Uživatelské příkazy Userminu a budou fungovat přesně stejným způsobem. Další informace o Usermin a o tom, jak může být nakonfigurován, aby omezil, kteří uživatelé Unixu mohou spouštět vlastní příkazy, najdete v části Konfigurace Usermin.


Webmin
  1. Naplánované příkazy

  2. Linuxové příkazy od A do Z

  3. Užitečné příkazy python-novaclient

  1. Základní Linuxové příkazy

  2. Linuxový příkaz echo

  3. Porozumění základním příkazům Linuxu

  1. Vlastní příkazy

  2. Spustit příkaz, který je zastíněn aliasem?

  3. 25 základních příkazů Ubuntu