Erstellen Sie Ihr Programm Schritt für Schritt mit Shell Scripting - Teil 5

In früheren Veröffentlichungen dieser Runde genannt «Erstellen Sie Ihr Programm Schritt für Schritt mit Shell Scripting» Wir haben bereits erläutert, wie die folgenden Module implementiert werden:

Shell Scripting

In dieser neuen Veröffentlichung erfahren Sie, wie Sie Folgendes implementieren:

BENUTZERAUTORISIERUNGSMODUL MIT PASSWORT

Welches sollte das Modul (Abschnitt) Ihres Programms sein Auf diese Weise können Sie sicherstellen, dass nur der oder die zuvor definierten Benutzer die für Ihr Programm festgelegten Vorgänge ausführen können. Es kann ein Passwort für die autorisierten Benutzer enthalten oder nicht. In diesem Fall untersuchen wir eine mit Validierung von Benutzername und Passwort.

Ich persönlich füge die folgenden Zeilen hinzu, um dieses Modul zu erstellen:

Unter dem Code:


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

Wie Sie sehen können, konfiguriert dieses Modul zuerst Ihre Terminalbildschirm auf blauem Hintergrund ein bessere visuelle Wahrnehmung des Benutzers, dann sendet akustische Nachrichten mit sprechen y Visuals mit Echo y Dialog. Dann durch eine Schleife mit dem Befehl bis Überprüft, ob der für Benutzername verglichen werden mit die gültigen Benutzerwerte zuvor definiert, so dass der Benutzer die Möglichkeit hat, das Programm durch Eingabe des Wortes korrekt zu schließen SALIR. Wenn die Benutzerüberprüfung erfolgreich ist, führen Sie das gleiche Verfahren mit dem Kennwort aus. Um das Ende im Erfolgsfall zu beenden, wird die Validierung des Benutzers und des Passworts mit a einfaches Menü gemacht in Dialog Fragen, ob Benutzer X den Programmprozess fortsetzen möchte oder nicht. Wenn ja, geben Sie eine einfache progressive Bar Warten mit dem Befehl erledigt Häuser.

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

Empfehlung:

Planen oder denken! Was ist zuerst? o Was ist wichtiger?

Wenn wir mit dem Programmieren beginnen, sollten wir zweifellos zuerst Algorithmen oder Flussdiagramme als theoretische Grundlagen zum Erlernen von Logik und Mathematik lernen, um unser logisch-mathematisches Denken zu verbessern. Diese Basis ist jedoch ausreichend oder ausreichend, um mit dem Programmieren zu beginnen. . Verstehe das Programmieren lernen, es ist nicht genug, es ist notwendig Lerne zu denken.

IN WELCHER PROGRAMMIERUNGSSPRACHE SOLLTE ICH BEGINNEN, SCHNELL ZU LERNEN, PROGRAMMIEREN?

Dies ist sicherlich eine obligatorische Frage, die wir uns alle stellen, wenn wir in die wunderbare Welt des Programmierens einsteigen. Aber es ist nicht die erste richtige Frage, die wir uns stellen sollten, sondern:

HABE ICH DIE ANALYTISCHE KAPAZITÄT, DIE ERFORDERLICH IST, UM EIN PROBLEM ZU ANALYSIEREN, SEINE ELEMENTE ZU EXTRAKTIEREN UND EINE ANTWORT ANZUZEIGEN?

Und sicherlich hat das Erlernen des Programmierens in einer der gängigsten oder leistungsfähigsten Sprachen viele unbestreitbare Vorteile. Da es uns die notwendigen Werkzeuge zur Entwicklung unserer eigenen Anwendungen zur Verfügung stellt, hilft es uns, Probleme bei technologischen Geräten zu lokalisieren, und es öffnet uns Türen auf dem Arbeitsmarkt, aber Programmierung ist nur ein kleiner Teil der Informatik.

Während Code programmieren oder schreiben besteht darin, einem Computer (über eine Anwendung, Software oder ein System) beizubringen, eine bestimmte Operation auszuführen, nachdem a Option X. durchgeführt von einem Bediener oder a Ereignis X von oder innerhalb derselben Hardware oder Software, die dies unterstützt; Die Prinzipien der Informatik (Informatik / Systeme) Sie vermitteln uns Argumentations- und Logikfähigkeiten, die in anderen Bereichen als der Technologie nützlich sind. Die Informatik lehrt im Wesentlichen, wie Informationen verarbeitet und dargestellt werden.

Daher halte ich dies für den am besten geeigneten Weg Programmieren lernen.

Ich werde am Beispiel diesen anderen Beitrag erklären Lerne nicht zu programmieren. Lernen zu denken » de Jewgenij Brikman, wo dieser Ingenieur uns kurz den Unterschied zwischen dem Programmieren und dem Denken wie ein Informatiker mit dieser Analogie aufzeigt:

So allgegenwärtig eine Technologie auch ist, wir lernen sie nicht, wenn wir sie in einem Lehrzentrum studieren. Als Beispiel könnten wir nehmen, dass fast jeder irgendwann im Leben jemals in einem Flugzeug geflogen ist, aber von dort bis zur Erlangung eines Pilotenscheines ist es ein sehr langer Weg, der im Allgemeinen nicht Teil des formale Studien einer Person, aber sehr spezielle Studien auf einem bestimmten Gebiet.

Ausführlicher erklärt bedeutet dies, dass das Wissen, das jeder über die Funktionsweise von Flugzeugen haben kann, im Grunde genommen viele von uns aus der Sekundar- und Universitätsausbildung oder aus einer technischen Karriere (Ingenieurwesen) wie Physik und Mathematik haben, die uns dabei helfen Verstehen Sie, wie die im Flug vorhandenen Kräfte und äußere Elemente wie Schwerkraft, atmosphärischer Druck, Geschwindigkeit, Reibung oder Auftrieb sind. Und genau wie die Biologie uns hilft zu verstehen, wie sich ein Mensch in X-Höhe verhält oder wie er von Sauerstoffmangel und extremer Kälte betroffen ist. Oder die Geschichte, die es uns ermöglicht, den Prozess zu kennen, der dazu geführt hat, wie Flugzeuge hergestellt wurden und welche Rolle sie für Transport und Handel spielen. All dieses Wissen, das zusammen in einem Lehrzentrum aus verschiedenen Wissensgebieten erworben wurde, gibt uns eine allgemeine Vorstellung davon, was ein Flugzeug ist und wie es funktioniert. Allgemeine Themen helfen uns, eine Vielzahl von Problemen zu verstehen, einschließlich der Art und Weise, wie Flugzeuge fliegen. Etwas ganz anderes als ein Fach, in dem Sie nur lernen, eine dieser Maschinen zu bedienen, einen Flugzeugtyp. Aus dem gleichen Grund sollten wir uns daher auf das Studium der Informatik konzentrieren und nicht nur auf das Programmieren. Während uns die Informatik global lehrt, allgemein (systemisch) zu denken, ist die Programmierung nur ein Werkzeug, mit dem wir eine Idee oder ein Problem Y durch einen zuvor analysierten Code X (richtig oder falsch) übersetzen können.

Diese und viele andere Gesichtspunkte haben dazu beigetragen Jewgenij Brikman in seinem Beitrag über was Zeitplan Es ist nur ein Teil eines breiteren Wissens, das in die Informatik, die für jeden Programmierer unverzichtbar sind.

Denken Sie zum Schluss daran, auf autodidaktische Weise voranzukommen und die wichtigsten Befehle von zu lernen GNU / Linux um das Wissen weiterzuentwickeln, das sie später nutzen werden, und dass hier alles über die Entwicklung einiger vorgestellt wird Modul, Funktion, Variable, Befehl oder Aktion Im Allgemeinen kann es auf verschiedene Arten oder alternative Methoden durchgeführt werden, die sich von den hier beschriebenen unterscheiden.

Eine Fortsetzung un Screencast von mir gemachtHier können Sie sehen, wie dieses Modul ausgeführt wird. Vorherige oder spätere Module müssen unterrichtet werden, damit Sie das Potenzial von Shell Scripting auf mittlerer Ebene sehen können (nicht fortgeschritten):

LPI-SB8 Test ScreenCast

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Teil 2


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   Ein anderer, der passiert ist sagte

    Zu haben, wenn ich es richtig verstanden habe. Sie bitten den Benutzer, seinen Benutzernamen einzugeben ... in Ordnung. Und nachdem Sie Ihr Passwort eingegeben haben ... und es stellt sich heraus, dass das Passwort "lpi * sb8" ist ... und dass es im Skript "fest codiert" ist.

    Wenn der Benutzer Lesezugriff auf das Skript hat… Bingo !!… weiß er bereits, welchen Benutzernamen und welches Passwort er eingeben muss !!!

    Ich weiß nicht, ob ich bei etwas einen Fehler gemacht habe ... aber wenn ja, ist das sehr unsicher ...

  2.   José Albert sagte

    Wahr! Ich habe jetzt eine Methode angegeben, jeder mit dieser angeborenen Neugier, die die Menschheit charakterisiert, muss ihre Perfektion oder Stärkung in den Sicherheitslinien suchen.