ในสิ่งพิมพ์ก่อนหน้าของรอบนี้เรียกว่า «สร้างโปรแกรมของคุณทีละขั้นตอนโดยใช้ Shell Scripting » เราได้กล่าวถึงวิธีการใช้โมดูลต่อไปนี้แล้ว:
- โมดูลการตรวจสอบ ROOT SUPERUSER
- โมดูลตัวแปรสภาพแวดล้อม
- DOUBLE EXECUTION DETECTION MODULE หรือ FAILED EXECUTION
- โมดูลการเพิ่มประสิทธิภาพสำหรับสภาพแวดล้อมการดำเนินการโปรแกรม
ตอนนี้ในสิ่งพิมพ์ใหม่นี้เราจะมาดูวิธีใช้ a:
โมดูลการอนุญาตของผู้ใช้ด้วยรหัสผ่าน
ซึ่งควรเป็นโมดูล (ส่วน) ของโปรแกรมของคุณ ที่ช่วยให้คุณมั่นใจได้ว่าเฉพาะผู้ใช้หรือผู้ใช้ที่กำหนดไว้ก่อนหน้านี้เท่านั้นที่สามารถดำเนินการตามที่กำหนดไว้สำหรับโปรแกรมของคุณ อาจมีหรือไม่มีรหัสผ่านสำหรับผู้ใช้ที่ได้รับอนุญาตดังกล่าว ในกรณีนี้เราจะสำรวจด้วยการตรวจสอบชื่อผู้ใช้และรหัสผ่าน
ฉันเพิ่มบรรทัดต่อไปนี้เป็นการส่วนตัวเพื่อสร้างโมดูลนี้:
ด้านล่างรหัส:
###############################################################################
# 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 บทสนทนา. จากนั้นผ่านลูปโดยใช้คำสั่ง จนกระทั่ง ตรวจสอบว่าค่าที่ป้อนสำหรับ ชื่อผู้ใช้ เทียบกับ ค่าผู้ใช้ที่ถูกต้อง ที่กำหนดไว้ก่อนหน้านี้ทำให้ผู้ใช้สามารถปิดโปรแกรมได้อย่างถูกต้องโดยพิมพ์คำ ออกไป. หากการตรวจสอบความถูกต้องของผู้ใช้สำเร็จให้ดำเนินการตามขั้นตอนเดียวกันกับรหัสผ่าน เพื่อสิ้นสุดการสิ้นสุดในกรณีที่สามารถตรวจสอบความถูกต้องของผู้ใช้และรหัสผ่านได้สำเร็จด้วยก เมนูง่ายๆ ทำใน บทสนทนา ถามว่า User X ต้องการดำเนินการตามกระบวนการของโปรแกรมต่อไปหรือไม่ ถ้าเป็นเช่นนั้นให้ออกง่ายๆ แถบโปรเกรสซีฟ รอให้เสร็จสิ้นด้วยคำสั่ง กรณี.
=============
คำแนะนำ:
กำหนดเวลาหรือคิด! อันดับแรกคืออะไร? o อะไรสำคัญกว่ากัน?
ไม่ต้องสงสัยเลยว่าเมื่อเราเริ่มเขียนโปรแกรมสิ่งแรกที่เราควรเรียนรู้คืออัลกอริทึมหรือโฟลว์ไดอะแกรมเป็นฐานทางทฤษฎีในการเรียนรู้ตรรกะและคณิตศาสตร์เพื่อเพิ่มเหตุผลเชิงตรรกะและคณิตศาสตร์ของเราอย่างไรก็ตามนี่เป็นพื้นฐานที่เพียงพอหรือเพียงพอในการเริ่มเขียนโปรแกรม . เข้าใจว่า เรียนรู้การเขียนโปรแกรม มันไม่เพียงพอจำเป็น เรียนรู้ที่จะคิด
ในภาษาการเขียนโปรแกรมใดที่ฉันควรเริ่มต้นเพื่อให้ได้มาซึ่งการเรียนรู้อย่างรวดเร็วในการเขียนโปรแกรม
นี่เป็นคำถามบังคับที่เราทุกคนถามตัวเองเมื่อเริ่มต้นในโลกมหัศจรรย์ของการเขียนโปรแกรม แต่ไม่ใช่คำถามแรกที่ถูกต้องที่เราควรถามตัวเอง แต่:
ฉันมีความสามารถในการวิเคราะห์ที่จำเป็นในการวิเคราะห์ปัญหาสกัดองค์ประกอบและดูการตอบสนองหรือไม่
และแน่นอนว่าการเรียนรู้การเขียนโปรแกรมด้วยภาษาที่ใช้บ่อยที่สุดหรือมีประสิทธิภาพนั้นมีประโยชน์มากมาย เนื่องจากมีเครื่องมือที่จำเป็นในการพัฒนาแอปพลิเคชันของเราเองจึงช่วยให้เราพบปัญหาในอุปกรณ์เทคโนโลยีและเปิดประตูให้เราในตลาดงาน แต่การเขียนโปรแกรมเป็นเพียงส่วนเล็ก ๆ ของวิทยาการคอมพิวเตอร์
ในขณะที่ โปรแกรมหรือเขียนโค้ด ประกอบด้วยการสอนคอมพิวเตอร์ (ผ่านแอพพลิเคชั่นซอฟต์แวร์หรือระบบ) เพื่อดำเนินการเฉพาะหลังจากก ตัวเลือก X ดำเนินการโดยผู้ดำเนินการหรือก เหตุการณ์ X โดยหรือภายในฮาร์ดแวร์หรือซอฟต์แวร์เดียวกันที่รองรับ หลักการของวิทยาการคอมพิวเตอร์ (สารสนเทศ / ระบบ) พวกเขาสอนให้เรารู้ทักษะการใช้เหตุผลและตรรกะที่มีประโยชน์ในด้านอื่น ๆ นอกเหนือจากเทคโนโลยี โดยพื้นฐานแล้ววิทยาศาสตร์คอมพิวเตอร์จะสอนวิธีการประมวลผลและแสดงข้อมูล
ดังนั้นฉันถือว่านี่เป็นวิธีที่เหมาะสมที่สุด เรียนรู้การเขียนโปรแกรม
ฉันอธิบายโดยยกตัวอย่างโพสต์อื่นนี้เรียกว่า อย่าเรียนรู้ที่จะเขียนโค้ด เรียนรู้ที่จะคิด» de Yevgeny Brikmanซึ่งวิศวกรคนนี้สรุปความแตกต่างระหว่างการรู้วิธีเขียนโปรแกรมและการรู้วิธีคิดแบบนักวิทยาศาสตร์คอมพิวเตอร์ด้วยการเปรียบเทียบนี้:
อย่างไรก็ตามเทคโนโลยีเป็นที่แพร่หลาย แต่สิ่งนี้ไม่ได้ทำให้เราเรียนรู้ได้เมื่อเราศึกษาในศูนย์การเรียนรู้ ตัวอย่างเช่นเราสามารถใช้เวลาเกือบทุกคนในชีวิตที่เคยบินบนเครื่องบิน แต่จากที่นั่นเพื่อให้ได้ใบอนุญาตนักบินมีหนทางอีกยาวไกลซึ่งโดยทั่วไปไม่ได้เป็นส่วนหนึ่งของ การศึกษาอย่างเป็นทางการของบุคคล แต่เป็นการศึกษาเฉพาะด้าน
อธิบายในรายละเอียดเพิ่มเติมซึ่งหมายความว่าความรู้ที่ใคร ๆ ก็อาจมีเกี่ยวกับการทำงานของเครื่องบินโดยพื้นฐานแล้วพวกเราหลายคนได้รับจากการศึกษาระดับมัธยมศึกษาและมหาวิทยาลัยหรือในอาชีพด้านเทคนิค (วิศวกรรม) เช่นฟิสิกส์และคณิตศาสตร์ที่ช่วยให้เรา ทำความเข้าใจว่าแรงที่เกิดขึ้นในเที่ยวบินและองค์ประกอบภายนอกเช่นแรงโน้มถ่วงความดันบรรยากาศความเร็วแรงเสียดทานหรือแรงยกอย่างไร และเช่นเดียวกับที่ชีววิทยาช่วยให้เราเข้าใจว่ามนุษย์มีพฤติกรรมอย่างไรที่ความสูง X หรือผลกระทบจากการขาดออกซิเจนและความเย็นจัด หรือเรื่องราวที่ทำให้เรารู้ถึงกระบวนการที่ก่อให้เกิดการสร้างเครื่องบินขึ้นและมีบทบาทอย่างไรในการขนส่งและการพาณิชย์ ความรู้ทั้งหมดเหล่านี้ได้มารวมกันในศูนย์การสอนจากความรู้ด้านต่างๆทำให้เรามีแนวคิดทั่วไปว่าเครื่องบินคืออะไรและทำงานอย่างไร วิชาทั่วไปช่วยให้เราเข้าใจปัญหาที่หลากหลายรวมถึงวิธีการบินของเครื่องบิน สิ่งที่แตกต่างอย่างมากจากวิชาเฉพาะที่สอนให้คุณใช้งานเครื่องใดเครื่องหนึ่งเท่านั้นซึ่งก็คือเครื่องบินประเภทหนึ่ง ดังนั้นด้วยเหตุผลเดียวกันเราควรมุ่งเน้นไปที่การเรียนวิทยาศาสตร์คอมพิวเตอร์ไม่ใช่แค่การเขียนโปรแกรม เนื่องจากในขณะที่วิทยาการคอมพิวเตอร์สอนเราทั่วโลกให้คิดในแง่ทั่วไป (เชิงระบบ) การเขียนโปรแกรมเป็นเพียงเครื่องมือที่ช่วยให้เราแปลความคิดหรือปัญหา Y ผ่านรหัส X ซึ่งวิเคราะห์ก่อนหน้านี้ (อย่างถูกต้องหรือไม่ถูกต้อง)
มุมมองนี้และอื่น ๆ อีกมากมายที่สนับสนุนโดย Yevgeny Brikman ในโพสต์ของเขาเกี่ยวกับอะไร โครงการ เป็นเพียงส่วนหนึ่งของความรู้ที่กว้างขึ้นซึ่งฝังอยู่ในไฟล์ วิทยาการคอมพิวเตอร์ซึ่งจำเป็นสำหรับโปรแกรมเมอร์ทุกคน
สุดท้ายอย่าลืมพัฒนาตนเองด้วยการเรียนรู้เกี่ยวกับคำสั่งที่สำคัญที่สุดของ GNU / Linux เพื่อพัฒนาความรู้ที่จะใช้ในภายหลังและทุกสิ่งที่นำเสนอที่นี่เกี่ยวกับการพัฒนาบางอย่าง โมดูลฟังก์ชันตัวแปรคำสั่งหรือการกระทำ โดยทั่วไปสามารถดำเนินการได้หลายวิธีหรือวิธีอื่นแตกต่างจากที่อธิบายไว้ที่นี่
ด้านล่าง a Screencast สร้างโดยฉันซึ่งคุณสามารถดูว่าโมดูลนี้ดำเนินการอย่างไรโมดูลก่อนหน้าหรือถัดไปจะได้รับการสอนเพื่อให้คุณสามารถเห็นศักยภาพของเชลล์สคริปต์ในระดับปานกลาง (ไม่ใช่ขั้นสูง):
(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - ส่วนที่ 2
ที่จะมีถ้าฉันเข้าใจมันอย่างถูกต้อง คุณขอให้ผู้ใช้ป้อนชื่อผู้ใช้ ... สบายดี และหลังจากที่คุณป้อนรหัสผ่านของคุณ ... และปรากฎว่ารหัสผ่านคือ "lpi * sb8" ... และเป็น "ฮาร์ดโค้ด" ในสคริปต์
หากผู้ใช้มีสิทธิ์อ่านสคริปต์…บิงโก !! …พวกเขารู้แล้วว่าต้องป้อนชื่อผู้ใช้และรหัสผ่านใด !!!
ฉันไม่รู้ว่าฉันทำผิดเกี่ยวกับบางอย่าง ... แต่ถ้าเป็นเช่นนั้นก็ไม่ปลอดภัยมาก ...
จริง! ฉันให้วิธีการตอนนี้แต่ละคนมีความอยากรู้อยากเห็นโดยธรรมชาติซึ่งเป็นลักษณะของเผ่าพันธุ์มนุษย์ต้องแสวงหาความสมบูรณ์แบบหรือการเสริมสร้างความแข็งแกร่งในแนวความปลอดภัย