A Shell Scripting használatával - 5. rész - lépésről lépésre készítse el a programot

E kör korábbi kiadványaiban az ún «A program létrehozása lépésről lépésre a Shell Scripting használatával» A következő modulok megvalósításáról már volt szó:

Shell Scripting

Most ebben az új kiadványban megtudhatjuk, hogyan lehet megvalósítani:

FELHASZNÁLÓI ENGEDÉLYEZÉSI MODUL JELSZÓVAL

Melyik legyen a program modulja (szakasza) Ez lehetővé teszi annak biztosítását, hogy csak a felhasználó vagy a felhasználók számára korábban meghatározott felhasználók hajthassák végre a program számára kijelölt műveleteket. Lehet, hogy tartalmaz jelszót az említett jogosult felhasználók számára. Ebben az esetben feltárjuk a felhasználónév és jelszó érvényesítésével egyet.

A modul létrehozásához személyesen adom hozzá az alábbi sorokat:

A kód alatt:


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

Mint látható, ez a modul először konfigurálja a terminál képernyőjén a kék háttér a a felhasználó jobb vizuális értékelése, majd kibocsájt hallási üzenetek a beszélni y vizuális a visszhang y Párbeszéd. Ezután egy hurkon keresztül a parancs segítségével -ig ellenőrzi, hogy a felhasználónév -hez kell hasonlítani érvényes felhasználói érték (ek) korábban definiálva, lehetővé téve a felhasználó számára a program helyes bezárását a szó beírásával ELJÁR SZÓRAKOZNI. Ha a felhasználó ellenőrzése sikeres, folytassa ugyanezt az eljárást a jelszóval. A sikeres befejezés befejezéséhez a felhasználó és a Jelszó érvényesítése a-val egyszerű menü beépített Párbeszéd megkérdezi, hogy az X felhasználó folytatja-e a program folyamatát, vagy sem. Ha igen, adjon ki egy egyszerű progresszív sáv a paranccsal végzett várakozás eset.

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

ajánlás:

Menetrend vagy gondolkodás! Mi az első? o Mi a fontosabb?

Kétségtelen, hogy amikor elkezdjük a programozást, akkor az első dolgot meg kell tanulnunk: az algoritmusokat vagy a folyamatábrákat, mint elméleti alapokat a logika és a matematika elsajátításához a logikai-matematikai érvelésünk növelése érdekében, azonban ez az alap elegendő vagy megfelelő a programozás megkezdéséhez. . Értsd meg Tanuljon meg programozni, ez nem elég, hanem szükséges Tanulj meg gondolkodni.

MILYEN NYELV PROGRAMOZÁSÁBAN KELL KEZDNEM, HOGY KÉPESSEM TANULNI A PROGRAMOZÁST?

Ez biztosan kötelező kérdés, amelyet mindannyian felteszünk magunknak, amikor a programozás csodálatos világában kezdünk. De nem ez az első helyes kérdés, amelyet fel kell tennünk magunknak, hanem:

VAN SZÜKSÉGEM EGY ANALITIKAI KAPACITÁSRA A PROBLÉMA ELEMZÉSÉHEZ, AZ ELEMEK KIVONÁSÁHOZ ÉS A VÁLASZ MEGTEKINTÉSÉHEZ?

És minden bizonnyal megtanulni programozni a legelterjedtebb vagy legerősebb nyelveken, számos tagadhatatlan előnye van. Mivel biztosítja számunkra a szükséges alkalmazásokat saját alkalmazások fejlesztéséhez, segít a technológiai eszközök problémáinak felkutatásában, és ajtókat nyit számunkra a munkaerőpiacon, de a programozás csak egy kis része a számítástechnikának.

Míg Programozz vagy írj kódot egy számítógép (egy alkalmazáson, szoftveren vagy rendszeren keresztüli) megtanításából áll egy bizonyos művelet végrehajtására, miután a X lehetőség üzemeltető vagy a X esemény ugyanazon hardveren vagy szoftveren belül, amely támogatja; A számítástechnika (informatika / rendszerek) alapelvei olyan okfejtési és logikai készségeket tanítanak nekünk, amelyek a technológián kívül más területeken is hasznosak. A számítástechnika lényegében megtanítja az információk feldolgozását és képviseletét.

Ezért ezt tartom a legmegfelelőbb formának Tanuljon meg programozni.

Példaként megmagyarázom ezt a másik nevű bejegyzést Ne tanulj kódolni. Tanulj meg gondolkodni » de Jevgenyij Brikman, ahol ez a mérnök összefoglalja a különbséget a programozás és a számítógép-tudósként való gondolkodás közötti különbséggel ezzel az analógiával:

Bármennyire is elterjedt egy technológia, ez nem arra késztet bennünket, hogy megtanuljuk, amikor egy Oktatóközpontban tanulmányozzuk. Példaként felhozhatjuk, hogy az élet egy pontján szinte bárki repült már repülőgéppel, de onnan a pilóta engedély megszerzéséig nagyon hosszú út áll előttünk, ami általában nem része a repülőgépek hivatalos tanulmányainak. személy, de egy adott területen nagyon sajátos tanulmányokat végez.

Részletesebben kifejtve ez azt jelenti, hogy a repülőgépek működésével kapcsolatban bárki által birtokolt ismeretek alapvetően sokunkban vannak középiskolai és egyetemi végzettségből, vagy bármilyen műszaki pályán (mérnök), például fizikában és matematikában, amelyek segítenek megérteni az erők repülés közben, és olyan külső elemek, mint a gravitáció, a légköri nyomás, a sebesség, a súrlódás vagy az emelés. És ahogy a biológia segít megérteni, hogyan viselkedik az ember X magasságban, vagy hogyan hat rá az oxigénhiány és a rendkívüli hideg. Vagy az a történet, amely lehetővé teszi számunkra, hogy megismerjük azt a folyamatot, amely a repülőgépek létrehozásának mikéntjét eredményezte, és milyen szerepet játszanak a szállításban és a kereskedelemben. Mindezek az oktatási központban megszerzett ismeretek, a tudás különböző területeiről általános képet adnak arról, hogy mi is egy repülőgép és hogyan működik. Az általános tantárgyak segítenek megérteni a legkülönbözőbb problémákat, beleértve a repülőgépek repülését is. Valami nagyon különbözik egy speciális tantárgyaktól, amely csak arra tanít, hogy kezelje ezeket a gépeket, egyfajta repülőgépet. Ezért ugyanezen okból a számítástechnika tanulmányozására kell összpontosítanunk, és nem csak a programozásra. Mivel a számítástechnika globálisan globális (rendszerszintű) gondolkodásra tanít minket, a programozás csak egy olyan eszköz, amely lehetővé teszi számunkra, hogy egy ötletet vagy Y problémát lefordítsunk egy korábban kódolt (helyesen vagy helytelenül) X kód segítségével.

Ehhez és sok más nézőponthoz hozzájárult Jevgenyij Brikman arról szóló bejegyzésében program ez csak egy része a szélesebb körű tudásnak beágyazva a Számítástechnika, amelyek elengedhetetlenek minden programozó számára.

Végül ne feledje, hogy autodidakta módon haladjon előre a legfontosabb parancsok megismerésével GNU / Linux folytatni a tudás továbbfejlesztését, amelyet később felhasználni fognak, és hogy minden, amit itt bemutatnak egyesek fejlődéséről modul, függvény, változó, parancs vagy művelet általában különböző módszerekkel vagy alternatív módszerekkel hajtható végre, az itt leírtaktól eltérően.

A alatt Screencast általam készített, ahol láthatja ennek a modulnak a végrehajtását, az előző vagy későbbi modulok tanítását, hogy közepes szinten láthassa a Shell Scripting lehetőségeit (Not advanced):

LPI-SB8 teszt ScreenCast

(LINUX POST INSTALL - BICENNNIAL SCRIPT 8.0.0) - 2. rész


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Egy másik, aki elhaladt dijo

    Van, ha jól értettem. Megkéri a felhasználót, hogy írja be a felhasználónevét ... rendben. És miután megadta a jelszavát ... és kiderül, hogy a jelszó "lpi * sb8" ... és hogy "hardcoded" van a szkriptben.

    Ha a felhasználónak olvasható hozzáférése van a szkripthez ... bingo !! ... már tudja, melyik felhasználónevet és jelszót kell megadnia !!!

    Nem tudom, hogy hibáztam-e valamiben ... de ha igen, az nagyon nem biztonságos ...

  2.   José Albert dijo

    Igaz! Most egy módszert adtam, mindenkinek, akinek ez a veleszületett kíváncsisága jellemzi az emberi fajt, törekednie kell tökéletességére vagy megerősítésére a biztonsági vonalakban.