Bangun program anda langkah demi langkah menggunakan Shell Scripting - Bahagian 5

Dalam penerbitan sebelumnya dari pusingan ini disebut «Bangun program anda langkah demi langkah menggunakan Shell Scripting» Kami telah membahas bagaimana melaksanakan modul berikut:

Shell ScriptingSekarang dalam penerbitan baru ini kita akan melihat bagaimana melaksanakan:

MODUL KEBENARAN PENGGUNA DENGAN KATA LALUAN

Yang sepatutnya menjadi modul (bahagian) program anda yang membolehkan anda memastikan bahawa hanya pengguna atau pengguna yang ditentukan sebelumnya untuk menggunakannya dapat menjalankan operasi yang ditetapkan untuk program anda. Mungkin atau tidak termasuk kata laluan untuk pengguna yang diberi kuasa tersebut. Dalam kes ini, kami akan meneroka satu dengan pengesahan nama pengguna dan kata laluan.

Saya secara peribadi menambah baris berikut untuk membuat modul ini:

Di bawah kod:


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

Seperti yang anda lihat, modul ini terlebih dahulu mengkonfigurasi anda skrin terminal ke latar belakang biru untuk satu apresiasi visual pengguna yang lebih baik, kemudian memancarkan mesej pendengaran dengan bercakap y visual dengan echo y Dialog. Kemudian melalui gelung menggunakan arahan sehingga mengesahkan bahawa nilai yang dimasukkan untuk nama pengguna dibandingkan dengan nilai pengguna yang sah ditentukan sebelumnya, memberi pengguna kemungkinan menutup program dengan betul dengan menaip perkataan KELUAR. Sekiranya pengesahan pengguna berjaya, teruskan prosedur yang sama dengan kata laluan. Untuk menyelesaikan berakhir sekiranya berjaya pengesahan pengguna dan Kata Laluan dengan a menu ringkas dibuat di Dialog bertanya sama ada Pengguna X ingin terus meneruskan proses program atau tidak. Sekiranya ada, keluarkan yang mudah bar progresif menunggu selesai dengan arahan kes.

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

Syor:

Jadualkan atau fikirkan! Apa yang pertama? o Apa yang lebih penting?

Tanpa keraguan, ketika kita memulakan pengaturcaraan, perkara pertama yang harus kita pelajari adalah algoritma atau diagram alir sebagai asas teori untuk mempelajari logik dan matematik untuk meningkatkan penaakulan logik-matematik kita, namun, asas ini mencukupi atau memadai untuk memulakan pengaturcaraan. Fahami bahawa Belajar Program, itu tidak mencukupi, perlu Belajar Berfikir.

DALAM BAHASA PROGRAM YANG SAYA HARUS DILAKUKAN DALAM PESANAN UNTUK DAPAT MENGAJAR DENGAN PROGRAM?

Ini pasti merupakan soalan wajib yang kita semua tanyakan pada diri kita sendiri ketika kita memulakan dalam dunia pengaturcaraan yang indah. Tetapi bukan soalan pertama yang betul yang harus kita tanyakan kepada diri sendiri, tetapi:

ADAKAH SAYA MEMILIKI KAPASITI ANALITIK YANG PERLU MENGANALISIS MASALAH, MENGECUALIKAN ELEMENNYA DAN MELIHAT TANGGUNGJAWAB?

Dan tentunya belajar memprogram dalam bahasa yang paling biasa atau hebat mempunyai banyak faedah yang tidak dapat disangkal. Oleh kerana ia memberi kita alat yang diperlukan untuk mengembangkan aplikasi kita sendiri, ini membantu kita untuk mencari masalah dalam peranti teknologi, dan ini membuka pintu bagi kita di pasaran pekerjaan, tetapi pengaturcaraan hanyalah sebahagian kecil dari sains komputer.

manakala Atur cara atau tulis kod terdiri dari mengajar komputer (melalui aplikasi, perisian atau sistem) untuk melakukan operasi tertentu, setelah a Pilihan X dilakukan oleh pengendali atau a Acara X oleh atau dalam Perkakasan atau Perisian yang sama yang menyokongnya; Prinsip Sains Komputer (Informatik / Sistem) mereka mengajar kita kemahiran berfikir dan logik yang berguna dalam bidang selain teknologi. Sains komputer, pada dasarnya, mengajar bagaimana memproses dan mewakili maklumat.

Oleh itu, saya menganggap ini sebagai kaedah yang paling tepat Belajar program.

Saya menerangkan, sebagai contoh, catatan lain ini disebut Jangan belajar membuat kod. Belajar berfikir » de Yevgeny Brikman, di mana Jurutera ini secara ringkas memperlihatkan kepada kita perbezaan antara mengetahui cara memprogram, dan mengetahui bagaimana berfikir seperti saintis komputer dengan analogi ini:

Sama seperti teknologi, ini tidak menjadikan kita mempelajarinya semasa kita mempelajarinya di pusat pengajaran. Sebagai contoh, kita dapat menganggap bahawa hampir setiap orang dalam hidup pernah terbang di pesawat terbang, tetapi dari sana untuk mendapatkan lesen juruterbang, masih ada jalan yang sangat panjang, yang umumnya bukan merupakan sebahagian daripada kajian formal mengenai seseorang, tetapi kajian yang sangat khusus mengenai kawasan tertentu.

Diterangkan dengan lebih terperinci, ini bermaksud bahawa pengetahuan yang boleh dimiliki oleh sesiapa sahaja mengenai bagaimana kapal terbang berfungsi pada asasnya kebanyakan kita mempunyai dari pendidikan menengah dan universiti atau dalam kerjaya teknikal (kejuruteraan), seperti fizik dan matematik yang membantu kita memahami bagaimana kekuatan hadir dalam penerbangan, dan elemen luaran seperti graviti, tekanan atmosfera, kelajuan, geseran atau pengangkatan. Sama seperti biologi yang membantu kita memahami bagaimana manusia berperilaku pada ketinggian X, atau bagaimana ia dipengaruhi oleh kekurangan oksigen dan sejuk yang melampau. Atau kisah yang memungkinkan kita mengetahui proses yang menimbulkan bagaimana pesawat dibuat, dan apa peranannya dalam pengangkutan dan perdagangan. Semua pengetahuan ini diperoleh bersama di pusat pengajaran, dari pelbagai bidang pengetahuan, memberi kita idea umum tentang apa itu kapal terbang dan bagaimana ia berfungsi. Mata pelajaran umum membantu kita memahami pelbagai masalah, termasuk bagaimana pesawat terbang. Sesuatu yang sangat berbeza dengan subjek khusus yang hanya mengajar anda mengendalikan salah satu mesin tersebut, sejenis kapal terbang. Oleh itu, untuk alasan yang sama, kita harus fokus untuk mempelajari Sains Komputer, dan bukan hanya pengaturcaraan. Oleh kerana semasa Sains Komputer mengajar kita secara global untuk berfikir secara umum (sistemik), pengaturcaraan hanyalah alat yang membolehkan kita menerjemahkan idea atau masalah Y melalui kod X, yang sebelumnya dianalisis (betul atau tidak betul).

Ini dan banyak sudut pandangan lain yang disumbangkan oleh Yevgeny Brikman dalam jawatannya mengenai apa Jadual itu hanya sebahagian dari pengetahuan yang lebih luas yang disertakan dalam Sains komputer, yang penting untuk setiap pengaturcara.

Akhirnya, ingat untuk maju dengan cara yang diajar sendiri dengan belajar mengenai perintah yang paling penting GNU / Linux untuk terus memajukan pengetahuan yang akan mereka gunakan kemudian, dan bahawa semua yang disajikan di sini mengenai perkembangan beberapa modul, fungsi, pemboleh ubah, arahan atau tindakan secara amnya ia dapat dijalankan dengan cara atau kaedah alternatif yang berbeza, berbeza dengan yang dijelaskan di sini.

Di bawah a Screencast yang dibuat oleh saya, di mana anda dapat melihat bagaimana modul ini dilaksanakan, modul sebelumnya atau yang lebih baru yang akan diajar, sehingga anda dapat melihat potensi Shell Scripting pada tahap sederhana (Tidak maju):

Skrin Skrin Ujian LPI-SB8

(PEMASANGAN LINUX POST - SCRIPT BICENTENARIO 8.0.0) - Bahagian 2

 

 


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

2 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Satu lagi yang berlaku kata

    Adakah jika saya telah memahaminya dengan betul. Anda meminta pengguna memasukkan nama pengguna mereka ... baiklah. Dan setelah anda memasukkan kata laluan anda ... dan ternyata kata laluan itu adalah "lpi * sb8" ... dan bahawa ia "hardcoded" dalam skrip.

    Sekiranya pengguna mempunyai akses membaca ke skrip ... bingo !! ... mereka sudah tahu nama pengguna dan kata laluan yang harus mereka masukkan !!!

    Saya tidak tahu sama ada saya membuat kesilapan mengenai sesuatu ... tetapi jika ya, itu sangat tidak selamat ...

  2.   Jose Albert kata

    Betul! Saya memberikan kaedah sekarang, setiap orang dengan rasa ingin tahu yang semula jadi yang mencirikan umat manusia mesti mencari kesempurnaan atau pengukuhannya dalam garis keselamatan.