Veidojiet programmu soli pa solim, izmantojot Shell Scripting - 5. daļa

Iepriekšējās šīs kārtas publikācijās aicināja «Pakāpeniski izveidojiet programmu, izmantojot Shell Scripting» Mēs jau esam aprakstījuši, kā ieviest šādus moduļus:

Shell skripti

Šajā jaunajā publikācijā mēs redzēsim, kā ieviest:

LIETOTĀJA ATĻAUJAS MODULIS AR PAROLI

Kuram jābūt jūsu programmas modulim (sadaļai) kas ļauj jums pārliecināties, ka tikai lietotājs vai lietotāji, kas iepriekš definēti tā lietošanai, var izpildīt jūsu programmai paredzētās darbības. Tajā var būt iekļauta parole minētajiem autorizētajiem lietotājiem. Šajā gadījumā mēs izpētīsim vienu ar lietotājvārda un paroles validāciju.

Es personīgi pievienoju šādas rindas, lai izveidotu šo moduli:

Zem koda:


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

Kā redzat, šis modulis vispirms konfigurē jūsu termināla ekrāns uz zilu fonu par a labāks lietotāja vizuālais novērtējums, tad izstaro dzirdes ziņojumi ar izteikties y vizuālie materiāli ar palaist garām y Dialogs. Tad caur cilpu, izmantojot komandu līdz apstiprina, ka vērtība, kas ievadīta lietotājvārds jāsalīdzina ar derīga (-as) lietotāja vērtība (-as) iepriekš definēts, dodot lietotājam iespēju pareizi aizvērt programmu, ierakstot vārdu EJ ĀRĀ. Ja lietotāja validācija ir veiksmīga, turpiniet to pašu procedūru ar paroli. Lai veiksmīgi pabeigtu beigas, lietotāja un paroles validācija ar a vienkārša izvēlne izgatavots Dialogs vaicājot, vai lietotājs X vēlas turpināt programmas procesu vai nē. Ja tā, izdodiet vienkāršu progresīvā josla gaidīšana izdarīta ar komandu lieta.

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

Ieteikums:

Ieplāno vai padomā! Kas ir pirmais? o Kas ir svarīgāks?

Neapšaubāmi, kad mēs sākam programmēt, pirmā lieta, kas mums jāiemācās, ir algoritmi vai plūsmas diagrammas kā teorētisks pamats, lai apgūtu loģiku un matemātiku, lai palielinātu mūsu loģiski matemātisko pamatojumu, tomēr tas ir pietiekams vai adekvāts pamats, lai sāktu programmēšanu. Saproti to Iemācīties programmēt, nepietiek, tas ir nepieciešams Iemācies domāt.

KURĀ PROGRAMMĒŠANAS VALODĀ BŪTU SĀKT SASNIEGT ĀTRI MĀCĪTIES PROGRAMMĒT?

Tas, protams, ir obligāts jautājums, ko mēs visi sev uzdodam, uzsākot brīnišķīgo programmēšanas pasauli. Bet tas nav pirmais pareizais jautājums, kas mums jāuzdod sev, bet:

VAI VAJADZĪGA ANALĪZES SPĒJA, lai ANALĪZĒTU PROBLĒMU, IEGŪTU SAVUS ELEMENTUS UN ATKLĀTU ATBILDI?

Un, protams, iemācoties programmēt jebkurā no izplatītākajām vai spēcīgākajām valodām, ir daudz nenoliedzamu priekšrocību. Tā kā tas mums nodrošina nepieciešamos rīkus mūsu pašu lietojumprogrammu izstrādei, tas palīdz mums atrast problēmas tehnoloģiskajās ierīcēs un paver mums durvis darba tirgū, taču programmēšana ir tikai neliela daļa no datorzinātnēm.

Kamēr Programmējiet vai ierakstiet kodu sastāv no datora mācīšanas (izmantojot lietojumprogrammu, programmatūru vai sistēmu) veikt noteiktu darbību pēc tam, kad: a X variants veic operators vai a X notikums ar to pašu aparatūru vai programmatūru, kas to atbalsta; Datorzinātnes principi (informātika / sistēmas) viņi māca mums spriešanas un loģikas iemaņas, kas noder citās jomās, nevis tehnoloģijā. Datorzinātnes būtībā māca, kā apstrādāt un attēlot informāciju.

Tāpēc es uzskatu, ka tas ir vispiemērotākais veids Iemācieties programmēt.

Es paskaidroju, ņemot par piemēru, šo citu ierakstu, ko sauca Nemācieties kodēt. Iemācies domāt » de Jevgeņijs Brikmans, kur šis inženieris apkopo atšķirību starp zināšanām, kā programmēt, un zināšanām, kā domāt kā datorzinātniekiem, izmantojot šo līdzību:

Lai arī kāda tehnoloģija ir visuresoša, tas neliek mums to mācīties, kad to mācāmies Mācību centrā. Kā piemēru mēs varētu ņemt to, ka gandrīz ikviens kādā dzīves posmā kādreiz ir lidojis ar lidmašīnu, taču no turienes līdz pilota licences iegūšanai ir jānoiet ļoti tāls ceļš, kas parasti nav daļa no oficiālajiem persona, bet ļoti īpaši pētījumi par konkrētu jomu.

Sīkāk izskaidrojot, tas nozīmē, ka zināšanas, kas ikvienam var būt par lidmašīnu darbību, būtībā daudziem no mums ir no vidējās un universitātes izglītības vai jebkuras tehniskās karjeras (inženierzinātņu), piemēram, fizikas un matemātikas, kas palīdz mums saprast, kā spēki ārējie elementi, piemēram, gravitācija, atmosfēras spiediens, ātrums, berze vai pacēlums. Tāpat kā bioloģija palīdz mums saprast, kā cilvēks izturas X augstumā vai kā to ietekmē skābekļa trūkums un spēcīgs aukstums. Vai arī stāsts, kas ļauj mums uzzināt procesu, kas radīja to, kā tika izveidotas lidmašīnas un kāda ir to loma transportā un tirdzniecībā. Visas šīs zināšanas, kas kopā iegūtas mācību centrā, no dažādām zināšanu jomām, sniedz mums vispārēju priekšstatu par to, kas ir lidmašīna un kā tā darbojas. Vispārīgi priekšmeti palīdz mums saprast dažādas problēmas, tostarp to, kā lido lidmašīnas. Kaut kas ļoti atšķirīgs no specializēta priekšmeta, kas tikai iemāca vadīt vienu no šīm mašīnām, lidmašīnas tipu. Tāpēc tā paša iemesla dēļ mums vajadzētu koncentrēties uz datorzinātņu studijām, nevis tikai uz programmēšanu. Tā kā datorzinātne mūs māca globāli domāt vispārīgā (sistēmiskā) nozīmē, programmēšana ir tikai rīks, kas ļauj mums ideju vai problēmu Y tulkot caur kodu X, kas iepriekš ir analizēts (pareizi vai nepareizi).

Šo un daudzus citus viedokļus veicina Jevgeņijs Brikmans savā ierakstā par ko Grafiks tā ir tikai daļa no plašākām zināšanām, kas iestrādātas Datorzinātne, kas ir būtiski katram programmētājam.

Visbeidzot, atcerieties, ka jāmācās pašmācītā veidā, apgūstot svarīgākās komandas GNU / Linux turpināt attīstīt zināšanas, kuras viņi izmantos vēlāk, un ka viss šeit sniegtais par dažu attīstību modulis, funkcija, mainīgais, komanda vai darbība to parasti var veikt dažādos veidos vai alternatīvās metodēs, atšķirībā no šeit aprakstītajām.

Zem a Manis izveidota ekrāna pārraide, kur jūs varat redzēt, kā tiek izpildīts šis modulis, iepriekšējie vai jaunākie moduļi, kas jāmāca, lai jūs varētu redzēt čaulas skriptu iespējas vidējā līmenī (nav uzlabotas):

LPI-SB8 testa ekrāna apraide

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - 2. daļa


2 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Vēl viens, kas notika teica

    Ir, ja esmu to pareizi sapratis. Jūs lūdzat lietotājam ievadīt savu lietotājvārdu ... labi. Un pēc tam, kad esat ievadījis paroli ... un izrādās, ka parole ir "lpi * sb8" ... un ka tā ir "cietā kodēta" skriptā.

    Ja lietotājam ir lasīšanas piekļuve skriptam ... bingo !! ... viņi jau zina, kurš lietotājvārds un parole ir jāievada !!!

    Es nezinu, vai esmu kaut ko kļūdījies ... bet, ja tā, tas ir ļoti neskaidri ...

  2.   Ing. Hosē Alberts teica

    Patiesi! Es devu metodi tagad, visiem, kam ir tāda iedzimta zinātkāre, kas raksturo cilvēku rasi, ir jāmeklē tās pilnība vai stiprināšana drošības līnijās.