Δημιουργήστε το πρόγραμμά σας βήμα προς βήμα χρησιμοποιώντας το Shell Scripting - Μέρος 5

Σε προηγούμενες εκδόσεις αυτού του γύρου κάλεσε «Δημιουργήστε το πρόγραμμά σας βήμα προς βήμα χρησιμοποιώντας το Shell Scripting» Έχουμε ήδη καλύψει τον τρόπο εφαρμογής των ακόλουθων ενοτήτων:

Shell Scripting

Τώρα σε αυτήν τη νέα έκδοση θα δούμε πώς να εφαρμόσουμε:

ΕΝΟΤΗΤΑ ΑΔΕΙΑΣ ΧΡΗΣΤΗ ΜΕ Κωδικό πρόσβασης

Ποια θα πρέπει να είναι η ενότητα (ενότητα) του προγράμματός σας που σας επιτρέπει να διασφαλίσετε ότι μόνο ο χρήστης ή οι χρήστες που ορίστηκαν προηγουμένως για χρήση μπορούν να εκτελέσουν τις λειτουργίες που έχουν καθοριστεί για το πρόγραμμά σας. Μπορεί να περιλαμβάνει ή όχι κωδικό πρόσβασης για τους εν λόγω εξουσιοδοτημένους χρήστες. Σε αυτήν την περίπτωση, θα διερευνήσουμε ένα με επικύρωση ονόματος χρήστη και κωδικού πρόσβασης.

Προσθέτω προσωπικά τις ακόλουθες γραμμές για να δημιουργήσω αυτήν την ενότητα:

Κάτω από τον κωδικό:


###############################################################################
# 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 διάλογος. Στη συνέχεια, μέσω ενός βρόχου χρησιμοποιώντας την εντολή μέχρι επικυρώνει ότι η τιμή που καταχωρίστηκε για το όνομα χρήστη να συγκριθεί με οι έγκυρες τιμές χρηστών ορίστηκε προηγουμένως, δίνοντας στον χρήστη τη δυνατότητα να κλείσει σωστά το πρόγραμμα πληκτρολογώντας τη λέξη ΠΗΓΑΙΝΕ ΕΞΩ. Εάν η επικύρωση του χρήστη είναι επιτυχής, προχωρήστε στην ίδια διαδικασία με τον κωδικό πρόσβασης. Για να ολοκληρώσετε το τέλος σε περίπτωση επιτυχίας, η επικύρωση του χρήστη και του κωδικού πρόσβασης με ένα απλό μενού έκανε το διάλογος ρωτώντας εάν ο Χρήστης X επιθυμεί να συνεχίσει τη διαδικασία του προγράμματος ή όχι. Εάν ναι, εκδώστε ένα απλό προοδευτική μπάρα η αναμονή ολοκληρώθηκε με την εντολή περίπτωση.

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

Σύσταση:

Προγραμματίστε ή σκεφτείτε! Τι είναι το πρώτο; o Τι είναι πιο σημαντικό;

Χωρίς αμφιβολία, όταν αρχίζουμε στον προγραμματισμό, το πρώτο πράγμα που πρέπει να μάθουμε είναι οι αλγόριθμοι ή τα διαγράμματα ροής ως θεωρητικές βάσεις για να μάθουμε τη λογική και τα μαθηματικά για να αυξήσουμε τη λογική-μαθηματική συλλογιστική μας, ωστόσο, αυτή είναι επαρκής ή επαρκής βάση για να ξεκινήσουμε τον προγραμματισμό. Καταλαβαίνω ότι Μάθετε να προγραμματίζετε, δεν είναι αρκετό, είναι απαραίτητο Μάθετε να σκέφτεστε.

Σε ποια γλώσσα προγραμματισμού πρέπει να ξεκινήσω για να μπορέσω να μάθω γρήγορα το πρόγραμμα;

Αυτή είναι σίγουρα μια υποχρεωτική ερώτηση που όλοι μας αναρωτιόμαστε όταν ξεκινάμε στον υπέροχο κόσμο του προγραμματισμού. Αλλά δεν είναι η πρώτη σωστή ερώτηση που πρέπει να αναρωτηθούμε, αλλά:

ΕΧΩ ΧΡΕΙΑΖΕΤΑΙ Η ΑΝΑΛΥΤΙΚΗ ΙΚΑΝΟΤΗΤΑ ΓΙΑ ΤΗΝ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ, ΕΚΤΕΛΕΣΤΙΚΑ ΣΤΟΙΧΕΙΑ ΚΑΙ ΔΙΑΘΕΣΗ ΑΝΤΙΔΡΑΣΗΣ;

Και σίγουρα η εκμάθηση προγραμματισμού σε οποιαδήποτε από τις πιο κοινές ή ισχυρές γλώσσες έχει πολλά αναμφισβήτητα οφέλη. Δεδομένου ότι μας παρέχει τα απαραίτητα εργαλεία για να αναπτύξουμε τις δικές μας εφαρμογές, μας βοηθά να εντοπίσουμε προβλήματα σε τεχνολογικές συσκευές και μας ανοίγει πόρτες στην αγορά εργασίας, αλλά ο προγραμματισμός είναι μόνο ένα μικρό μέρος της επιστήμης των υπολογιστών.

Ενώ Πρόγραμμα ή γράψτε κώδικα συνίσταται στη διδασκαλία ενός υπολογιστή (μέσω μιας εφαρμογής, λογισμικού ή συστήματος) για την εκτέλεση μιας συγκεκριμένης λειτουργίας, μετά από ένα Επιλογή Χ εκτελείται από χειριστή ή α Εκδήλωση X από ή μέσα στο ίδιο Υλικό ή Λογισμικό που το υποστηρίζει. Οι αρχές της Πληροφορικής (Πληροφορική / Συστήματα) μας διδάσκουν λογικές και λογικές δεξιότητες που είναι χρήσιμες σε άλλους τομείς εκτός από την τεχνολογία. Η επιστήμη των υπολογιστών, στην ουσία, διδάσκει πώς να επεξεργάζεται και να αντιπροσωπεύει πληροφορίες.

Επομένως, θεωρώ ότι αυτός είναι ο καταλληλότερος τρόπος Μάθετε να προγραμματίζετε.

Εξηγώ, λαμβάνοντας ως παράδειγμα, αυτή την άλλη ανάρτηση που ονομάζεται Μην μάθετε να κωδικοποιείτε. Μάθετε να σκέφτεστε » de Γιεβγκένι Μπρίκμαν, όπου αυτός ο Μηχανικός μας αποκαλύπτει εν συντομία τη διαφορά μεταξύ του να ξέρουμε πώς να προγραμματίζουμε και να ξέρουμε πώς να σκεφτόμαστε σαν επιστήμονας υπολογιστών με αυτήν την αναλογία:

Όσο πανταχού υπάρχει μια τεχνολογία, αυτό δεν μας κάνει να το μάθουμε όταν το μελετάμε σε ένα Κέντρο Εκμάθησης. Για παράδειγμα, θα μπορούσαμε να πάρουμε ότι σχεδόν οποιοσδήποτε σε κάποια στιγμή της ζωής έχει πετάξει ποτέ με αεροπλάνο, αλλά από εκεί για να αποκτήσει άδεια πιλότου, υπάρχει πολύς πολύς δρόμος που πρέπει να διανύσουμε, ο οποίος γενικά δεν αποτελεί μέρος των επίσημων μελετών ένα άτομο, αλλά πολύ συγκεκριμένες μελέτες σε μια συγκεκριμένη περιοχή.

Εξηγείται με περισσότερες λεπτομέρειες, αυτό σημαίνει ότι η γνώση που μπορεί να έχει ο καθένας σχετικά με το πώς λειτουργούν τα αεροπλάνα βασικά πολλοί από εμάς έχουν από τη δευτεροβάθμια και πανεπιστημιακή εκπαίδευση ή σε οποιαδήποτε τεχνική καριέρα (μηχανική), όπως η φυσική και τα μαθηματικά που μας βοηθούν να κατανοήσουμε πώς οι δυνάμεις υπάρχουν κατά την πτήση και εξωτερικά στοιχεία όπως η βαρύτητα, η ατμοσφαιρική πίεση, η ταχύτητα, η τριβή ή η ανύψωση. Και όπως η βιολογία μάς βοηθά να καταλάβουμε πώς συμπεριφέρεται ένας άνθρωπος σε ύψος Χ ή πώς επηρεάζεται από την έλλειψη οξυγόνου και το υπερβολικό κρύο. Ή η ιστορία που μας επιτρέπει να γνωρίζουμε τη διαδικασία που οδήγησε στο πώς δημιουργήθηκαν τα αεροπλάνα, και τι ρόλο διαδραματίζουν στις μεταφορές και το εμπόριο. Όλες αυτές οι γνώσεις που αποκτήθηκαν μαζί σε ένα εκπαιδευτικό κέντρο, από διάφορους τομείς γνώσης, μας παρέχουν μια γενική ιδέα για το τι είναι ένα αεροπλάνο και πώς λειτουργεί. Τα γενικά θέματα μάς βοηθούν να κατανοήσουμε μια μεγάλη ποικιλία προβλημάτων, συμπεριλαμβανομένου του τρόπου με τον οποίο πετούν τα αεροπλάνα. Κάτι πολύ διαφορετικό από ένα εξειδικευμένο θέμα που σας διδάσκει μόνο να χειρίζεστε ένα από αυτά τα μηχανήματα, έναν τύπο αεροπλάνου. Επομένως, για τον ίδιο λόγο, πρέπει να επικεντρωθούμε στη μελέτη της Πληροφορικής και όχι μόνο στον προγραμματισμό. Επειδή ενώ η Επιστήμη των Υπολογιστών μάς διδάσκει παγκοσμίως να σκεφτόμαστε με μια γενική (συστημική) έννοια, ο προγραμματισμός είναι μόνο ένα εργαλείο που μας επιτρέπει να μεταφράσουμε μια ιδέα ή ένα πρόβλημα Υ μέσω ενός κωδικού X, που προηγουμένως αναλύθηκε (σωστά ή λανθασμένα).

Αυτή και πολλές άλλες απόψεις συνέβαλαν από Γιεβγκένι Μπρίκμαν στην ανάρτησή του για το τι Πρόγραμμα είναι μόνο μέρος μιας ευρύτερης γνώσης ενσωματωμένης στο Επιστήμη των υπολογιστών, τα οποία είναι απαραίτητα για κάθε προγραμματιστή.

Τέλος, θυμηθείτε να προχωρήσετε με έναν αυτοδίδακτο τρόπο με την εκμάθηση σχετικά με τις πιο σημαντικές εντολές του GNU / Linux να συνεχίσει να προωθεί τη γνώση που θα χρησιμοποιήσουν αργότερα, και ότι όλα παρουσιάζονται εδώ σχετικά με την ανάπτυξη ορισμένων ενότητα, συνάρτηση, μεταβλητή, εντολή ή ενέργεια Γενικά μπορεί να πραγματοποιηθεί με διαφορετικούς τρόπους ή εναλλακτικές μεθόδους, διαφορετικές από αυτές που περιγράφονται εδώ.

Παρακάτω a Screencast από εμένα, όπου μπορείτε να δείτε πώς εκτελείται αυτή η ενότητα, προηγούμενες ή μεταγενέστερες ενότητες που πρέπει να διδαχθούν, έτσι ώστε να μπορείτε να δείτε τις δυνατότητες του Shell Scripting σε μεσαίο επίπεδο (Δεν είναι προηγμένο):

LPI-SB8 Test ScreenCast

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Μέρος 2


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Ένας άλλος που περνούσε dijo

    Να το έχω αν το κατάλαβα σωστά. Ζητάτε από τον χρήστη να εισαγάγει το όνομα χρήστη του ... ωραία. Και αφού εισαγάγετε τον κωδικό πρόσβασής σας ... και αποδεικνύεται ότι ο κωδικός πρόσβασης είναι "lpi * sb8" ... και ότι είναι "hardcoded" στο σενάριο.

    Εάν ο χρήστης έχει πρόσβαση ανάγνωσης στο σενάριο ... bingo !! ... ήδη ξέρει ποιο όνομα χρήστη και κωδικό πρόσβασης πρέπει να εισαγάγει !!!

    Δεν ξέρω αν έχω κάνει λάθος για κάτι ... αλλά αν ναι, αυτό είναι πολύ αβέβαιο ...

  2.   Ινγκ. Jose Albert dijo

    Αληθής! Έδωσα μια μέθοδο τώρα, ο καθένας με αυτήν την έμφυτη περιέργεια που χαρακτηρίζει την ανθρώπινη φυλή πρέπει να αναζητήσει την τελειότητα ή την ενδυνάμωσή της στις γραμμές ασφαλείας.