Vytvořte si program krok za krokem pomocí prostředí Shell Scripting - část 5

V předchozích publikacích tohoto kola tzv «Vytvořte si program krok za krokem pomocí skriptování Shell» Již jsme popsali, jak implementovat následující moduly:

Shell skriptování

Nyní v této nové publikaci uvidíme, jak implementovat:

MODUL POVOLENÍ UŽIVATELE S HESLEM

Který by měl být modul (část) vašeho programu který vám umožní zajistit, aby operace určené pro váš program mohl provádět pouze uživatel nebo uživatelé dříve definovaní pro jeho použití. Může nebo nemusí obsahovat heslo pro uvedené oprávněné uživatele. V takovém případě prozkoumáme jeden s ověřením uživatelského jména a hesla.

Osobně přidám následující řádky k vytvoření tohoto modulu:

Pod kódem:


###############################################################################
# INICIO DEL MODULO DE AUTORIZACIÓN DE USUARIO CON CONTRASEÑA
###############################################################################

setterm -background blue

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: RECUERDA QUE EL LINUX POST INSTALL SCRIPT BICENTENARIO SOLICITA TU AUTENTICACION Y VALIDACION PARA EVITAR USOS INDEBIDOS POR PARTE DE PERSONAL NO AUTORIZADO. EN CASO DE NO SABER USUARIO Y CONTRASEÑA, ESCRIBA SALIR EN MAYUSCULA." | aplay -q

echo "ESTIMADO USUARIO: RECUERDA QUE EL LINUX POST INSTALL SCRIPT BICENTENARIO SOLICITA TU AUTENTICACION Y VALIDACION PARA EVITAR USOS INDEBIDOS POR PARTE DE PERSONAL NO AUTORIZADO. EN CASO DE NO SABER USUARIO Y CONTRASEÑA ESCRIBA, SALIR EN MAYUSCULA." | clear

dialog --infobox "\n \n \nESTIMADO USUARIO: RECUERDA QUE EL LINUX POST INSTALL SCRIPT BICENTENARIO SOLICITA TU AUTENTICACION Y VALIDACION PARA EVITAR USOS INDEBIDOS POR PARTE DE PERSONAL NO AUTORIZADO. EN CASO DE NO SABER USUARIO Y CONTRASEÑA, ESCRIBA SALIR EN MAYUSCULA." 10 80

################################################################################

USUARIO=0

until [ "$USUARIO" = "sysadmin" ];

do

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: INTRODUZCA UN NOMBRE DE USUARIO VALIDO." | aplay -q

read -p "INTRODUZCA UN NOMBRE DE USUARIO VALIDO / PLEASE ENTER A VALID USER: " USUARIO
echo ""

if [ "$USUARIO" = "SALIR" ]; then

   setterm -background green
   play /usr/share/sounds/warning.wav 2> /dev/null

   echo -e "\nUsted ha decidido salir del Programa, hasta luego.\nYou have decided to leave the program, later.\n\n\nPuede intentarlo mas tarde.\nYou can try later."

   exit 0

fi


if [ "$USUARIO" != "$USR1_VALID" ]; then

   setterm -background red
   play /usr/share/sounds/error.wav 2> /dev/null

   echo -e "\nError al introducir un Usuario valido.\nFailed to enter a valid user.\n\n\nVuelva a intentarlo de nuevo.\nPlease try again."

fi

done

if [ "$USUARIO" = "$USR1_VALID" ]; then

   setterm -background blue
   play /usr/share/sounds/info.wav 2> /dev/null

   echo -e "\nAuntenticación de Usuario valido exitosa.\nValid user authentication successful.\n\n\nEspere unos segundos para continuar.\nWait a few seconds before continuing"

   sleep 3

fi

################################################################################

CLAVE=0

until [ "$CLAVE" = "lpi*sb8" ];

do

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: INTRODUZCA UNA CONTRASEÑA VALIDA." | aplay -q

read -p "INTRODUZCA UNA CONTRASEÑA VALIDA / ENTER A VALID PASSWORD: " CLAVE
echo ""

if [ "$CLAVE" = "SALIR" ]; then

   setterm -background green
   play /usr/share/sounds/warning.wav 2> /dev/null

   echo -e "\nUsted ha decidido salir del Programa, hasta luego.\nYou have decided to leave the program, later.\n\n\nPuede intentarlo mas tarde.\nYou can try later."

   exit 0

fi


if [ "$CLAVE" != "$PASSWD_VALID" ]; then

   setterm -background red
   play /usr/share/sounds/error.wav 2> /dev/null

   echo -e "\nError al introducir una Contraseña valida.\nFailed to enter a valid password.\n\n\nVuelva a intentarlo de nuevo.\nPlease try again."

fi

done

################################################################################

if [ "$CLAVE" = "$PASSWD_VALID" ]; then

   setterm -background blue
   play /usr/share/sounds/info.wav 2> /dev/null

   echo -e "\nAuntenticación de Contraseña valida exitosa.\nValid password authentication successful.\n\n\nEspere unos segundos para continuar.\nWait a few seconds before continuing"

   sleep 3

fi

espeak -v es-la+m1 -a 100 -p 50 -s 150 -b UTF-8 --stdout "ESTIMADO USUARIO: ACCESO GARANTIZADO - USUARIO Y CONTRASEÑA CORRECTA" | aplay -q

echo "ESTIMADO USUARIO: ACCESO GARANTIZADO - USUARIO Y CONTRASEÑA CORRECTA." | sleep 5 | clear

dialog --infobox "\n \n \nESTIMADO USUARIO: ACCESO GARANTIZADO - USUARIO Y CONTRASEÑA CORRECTA." 10 80 ; sleep 5

DIALOG=${DIALOG=dialog}

$DIALOG --title "LINUX POST INSTALL - SCRIPT BICENTENARIO" --clear \
        --yesno "\n \n \nBIENVENIDO USUARIO: $(whoami), PRESIONE "SI" PARA CONTINUAR O "NO" PARA FINALIZAR." 10 80

case $? in
  0)
    echo ""
    echo ""
    echo "Continuando el proceso..."
    echo ""
    echo "."
    sleep 1
    echo ".."
    sleep 1
    echo "..."
    sleep 1
    clear;;
  1)
    exit 0;;
  255)
    exit 0;;
esac

dialog --infobox "\n \n \n ESPERE UNOS SEGUNDOS MIENTRAS EL PROGRAMA SE INICIALIZA..." 10 80 ; sleep 3

###############################################################################
# FINAL DEL MODULO DE AUTORIZACIÓN DE USUARIO CON CONTRASEÑA
###############################################################################

Jak vidíte, tento modul nejprve nakonfiguruje vaše obrazovka terminálu na modré pozadí pro lepší vizuální zhodnocení uživatele, pak vydá sluchové zprávy s mluvit y vizuály s minout y Dialog. Pak smyčkou pomocí příkazu až do potvrzuje, že hodnota zadaná pro uživatelské jméno být srovnáván s platné uživatelské hodnoty dříve definované, což dává uživateli možnost správně ukončit program zadáním slova JÍT VEN. Pokud je ověření uživatele úspěšné, proveďte stejný postup s heslem. Pro ukončení v případě úspěchu ověření uživatele a hesla pomocí a jednoduché menu vyrobeno v Dialog dotaz, zda si uživatel X přeje pokračovat v procesu programu nebo ne. Pokud ano, vydejte jednoduchý progresivní lišta čekání hotovo s příkazem případ.

=============

Doporučení:

Naplánujte nebo přemýšlejte! Co je první? o Co je důležitější?

Bezpochyby, když začneme programovat, první věcí, kterou bychom se měli naučit, jsou algoritmy nebo vývojové diagramy jako teoretické základy pro naučení logiky a matematiky ke zvýšení logicko-matematického uvažování, ale to je dostatečný nebo adekvátní základ pro zahájení programování. Rozumět tomu Naučte se programovat, to nestačí, je to nutné Naučte se myslet.

VE KTERÉM PROGRAMOVACÍM JAZYKU BY MĚL ZAČÍT DOSAHOVAT RYCHLE NAUČENÍ K PROGRAMU?

To je jistě povinná otázka, kterou si všichni klademe, když začínáme v úžasném světě programování. Není to však první správná otázka, kterou bychom si měli položit, ale:

MUSÍM ANALYTICKÁ KAPACITA POTŘEBOVAT ANALÝZU PROBLÉMU, VYBRAT JEJÍ PRVKY A ZOBRAZIT ODPOVĚĎ?

A určitě se učení programování v kterémkoli z nejběžnějších nebo nejsilnějších jazyků má mnoho nepopiratelných výhod. Jelikož nám poskytuje nezbytné nástroje pro vývoj vlastních aplikací, pomáhá nám lokalizovat problémy v technologických zařízeních a otevírá nám dveře na trhu práce, ale programování je jen malou částí počítačové vědy.

Zatímco Naprogramujte nebo napište kód spočívá ve výuce počítače (prostřednictvím aplikace, softwaru nebo systému) k provedení určité operace, po a Možnost X provádí operátor nebo a Událost X stejným hardwarem nebo softwarem, který je podporuje; Principy informatiky (informatika / systémy) učí nás uvažování a logické dovednosti, které jsou užitečné v jiných oblastech než v technologii. Počítačová věda v podstatě učí, jak zpracovávat a reprezentovat informace.

Považuji to proto za nejvhodnější způsob Naučte se programovat.

Vysvětluji, jako příklad, tento další příspěvek s názvem Naučte se kódovat. Naučte se myslet » de Jevgenij Brikman, kde nám tento inženýr stručně odhalí rozdíl mezi umět programovat a umět uvažovat jako počítačový vědec s touto analogií:

Jakkoli je technologie všudypřítomná, nedělá to, abychom se ji učili, když ji studujeme ve výukovém centru. Jako příklad můžeme uvést, že v letadle někdy v životě letěl téměř kdokoli, ale odtud k získání pilotního průkazu je ještě dlouhá cesta, která obvykle není součástí formálních studií osoba, ale velmi konkrétní studie o konkrétní oblasti.

Podrobněji vysvětleno, to znamená, že znalosti, které může každý mít o tom, jak fungují letadla, mají v podstatě mnozí z nás ze středního a vysokoškolského vzdělání nebo z jakékoli technické kariéry (strojírenství), jako je fyzika a matematika, které nám pomáhají pochopit, jak síly přítomné za letu a vnější prvky, jako je gravitace, atmosférický tlak, rychlost, tření nebo zdvih. Stejně jako nám biologie pomáhá pochopit, jak se člověk chová ve výšce X, nebo jak je ovlivněn nedostatkem kyslíku a extrémním chladem. Nebo příběh, který nám umožňuje poznat proces, který vedl k tomu, jak byla letadla vytvořena a jakou roli hrají v dopravě a obchodu. Všechny tyto znalosti získané společně ve výukovém centru z různých oblastí znalostí nám poskytují obecnou představu o tom, co je letadlo a jak funguje. Obecné předměty nám pomáhají porozumět široké škále problémů, včetně toho, jak létají letadla. Něco velmi odlišného od specializovaného předmětu, který vás naučí ovládat pouze jeden z těchto strojů, typ letadla. Ze stejného důvodu bychom se proto měli zaměřit na studium informatiky, nejen na programování. Protože zatímco nás informatika učí globálně myslet v obecném (systémovém) smyslu, programování je pouze nástrojem, který nám umožňuje přeložit myšlenku nebo problém Y prostřednictvím kódu X, který byl dříve analyzován (správně nebo nesprávně).

Tento a mnoho dalších hledisek přispělo Jevgenij Brikman ve svém příspěvku o čem Plán je to jen jedna část širších znalostí vložených do Počítačová věda, které jsou nezbytné pro každého programátora.

Nakonec nezapomeňte postupovat samouk a učit se o nejdůležitějších příkazech GNU / Linux pokračovat v rozšiřování znalostí, které později využijí, a že vše zde prezentované o vývoji některých modul, funkce, proměnná, příkaz nebo akce obecně to může být provedeno různými způsoby nebo alternativními metodami, odlišnými od zde popsaných.

Pod a Screencast vytvořený mnou, kde můžete vidět, jak je tento modul prováděn, jak učit předchozí nebo pozdější moduly, abyste viděli potenciál Shell Scripting na střední úrovni (není pokročilý):

Testovací obrazovka LPI-SB8

(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - Část 2


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Další, co se stalo řekl

    Mít, pokud jsem tomu správně porozuměl. Požádáte uživatele, aby zadal své uživatelské jméno ... fajn. A po zadání hesla ... a ukáže se, že heslo je „lpi * sb8“ ... a že je ve skriptu „napevno“.

    Pokud má uživatel přístup ke čtení skriptu ... bingo !! ... už ví, jaké uživatelské jméno a heslo musí zadat !!!

    Nevím, jestli jsem v něčem udělal chybu ... ale pokud ano, je to velmi nebezpečné ...

  2.   Ing.Jose Albert řekl

    Skutečný! Teď jsem dal metodu, každý s vrozenou zvědavostí, která charakterizuje lidskou rasu, musí hledat její dokonalost nebo posílení v bezpečnostních liniích.