Buat program Anda selangkah demi selangkah menggunakan Shell Scripting - Part 5

Dalam publikasi sebelumnya babak ini disebut «Buat program Anda selangkah demi selangkah menggunakan Shell Scripting» Kami telah membahas cara mengimplementasikan modul berikut:

Shell Scripting

Sekarang dalam publikasi baru ini kita akan melihat bagaimana mengimplementasikan:

MODUL OTORISASI PENGGUNA DENGAN PASSWORD

Yang seharusnya menjadi modul (bagian) program Anda yang memungkinkan Anda memastikan bahwa hanya pengguna atau pengguna yang telah ditetapkan sebelumnya yang dapat menjalankan operasi yang ditetapkan untuk program Anda. Ini mungkin atau mungkin tidak termasuk kata sandi untuk pengguna resmi tersebut. Dalam hal ini, kita akan menjelajahinya dengan validasi nama pengguna dan kata sandi.

Saya pribadi menambahkan baris berikut untuk membuat modul ini:

Di bawah kode:


###############################################################################
# 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 pertama-tama mengkonfigurasi file layar terminal dengan latar belakang biru untuk a apresiasi visual yang lebih baik dari pengguna, lalu memancarkan pesan pendengaran dengan berbicara y visual dengan gema y dialog. Kemudian melalui satu loop menggunakan perintah sampai memvalidasi bahwa nilai yang dimasukkan untuk nama pengguna dibandingkan dengan nilai pengguna yang valid didefinisikan sebelumnya, memberi pengguna kemungkinan untuk menutup program dengan benar dengan mengetikkan kata KELUAR. Jika validasi pengguna berhasil, lanjutkan untuk melakukan prosedur yang sama dengan kata sandi. Untuk menyelesaikan pengakhiran jika berhasil validasi pengguna dan Kata Sandi dengan menu sederhana dibuat di dialog menanyakan apakah Pengguna X ingin melanjutkan proses program atau tidak. Jika demikian, masalah sederhana bilah progresif menunggu selesai dengan perintah kasus.

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

Rekomendasi:

Jadwalkan atau pikirkan! Apa yang pertama? o Apa yang lebih penting?

Tanpa diragukan lagi, ketika kita memulai pemrograman, hal pertama yang harus kita pelajari adalah algoritma atau diagram alir sebagai landasan teoritis untuk mempelajari logika dan matematika untuk meningkatkan penalaran logis-matematis kita, namun demikian basis ini sudah cukup atau memadai untuk memulai pemrograman. . Pahami itu Belajar Program, itu tidak cukup, itu perlu Belajar Berpikir.

DI BAHASA PEMROGRAMAN MANA SAYA HARUS MENCAPAI DENGAN CEPAT BELAJAR PROGRAM?

Ini tentunya merupakan pertanyaan wajib yang kita semua tanyakan pada diri kita sendiri ketika kita mulai di dunia pemrograman yang indah. Tetapi ini bukanlah pertanyaan pertama yang benar yang harus kita tanyakan pada diri kita sendiri, tetapi:

APAKAH SAYA MEMILIKI KAPASITAS ANALITIS YANG DIPERLUKAN UNTUK MENGANALISIS MASALAH, EKSTRAK ELEMENNYA DAN MENAMPILKAN RESPONS?

Dan tentunya belajar membuat program dalam salah satu bahasa yang paling umum atau kuat memiliki banyak manfaat yang tidak dapat disangkal. Karena ini memberi kita alat yang diperlukan untuk mengembangkan aplikasi kita sendiri, ini membantu kita menemukan masalah dalam perangkat teknologi, dan itu membuka pintu bagi kita di pasar kerja, tetapi pemrograman hanyalah sebagian kecil dari ilmu komputer.

sementara Program atau tulis kode terdiri dari pengajaran komputer (melalui aplikasi, perangkat lunak atau sistem) untuk melakukan operasi tertentu, setelah a Opsi X dilakukan oleh operator atau a Acara X oleh atau dalam Perangkat Keras atau Perangkat Lunak yang sama yang mendukungnya; Prinsip-prinsip Ilmu Komputer (Informatika / Sistem) mereka mengajari kita keterampilan penalaran dan logika yang berguna di bidang selain teknologi. Ilmu komputer pada intinya mengajarkan bagaimana mengolah dan merepresentasikan informasi.

Oleh karena itu, saya menganggap ini sebagai cara yang paling tepat Belajar memprogram.

Saya jelaskan, sebagai contoh, posting lain ini disebut Jangan belajar kode. Belajar berpikir » de Yevgeny Brikman, di mana Insinyur ini merangkum perbedaan antara mengetahui cara memprogram, dan mengetahui cara berpikir seperti ilmuwan komputer dengan analogi berikut:

Betapapun ada di mana-mana teknologi, ini tidak membuat kita mempelajarinya ketika kita mempelajarinya di Pusat Pembelajaran. Sebagai contoh, kita dapat mengambil bahwa hampir semua orang pada suatu saat dalam kehidupan pernah terbang dengan pesawat terbang, tetapi dari sana untuk mendapatkan izin pilot, jalan yang harus ditempuh masih sangat panjang, yang umumnya bukan bagian dari studi formal tentang seseorang, tetapi sangat khusus mempelajari bidang tertentu.

Dijelaskan secara lebih rinci, ini berarti bahwa pengetahuan yang mungkin dimiliki siapa pun tentang cara kerja pesawat terbang pada dasarnya banyak dari kita miliki dari pendidikan menengah dan universitas atau dalam karier teknis apa pun (teknik), seperti fisika dan matematika yang membantu kita untuk memahami bagaimana gaya hadir dalam penerbangan, dan elemen eksternal seperti gravitasi, tekanan atmosfer, kecepatan, gesekan atau gaya angkat. Dan seperti halnya biologi membantu kita memahami bagaimana manusia berperilaku pada ketinggian X, atau bagaimana hal itu dipengaruhi oleh kekurangan oksigen dan suhu dingin yang ekstrim. Atau kisah yang memungkinkan kita mengetahui proses yang memunculkan bagaimana pesawat terbang dibuat, dan peran apa yang mereka mainkan dalam transportasi dan perdagangan. Semua pengetahuan ini bersama-sama diperoleh di sebuah pusat pengajaran, dari berbagai bidang pengetahuan, memberi kita gambaran umum tentang apa itu pesawat terbang dan bagaimana cara kerjanya. Mata pelajaran umum membantu kita memahami berbagai macam masalah, termasuk bagaimana pesawat terbang. Sesuatu yang sangat berbeda dari subjek khusus yang hanya mengajarkan Anda untuk mengoperasikan salah satu mesin itu, sejenis pesawat terbang. Oleh karena itu, untuk alasan yang sama, kita harus fokus mempelajari Ilmu Komputer, dan bukan hanya pemrograman. Karena Ilmu Komputer mengajarkan kita secara global untuk berpikir dalam pengertian umum (sistemik), pemrograman hanyalah alat yang memungkinkan kita untuk menerjemahkan ide atau masalah Y melalui kode X, yang dianalisis sebelumnya (benar atau salah).

Ini dan banyak sudut pandang lain yang dikontribusikan oleh Yevgeny Brikman dalam postingannya tentang apa Jadwalkan itu hanya bagian dari pengetahuan yang lebih luas yang tertanam di dalam Ilmu komputer, yang penting bagi setiap pemrogram.

Akhirnya, ingatlah untuk maju secara otodidak dengan mempelajari tentang perintah yang paling penting dari GNU / Linux untuk terus memajukan pengetahuan yang akan mereka gunakan nanti, dan bahwa segala sesuatu yang disajikan di sini tentang pengembangan beberapa modul, fungsi, variabel, perintah atau tindakan secara umum dapat dilakukan dengan berbagai cara atau metode alternatif, berbeda dari yang dijelaskan di sini.

Di bawah a Screencast dibuat oleh saya, di mana Anda dapat melihat bagaimana modul ini dijalankan, modul sebelumnya atau nanti akan diajarkan, sehingga Anda dapat melihat potensi Shell Scripting pada tingkat menengah (Tidak mahir):

ScreenCast Uji LPI-SB8

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


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Lain yang sedang lewat dijo

    Untuk memiliki jika saya telah memahaminya dengan benar. Anda meminta pengguna untuk memasukkan nama pengguna mereka ... baik-baik saja. Dan setelah Anda memasukkan kata sandi Anda ... dan ternyata kata sandinya adalah "lpi * sb8" ... dan itu adalah "hardcode" di skrip.

    Jika pengguna memiliki akses membaca ke skrip… bingo !!… mereka sudah tahu nama pengguna dan sandi mana yang harus mereka masukkan !!!

    Saya tidak tahu apakah saya telah melakukan kesalahan tentang sesuatu ... tetapi jika demikian, itu sangat tidak aman ...

  2.   Ing.José Albert dijo

    Benar! Saya memberikan metode sekarang, setiap orang dengan keingintahuan bawaan yang menjadi ciri umat manusia harus mencari kesempurnaan atau penguatannya di garis keamanan.