Изградете вашата програма стъпка по стъпка, като използвате Shell Scripting - Част 5

В предишни публикации от този кръг се нарича «Създайте вашата програма стъпка по стъпка, използвайки Shell Scripting» Вече разгледахме как да внедрим следните модули:

Скрипт на Shell

Сега в тази нова публикация ще видим как да приложим:

МОДУЛ ЗА РАЗРЕШЕНИЕ НА ПОТРЕБИТЕЛ С ПАРОЛА

Кой трябва да бъде модулът (раздела) на вашата програма което ви позволява да гарантирате, че само потребителят или потребителите, предварително дефинирани да го използват, могат да изпълняват операциите, определени за вашата програма. Той може или не може да включва парола за споменатите оторизирани потребители. В този случай ще проучим такъв с валидиране на потребителско име и парола.

Аз лично добавям следните редове, за да създам този модул:

Под кода:


###############################################################################
# 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 Диалог. След това през цикъл с помощта на командата до потвърждава, че стойността, въведена за потребителско име да се сравнява с валидната (ите) стойност (и) предварително дефиниран, даващ възможност на потребителя да затвори програмата правилно, като напише думата ИЗЛЕЗ. Ако проверката на потребителя е успешна, продължете да извършвате същата процедура с паролата. За да завършите, завършвайки в случай на успешна проверка на потребителя и паролата с a просто меню направени в Диалог пита дали Потребител X желае да продължи да продължава програмния процес или не. Ако е така, издайте прост прогресивна лента изчакване направено с командата случай.

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

препоръка:

Планирайте или помислете! Какво е първо? o Какво е по-важно?

Без съмнение, когато започнем програмирането, първото нещо, което трябва да научим, е алгоритми или диаграми на потока като теоретични основи за изучаване на логика и математика за увеличаване на нашите логико-математически разсъждения, но тази база е достатъчна или адекватна за стартиране на програмирането. Разбери това Научете се да програмирате, не е достатъчно, необходимо е Научете се да мислите.

НА КОЙ ЕЗИК ЗА ПРОГРАМИРАНЕ ТРЯБВА ДА ЗАПОЧНА ДА ПОСТИГНА БЪРЗО УЧЕНЕ ДО ПРОГРАМА?

Това със сигурност е задължителен въпрос, който всички си задаваме, когато започваме в прекрасния свят на програмирането. Но не е първият правилен въпрос, който трябва да си зададем, а:

ИМАМ ЛИ АНАЛИТИЧНИЯ КАПАЦИТЕТ, КОЙТО ТРЯБВА ДА АНАЛИЗИРА ПРОБЛЕМА, ИЗВАДА НЕГОВИТЕ ЕЛЕМЕНТИ И ВИЖТЕ ОТГОВОР?

И със сигурност научаването на програмиране на някой от най-често срещаните или мощни езици има много неоспорими предимства. Тъй като ни предоставя необходимите инструменти за разработване на собствени приложения, това ни помага да откриваме проблеми в технологичните устройства и ни отваря врати на пазара на труда, но програмирането е само малка част от компютърните науки.

Докато Програмирайте или пишете код се състои в обучение на компютър (чрез приложение, софтуер или система) за извършване на определена операция след a Вариант X извършва се от оператор или a Събитие X от или в рамките на същия хардуер или софтуер, който го поддържа; Принципите на компютърните науки (информатика / системи) те ни учат на разсъждения и логически умения, които са полезни в области, различни от технологиите. По същество компютърните науки учат как да се обработва и представя информацията.

Затова считам, че това е най-подходящият начин за Научете се да програмирате.

Обяснявам, като взех за пример, тази друга публикация, наречена Не се научете да кодирате. Научете се да мислите » de Евгений Брикман, където този Инженер ни разкрива накратко разликата между знанието за програмиране и умението да мислим като компютърен учен с тази аналогия:

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

Обяснено по-подробно, това означава, че знанията, които всеки може да има за това как работят самолетите, всъщност много от нас имат от средно и университетско образование или от каквато и да е техническа кариера (инженерство), като физика и математика, които ни помагат да разберем как силите присъстващи в полет и външни елементи като гравитация, атмосферно налягане, скорост, триене или повдигане. И точно както биологията ни помага да разберем как се държи човек на височина X или как се влияе от липсата на кислород и екстремен студ. Или историята, която ни позволява да познаем процеса, породил начина на създаване на самолетите и каква роля играят в транспорта и търговията. Всички тези знания, придобити заедно в учебен център, от различни области на знанието, ни дават обща представа за това какво представлява самолетът и как работи. Общите теми ни помагат да разберем голямо разнообразие от проблеми, включително как самолетите летят. Нещо много различно от специализиран предмет, който само ви учи да управлявате една от тези машини, тип самолет. Следователно, по същата причина трябва да се съсредоточим върху изучаването на компютърни науки, а не само програмиране. Тъй като докато компютърните науки ни учат в световен мащаб да мислим в общ (системен) смисъл, програмирането е само инструмент, който ни позволява да преведем идея или проблем Y чрез код X, предварително анализиран (правилно или неправилно).

Тази и много други гледни точки, допринесени от Евгений Брикман в публикацията си за какво програма това е само част от по-широко знание, заложено в Компютърни науки, които са от съществено значение за всеки програмист.

И накрая, не забравяйте да напредвате по самоук начин с изучаването на най-важните команди на GNU / Linux да продължат да усъвършенстват знанията, които ще използват по-късно и че всичко представено тук за развитието на някои модул, функция, променлива, команда или действие като цяло може да се извърши по различни начини или алтернативни методи, различни от описаните тук.

Под a Скрийнкаст, направен от мен, където можете да видите как се изпълнява този модул, предходни или по-нови модули, които да бъдат преподавани, така че да можете да видите потенциала на Shell Scripting на средно ниво (Не е напреднал):

LPI-SB8 Тестов екран

(LINUX POST INSTALL - СЦЕНАРТ BICENTENARIO 8.0.0) - Част 2


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

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Друг, който минаваше каза той

    Да има, ако съм го разбрал правилно. Искате от потребителя да въведе потребителското си име ... глоба. И след като въведете паролата си ... и се оказва, че паролата е "lpi * sb8" ... и че е "твърдо кодирана" в скрипта.

    Ако потребителят има достъп за четене до скрипта ... бинго !! ... той вече знае кое потребителско име и парола трябва да въведе !!!

    Не знам дали съм сгрешил за нещо ... но ако е така, това е много опасно ...

  2.   Инж. Хосе Алберт каза той

    Вярно! Дадох метод сега, всеки с това вродено любопитство, което характеризира човешката раса, трябва да търси своето съвършенство или укрепване в защитните линии.