Xây dựng chương trình của bạn từng bước bằng cách sử dụng Shell Scripting - Phần 5

Trong các ấn phẩm trước của vòng này được gọi là «Xây dựng chương trình của bạn từng bước bằng cách sử dụng Shell Scripting» Chúng tôi đã trình bày cách triển khai các mô-đun sau:

Shell Scripting

Bây giờ trong ấn phẩm mới này, chúng ta sẽ xem cách triển khai:

MODULE ỦY QUYỀN NGƯỜI DÙNG VỚI MẬT KHẨU

Cái nào phải là mô-đun (phần) của chương trình của bạn điều đó cho phép bạn đảm bảo rằng chỉ người dùng hoặc những người dùng được xác định trước đó để sử dụng nó mới có thể thực thi các hoạt động được chỉ định cho chương trình của bạn. Nó có thể có hoặc không bao gồm mật khẩu cho những người dùng được ủy quyền nói trên. Trong trường hợp này, chúng tôi sẽ khám phá một tài khoản có xác thực tên người dùng và mật khẩu.

Cá nhân tôi thêm các dòng sau để tạo mô-đun này:

Dưới mã:


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

Như bạn có thể thấy, trước tiên mô-đun này định cấu hình màn hình đầu cuối chuyển sang nền xanh lam cho một đánh giá tốt hơn về thị giác của người dùng, sau đó phát ra thông điệp thính giác với cà phê y hình ảnh với bỏ lỡ y Đối thoại. Sau đó, thông qua một vòng lặp bằng cách sử dụng lệnh cho đến khi xác thực rằng giá trị đã nhập cho tên người dùng được so sánh với (các) giá trị người dùng hợp lệ được định nghĩa trước đó, cung cấp cho người dùng khả năng đóng chương trình một cách chính xác bằng cách nhập từ ĐI RA NGOÀI. Nếu xác thực người dùng thành công, hãy tiếp tục thực hiện quy trình tương tự với mật khẩu. Để kết thúc kết thúc trong trường hợp xác thực thành công người dùng và Mật khẩu với menu đơn giản sản xuất tại Đối thoại hỏi Người dùng X có muốn tiếp tục quá trình chương trình hay không. Nếu vậy, hãy phát hành một đơn giản thanh lũy tiến đợi xong với lệnh trường hợp.

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

Khuyến nghị:

Lên lịch hoặc suy nghĩ! Đầu tiên là gì? o Điều gì quan trọng hơn?

Không nghi ngờ gì nữa, khi chúng ta bắt đầu lập trình, điều đầu tiên chúng ta nên học thuật toán hoặc sơ đồ luồng làm cơ sở lý thuyết để học logic và toán học để tăng khả năng suy luận logic-toán học của chúng ta, tuy nhiên, cơ sở này là đủ hoặc đủ để bắt đầu lập trình . Hiểu rằng Học lập trình, nó là không đủ, nó là cần thiết Học cách suy nghĩ.

TRONG NGÔN NGỮ LẬP TRÌNH NÀO TÔI NÊN BẮT ĐẦU ĐỂ CÓ THỂ HỌC NHANH CHÓNG LẬP TRÌNH?

Đây chắc chắn là một câu hỏi bắt buộc mà tất cả chúng ta đều tự hỏi khi bắt đầu bước vào thế giới tuyệt vời của lập trình. Nhưng đây không phải là câu hỏi chính xác đầu tiên mà chúng ta nên tự hỏi mình, mà là:

TÔI CÓ CẦN NĂNG LỰC PHÂN TÍCH ĐỂ PHÂN TÍCH MỘT VẤN ĐỀ, TRÍCH XUẤT CÁC YẾU TỐ CỦA NÓ VÀ XEM PHẢN ỨNG KHÔNG?

Và chắc chắn việc học lập trình bằng bất kỳ ngôn ngữ phổ biến hoặc mạnh mẽ nào cũng có nhiều lợi ích không thể phủ nhận. Vì nó cung cấp cho chúng ta những công cụ cần thiết để phát triển các ứng dụng của riêng mình, nó giúp chúng ta xác định các vấn đề trong các thiết bị công nghệ và nó mở ra cánh cửa cho chúng ta trong thị trường việc làm, nhưng lập trình chỉ là một phần nhỏ của khoa học máy tính.

Trong khi Lập trình hoặc viết mã bao gồm dạy máy tính (thông qua một ứng dụng, phần mềm hoặc hệ thống) để thực hiện một hoạt động nhất định, sau khi Tùy chọn X được thực hiện bởi một nhà điều hành hoặc một Sự kiện X bởi hoặc trong cùng một Phần cứng hoặc Phần mềm hỗ trợ nó; Các nguyên tắc của Khoa học Máy tính (Tin học / Hệ thống) chúng dạy chúng ta các kỹ năng lập luận và logic hữu ích trong các lĩnh vực khác ngoài công nghệ. Về bản chất, khoa học máy tính dạy cách xử lý và biểu diễn thông tin.

Do đó, tôi coi đây là cách thích hợp nhất để Học lập trình.

Tôi giải thích, lấy làm ví dụ, bài đăng khác này có tên Đừng học cách viết mã. Học cách suy nghĩ » de Yevgeny Brikman, nơi Kỹ sư này tóm tắt sự khác biệt giữa biết cách lập trình và biết cách suy nghĩ như một nhà khoa học máy tính với sự tương tự như sau:

Tuy nhiên, công nghệ có mặt ở khắp mọi nơi, điều này không khiến chúng ta học được nó khi chúng ta học nó trong Trung tâm Kiến thức. Ví dụ, chúng ta có thể lấy rằng hầu hết bất kỳ ai tại một thời điểm nào đó trong đời đều đã từng bay trên máy bay, nhưng từ đó để đạt được bằng phi công, còn một chặng đường rất dài, điều này nói chung không phải là một phần của các nghiên cứu chính thức về một người, nhưng các nghiên cứu rất cụ thể về một lĩnh vực cụ thể.

Được giải thích chi tiết hơn, điều này có nghĩa là kiến ​​thức mà bất kỳ ai có thể có về cách máy bay hoạt động về cơ bản mà nhiều người trong chúng ta có từ giáo dục trung học và đại học hoặc trong bất kỳ ngành nghề kỹ thuật nào (kỹ thuật), chẳng hạn như vật lý và toán học giúp chúng ta hiểu cách các lực hiện diện trong chuyến bay và các yếu tố bên ngoài như trọng lực, áp suất khí quyển, tốc độ, ma sát hoặc lực nâng. Và cũng giống như sinh học giúp chúng ta hiểu cách một con người cư xử ở độ cao X, hoặc nó bị ảnh hưởng như thế nào khi thiếu oxy và quá lạnh. Hoặc câu chuyện cho phép chúng ta biết quá trình hình thành cách máy bay được tạo ra, và chúng đóng vai trò gì trong giao thông vận tải và thương mại. Tất cả những kiến ​​thức này cùng nhau có được trong một trung tâm giảng dạy, từ các lĩnh vực kiến ​​thức khác nhau, cung cấp cho chúng ta một ý tưởng chung về máy bay là gì và nó hoạt động như thế nào. Các môn học đại cương giúp chúng ta hiểu được nhiều vấn đề, bao gồm cả cách máy bay bay. Một cái gì đó rất khác so với một môn học chuyên ngành chỉ dạy bạn vận hành một trong những loại máy đó, một loại máy bay. Vì vậy, vì lý do tương tự, chúng ta nên tập trung vào nghiên cứu Khoa học Máy tính, và không chỉ học lập trình. Vì trong khi Khoa học máy tính dạy chúng ta trên toàn cầu suy nghĩ theo nghĩa chung chung (hệ thống), thì lập trình chỉ là một công cụ cho phép chúng ta dịch một ý tưởng hoặc vấn đề Y thông qua mã X, đã được phân tích trước đó (đúng hoặc sai).

Điều này và nhiều quan điểm khác được đóng góp bởi Yevgeny Brikman trong bài đăng của anh ấy về những gì Lịch trình nó chỉ là một phần của kiến ​​thức rộng hơn được nhúng trong Khoa học máy tính, rất cần thiết cho mọi lập trình viên.

Cuối cùng, hãy nhớ tiến bộ theo cách tự học với việc học về các lệnh quan trọng nhất của GNU / Linux để tiếp tục nâng cao kiến ​​thức mà họ sẽ sử dụng sau này và mọi thứ được trình bày ở đây về sự phát triển của một số mô-đun, hàm, biến, lệnh hoặc hành động nói chung nó có thể được thực hiện theo nhiều cách khác nhau hoặc các phương pháp thay thế, khác với những cách được mô tả ở đây.

Dưới một Screencast do tôi thực hiện, nơi bạn có thể xem cách mô-đun này được thực thi, các mô-đun trước đó hoặc sau đó sẽ được dạy, để họ thấy tiềm năng của Shell Scripting ở mức trung bình (Không phải nâng cao):

Màn hình thử nghiệm LPI-SB8

(CÀI ĐẶT LINUX POST - SCRIPT BICENTENARIO 8.0.0) - Phần 2


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Một người khác đang đi qua dijo

    Để có nếu tôi đã hiểu nó một cách chính xác. Bạn yêu cầu người dùng nhập tên người dùng của họ ... tốt thôi. Và sau khi bạn nhập mật khẩu của mình ... và hóa ra mật khẩu là "lpi * sb8" ... và nó được "mã hóa cứng" trong script.

    Nếu người dùng đã đọc quyền truy cập vào tập lệnh… bingo !!… họ đã biết tên người dùng và mật khẩu họ phải nhập !!!

    Tôi không biết liệu mình có mắc lỗi gì đó không ... nhưng nếu vậy, điều đó rất không an toàn ...

  2.   Jose Albert dijo

    Thật! Bây giờ tôi đã đưa ra một phương pháp, tất cả mọi người với sự tò mò bẩm sinh đặc trưng cho loài người phải tìm kiếm sự hoàn thiện hoặc củng cố của nó trong các tuyến an ninh.