Изградите свој програм корак по корак користећи Схелл Сцриптинг - 5. део

У претходним публикацијама овог круга тзв «Направите свој програм корак по корак користећи Схелл Сцриптинг» Већ смо обрадили како да применимо следеће модуле:

Схелл Сцриптинг

Сада ћемо у овој новој публикацији видети како применити:

МОДУЛ Овлашћења корисника са лозинком

Који би требао бити модул (одељак) вашег програма то вам омогућава да само корисник или корисници који су претходно дефинисани да га користе могу извршавати операције одређене за ваш програм. Може да укључује и не мора да садржи лозинку за поменуте овлашћене кориснике. У овом случају истражићемо један са провером корисничког имена и лозинке.

Лично додајем следеће редове да бих креирао овај модул:

Испод кода:


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

Као што видите, овај модул прво конфигурише ваш екран терминала на плаву позадину за једну боља визуелна захвалност корисника, а затим емитујте слушне поруке са еспеак y визуелни са одјек y Дијалог. Затим кроз петљу помоћу наредбе до потврђује да је вредност унета за корисничко име бити упоређен са важеће корисничке вредности претходно дефинисано, дајући кориснику могућност да правилно затвори програм укуцавањем речи ИЗАЋИ. Ако је валидација корисника успешна, наставите да спроводите исти поступак са лозинком. Завршити завршетак у случају успешне провере ваљаности корисника и лозинке помоћу а једноставан мени маде ин Дијалог питајући да ли корисник Кс жели да настави да наставља програмски процес или не. Ако је тако, издајте једноставан прогресивна трака чекање завршено са командом случај.

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

Препорука:

Закажите или размислите! Шта је прво? о Шта је важније?

Несумњиво, када започнемо са програмирањем, прво што бисмо требали научити су алгоритми или дијаграми тока као теоријске основе за учење логике и математике како бисмо повећали своје логичко-математичко резоновање, међутим, ова основа је довољна или адекватна за започињање програмирања. . Разумем да Научите да програмирате, није довољно, потребно је Научи да мислиш.

НА КОЈЕМ ПРОГРАМСКОМ ЈЕЗИКУ ТРЕБА ПОЧЕТИ ДА ПОСТИГНЕМ ДА БРЗО УЧИМ ПРОГРАМИРАТИ?

Ово је сигурно обавезно питање које си сви постављамо кад започнемо у дивном свету програмирања. Али то није прво исправно питање које бисмо себи требали поставити, већ:

ДА ЛИ ИМАМ ПОТРЕБНУ АНАЛИТИЧКУ СПОСОБНОСТ ЗА АНАЛИЗУ ПРОБЛЕМА, ИЗВЛАЧЕЊЕ ЕЛЕМЕНТА И ПОГЛЕДАЊЕ ОДГОВОРА?

И свакако учење програмирања на било којем од најчешћих или најмоћнијих језика има многе непобитне предности. Будући да нам пружа потребне алате за развој сопствених апликација, помаже нам да лоцирамо проблеме у технолошким уређајима и отвара нам врата на тржишту рада, али програмирање је само мали део рачунарске науке.

Док Програмирајте или напишите код састоји се од подучавања рачунара (путем апликације, софтвера или система) за извођење одређене операције, након а Опција Кс изводи оператер или а Догађај Кс од стране истог хардвера или софтвера који га подржава; Принципи рачунарске науке (информатика / системи) уче нас резоновању и логичким вештинама корисним у другим областима осим технологије. Рачунарска наука у суштини учи како се обрађују и представљају информације.

Стога сматрам да је ово најприкладнији начин за Научите да програмирате.

Објашњавам, узимајући за пример, овај други пост који се зове Не научите да кодирате. Научите да размишљате » de Јевгениј Брикман, где овај инжењер сумира разлику између знања програмирања и знања размишљања попут информатичара са овом аналогијом:

Колико год технологија била свеприсутна, ово нас не тера да је учимо када је проучавамо у наставном центру. Као пример бисмо могли узети да је скоро било ко у неком тренутку живота икада летео авионом, али одатле до добијања пилотске дозволе мора да се пређе јако дуг пут, који углавном није део формалне студије особе, али врло конкретне студије о одређеној области.

Објашњено детаљније, то значи да знање које свако може имати о томе како авиони раде у основи многи од нас имају из средњег и универзитетског образовања или било које техничке каријере (инжењеринг), као што су физика и математика која нам помажу разумети како су силе присутне у лету и спољни елементи попут гравитације, атмосферског притиска, брзине, трења или дизања. И као што нам биологија помаже да схватимо како се људско биће понаша на висини Кс или како на њега утиче недостатак кисеоника и екстремна хладноћа. Или прича која нам омогућава да знамо процес који је довео до тога како су авиони створени и коју улогу играју у транспорту и трговини. Сва ова знања заједно стечена у наставном центру из различитих области знања пружају нам општу представу о томе шта је авион и како он функционише. Општи предмети помажу нам да разумемо широк спектар проблема, укључујући како авиони лете. Нешто врло различито од специјализоване теме која вас само учи да управљате једном од тих машина, врстом авиона. Због тога би се из истог разлога требали усредсредити на проучавање рачунарских наука, а не само на програмирање. Иако нас рачунарске науке глобално уче да размишљамо у општем (системском) смислу, програмирање је само средство које нам омогућава да преведемо идеју или проблем И помоћу кода Кс, претходно анализираног (тачног или нетачног).

Овом и многим другим гледиштима допринео је Јевгениј Брикман у свом посту о чему Распоред то је само један део ширег знања уграђеног у Цомпутер сциенце, који су неопходни за сваког програмера.

Коначно, запамтите да напредујете на самоук начин учећи о најважнијим наредбама ГНУ / Линук да наставе да унапређују знање које ће касније користити и да је све овде представљено о развоју неких модул, функција, променљива, команда или радња генерално се може изводити на различите начине или алтернативне методе, различите од овде описаних.

Испод а Снимак екрана направио ја, где можете видети како се овај модул изводи, претходни или новији модули које треба подучавати, тако да можете видети потенцијал Схелл скриптирања на средњем нивоу (није напредни):

ЛПИ-СБ8 Тест СцреенЦаст

(ЛИНУКС ПОСТ ИНСТАЛЛАТИОН - СЦРИПТ БИЦЕНТЕНАРИО 8.0.0) - 2. део


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Још један који је пролазио дијо

    Да имам ако сам добро разумео. Тражите од корисника да унесе своје корисничко име ... у реду. И након што унесете лозинку ... и испостави се да је лозинка "лпи * сб8" ... и да је у скрипту "тврдо кодирана".

    Ако је корисник имао приступ за читање скрипте ... бинго !! ... већ зна које корисничко име и лозинку мора да унесе !!!

    Не знам да ли сам погрешио у нечему ... али ако је тако, то је врло небезбедно ...

  2.   Инг. Јосе Алберт дијо

    Истина! Дао сам метод сада, сваки са оном урођеном радозналошћу која карактерише људску расу, своје савршенство или јачање мора тражити у безбедносним линијама.