Kurkite savo programą žingsnis po žingsnio naudodami „Shell Scripting“ - 5 dalį

Ankstesnėse šio turo publikacijose «Kurkite savo programą žingsnis po žingsnio naudodami„ Shell Scripting “» Mes jau aptarėme, kaip įdiegti šiuos modulius:

"Shell scenarijus

Dabar šiame naujame leidinyje pamatysime, kaip įgyvendinti:

VARTOTOJO PATVIRTINIMO MODULIS SU Slaptažodžiu

Kuris turėtų būti jūsų programos modulis (skyrius) tai leidžia jums užtikrinti, kad tik vartotojas ar vartotojai, anksčiau apibrėžti jį naudoti, gali atlikti jūsų programai skirtas operacijas. Jame gali būti neįtrauktas slaptažodis minėtiems įgaliotiems vartotojams. Tokiu atveju mes ištirsime vieną su vartotojo vardu ir slaptažodžiu patvirtinimu.

Aš asmeniškai pridedu šias eilutes, kad sukurtumėte šį modulį:

Po kodu:


###############################################################################
# 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
###############################################################################

Kaip matote, šis modulis pirmiausia sukonfigūruoja jūsų terminalo ekranas į mėlyną fonągeresnis vartotojo vizualus įvertinimas, tada skleiskite klausos pranešimai su kalbėti y vaizdai su praleisti y Dialogas. Tada per kilpą naudodami komandą iki patvirtina, kad įvesta vertė vartotojo vardas būti lyginamas su galiojanti vartotojo vertė (-ės) anksčiau apibrėžta, suteikiant vartotojui galimybę teisingai uždaryti programą įvedant žodį IŠEITI. Jei vartotojo patvirtinimas yra sėkmingas, atlikite tą pačią procedūrą su slaptažodžiu. Jei norite sėkmingai užbaigti vartotojo patvirtinimą ir slaptažodį, naudokite a paprastas meniu pagaminta Dialogas klausia, ar vartotojas X nori tęsti programos procesą, ar ne. Jei taip, išduokite paprastą progresyvi juosta laukimas atliktas su komanda atvejis.

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

Rekomendacija:

Suplanuokite arba pagalvokite! Kas yra pirmas? o Kas yra svarbiau?

Be jokios abejonės, kai pradedame programuoti, pirmiausia turėtume išmokti algoritmų arba srautų diagramų, kaip teorinių pagrindų mokytis logikos ir matematikos, kad padidintume savo loginį-matematinį samprotavimą, tačiau ši bazė yra pakankama arba tinkama pradėti programuoti . Suprasti tai Išmokite programuoti, to nepakanka, būtina Išmokite mąstyti.

KURIOJE PROGRAMAVIMO KALBĖJE TURĖTU PRADĖTI PASIEKTI Greitai išmokti programuoti?

Tai, be abejo, yra privalomas klausimas, kurį visi sau užduodame pradėdami nuostabiame programavimo pasaulyje. Tačiau ne pirmas teisingas klausimas, kurį turėtume sau užduoti, bet:

AR TURIU ANALIZĖS GALIMYBĖS ANALIZUOTI PROBLEMĄ, IŠTRAUKTI JOS ELEMENTUS IR PERŽIŪRĖTI ATSAKYMĄ?

Be abejo, išmokimas programuoti bet kuria iš labiausiai paplitusių ar galingiausių kalbų turi daug neabejotinų pranašumų. Kadangi tai suteikia mums reikalingų įrankių, kad galėtume kurti savo programas, tai padeda mums rasti technologinių prietaisų problemas ir atveria duris mums darbo rinkoje, tačiau programavimas yra tik maža kompiuterių mokslo dalis.

o Programuokite arba rašykite kodą susideda iš kompiuterio (per taikomąją programą, programinę įrangą ar sistemą) mokymo atlikti tam tikrą operaciją po a X variantas atlieka operatorius arba a X įvykis tos pačios techninės ar programinės įrangos, kuri ją palaiko, viduje arba viduje; Kompiuterijos principai (informatika / sistemos) jie moko samprotavimo ir logikos įgūdžių, kurie yra naudingi ne tik technologijose, bet ir kitose srityse. Informatika iš esmės moko apdoroti ir pateikti informaciją.

Todėl manau, kad tai yra tinkamiausias būdas Išmokite programuoti.

Paaiškinu, kaip pavyzdį, šį kitą pavadintą įrašą Nepamok koduoti. Išmokite mąstyti » de Jevgenijus Brikmanas, kur šis inžinierius apibendrina skirtumą tarp žinojimo, kaip programuoti, ir žinojimo, kaip mąstyti kaip kompiuterių mokslininkas, turėdamas šią analogiją:

Kad ir kokia technologija yra visur, tai nepriverčia mūsų to mokytis, kai studijuojame mokymo centre. Kaip pavyzdį galime paminėti, kad beveik kiekvienas žmogus tam tikru gyvenimo momentu kada nors skrido lėktuvu, tačiau nuo to iki piloto pažymėjimo įgijimo reikia nueiti labai ilgą kelią, kuris paprastai nėra oficialių orlaivių studijų dalis. asmeniui, tačiau labai konkretūs tyrimai konkrečioje srityje.

Išsamiau paaiškinta, tai reiškia, kad žinios, kurias kiekvienas gali turėti apie tai, kaip veikia lėktuvai, iš esmės yra daugelio iš mūsų, įgijusių vidurinį ir universitetinį išsilavinimą ar bet kokią techninę karjerą (inžineriją), pavyzdžiui, fiziką ir matematiką, kurios padeda suprasti, kaip jėgos veikia ir išorinių elementų, tokių kaip sunkis, atmosferos slėgis, greitis, trintis ar kėlimas. Kaip ir biologija padeda mums suprasti, kaip žmogus elgiasi X aukštyje arba kaip jį veikia deguonies trūkumas ir didelis šaltis. Arba istorija, leidžianti mums sužinoti procesą, kuris paskatino sukurti lėktuvus ir kokį vaidmenį jie atlieka transporto ir prekybos srityje. Visos šios žinios, įgytos mokymo centre, iš įvairių žinių sričių suteikia mums bendrą idėją, kas yra lėktuvas ir kaip jis veikia. Bendrieji dalykai padeda suprasti įvairiausias problemas, įskaitant tai, kaip skraido lėktuvai. Kažkas labai skiriasi nuo specializuoto dalyko, mokančio valdyti tik vieną iš tų mašinų, lėktuvo tipą. Todėl dėl tos pačios priežasties turėtume sutelkti dėmesį ne tik į programavimą, bet į kompiuterių mokslų studijas. Kadangi kompiuterių mokslas mus moko globaliai mąstyti bendrąja (sistemine) prasme, programavimas yra tik įrankis, leidžiantis mums išversti idėją ar problemą per kodą X, anksčiau analizuotą (teisingai ar neteisingai).

Prie šio ir daugelio kitų požiūrių prisidėjo Jevgenijus Brikmanas savo įraše apie ką Tvarkaraštis tai tik dalis platesnių žinių, įdėtų į Kompiuterių mokslas, kurios yra būtinos kiekvienam programuotojui.

Galiausiai nepamirškite pažinti savamoksliu būdu, išmokdami svarbiausių komandų GNU / Linux toliau tobulinti žinias, kurias jie panaudos vėliau ir kad viskas, kas čia pateikta, apie kai kurių plėtrą modulis, funkcija, kintamasis, komanda ar veiksmas paprastai tai gali būti atliekama įvairiais būdais arba alternatyviais metodais, kitokiais nei aprašyti čia.

Žemiau a Mano sukurtas ekrano perdavimas, kur galite pamatyti, kaip vykdomas šis modulis, mokomi ankstesni ar vėlesni moduliai, kad pamatytumėte „Shell Scripting“ potencialą vidutiniu lygiu („Not advanced“):

„LPI-SB8 Test ScreenCast“

(„LINUX POST INSTALL“ - „SCRIPT BICENTENARIO 8.0.0“) - 2 dalis


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Dar vienas praeinantis sakė

    Turėk, jei teisingai supratau. Jūs paprašote vartotojo įvesti savo vartotojo vardą ... gerai. Įvedus slaptažodį ... paaiškėja, kad slaptažodis yra „lpi * sb8“ ... ir kad jis scenarijuje yra „užkoduotas“.

    Jei vartotojas turi skaitymo prieigą prie scenarijaus ... bingo !! ... jie jau žino, kurį vartotojo vardą ir slaptažodį jie turi įvesti !!!

    Nežinau, ar dėl kažko suklydau ... bet jei taip, tai labai neaišku ...

  2.   Ing. Jose Albertas sakė

    Tiesa! Aš daviau metodą dabar, visi, turintys tą įgimtą smalsumą, apibūdinantį žmonių rasę, turi siekti jo tobulumo ar sustiprinimo saugumo linijose.