Shell Scripting - Part 5 kullanarak programınızı adım adım oluşturun

Bu turun önceki yayınlarında «Shell Scripting kullanarak programınızı adım adım oluşturun» Aşağıdaki modülleri nasıl uygulayacağımızı zaten ele aldık:

Kabuk Betiği

Şimdi bu yeni yayında aşağıdakilerin nasıl uygulanacağını göreceğiz:

ŞİFRELİ KULLANICI YETKİ MODÜLÜ

Programınızın modülü (bölümü) hangisi olmalıdır bu, yalnızca onu kullanmak için önceden tanımlanan kullanıcının veya kullanıcıların programınız için belirlenen işlemleri yürütmesini sağlamanıza olanak tanır. Söz konusu yetkili kullanıcılar için bir şifre içerebilir veya içermeyebilir. Bu durumda, kullanıcı adı ve şifre doğrulamalı birini keşfedeceğiz.

Bu modülü oluşturmak için şahsen aşağıdaki satırları ekliyorum:

Kodun altında:


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

Gördüğünüz gibi, bu modül önce mavi arka plana terminal ekranı için kullanıcının daha iyi görsel beğenisi, sonra yayar işitsel mesajlar ile konuşmak y görsel ile kaçırmak y Diyalog. Ardından komutu kullanarak bir döngü boyunca kadar için girilen değerin doğrular kullanıcı adı karşılaştırılmak geçerli kullanıcı değerleri önceden tanımlanmış, kullanıcıya sözcüğü yazarak programı doğru şekilde kapatma imkanı verir. GİT DIŞARI. Kullanıcı doğrulaması başarılı olursa, şifre ile aynı prosedürü uygulamaya devam edin. Başarılı olması durumunda sonlandırmak için kullanıcı ve Parolanın doğrulanması basit menü yapıldı Diyalog Kullanıcı X'in program sürecine devam etmek isteyip istemediğini sormak. Eğer öyleyse, basit bir aşamalı çubuk beklemek komutla bitti dava.

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

Tavsiye:

Planlayın veya düşünün! İlk nedir? o Daha önemli olan nedir?

Şüphesiz programlamaya başladığımızda öğrenmemiz gereken ilk şey, mantıksal-matematiksel muhakememizi artırmak için mantık ve matematiği öğrenmek için teorik temeller olarak algoritmalar veya akış diyagramlarıdır, ancak bu temel programlamaya başlamak için yeterli veya yeterlidir. Anlaşıldı Programlamayı Öğrenin, yeterli değil, gerekli Düşünmeyi Öğrenin.

HANGİ PROGRAM DİLİNDE PROGRAMI HIZLI ÖĞRENMEYE BAŞLAMAYA BAŞLAMALIYIM?

Bu kesinlikle, programlama dünyasının harika dünyasına başladığımızda kendimize sorduğumuz zorunlu bir sorudur. Ama kendimize sormamız gereken ilk doğru soru değil, ama:

BİR PROBLEMİ ANALİZ ETMEK, UNSURLARINI AYIRMAK VE BİR YANITI GÖRMEK İÇİN GEREKLİ ANALİTİK KAPASİTEYE SAHİP Mİ?

Ve kesinlikle en yaygın veya güçlü dillerden herhangi birinde programlamayı öğrenmenin pek çok inkar edilemez faydası vardır. Bize kendi uygulamalarımızı geliştirmemiz için gerekli araçları sağladığından, teknolojik cihazlardaki sorunları tespit etmemize yardımcı oluyor ve iş piyasasında bize kapılar açıyor, ancak programlama bilgisayar biliminin sadece küçük bir parçası.

Süre Kod programlayın veya yazın bir bilgisayara (bir uygulama, yazılım veya sistem aracılığıyla) belirli bir işlemi gerçekleştirmeyi öğretmekten oluşur. X seçeneği bir operatör veya bir Etkinlik X onu destekleyen Donanım veya Yazılım tarafından veya içinde; Bilgisayar Biliminin ilkeleri (Bilişim / Sistemler) bize teknoloji dışındaki alanlarda yararlı olan akıl yürütme ve mantık becerilerini öğretirler. Bilgisayar bilimi, özünde, bilgiyi nasıl işleyeceğini ve temsil edeceğini öğretir.

Bu nedenle, bunun en uygun yol olduğunu düşünüyorum. Programlamayı öğrenin.

Örnek olarak bu diğer gönderiyi açıklıyorum Kodlamayı öğrenmeyin. Düşünmeyi öğrenin » de Yevgeni Brikman, bu Mühendis kısaca bize nasıl programlanacağını bilmek ile bir bilgisayar bilimcisi gibi nasıl düşüneceğimizi bilmek arasındaki farkı ortaya koyuyor:

Bir teknoloji kadar her yerde bulunurken, bu, onu bir öğretim merkezinde okuduğumuzda öğrenmemizi sağlamaz. Örnek olarak, hayatın herhangi bir noktasında hemen hemen herkesin bir uçakla uçtuğunu alabiliriz, ancak oradan pilot lisansı almaya kadar gidecek çok uzun bir yol var, bu genellikle resmi çalışmaların bir parçası değil. bir kişi, ancak belirli bir alan üzerine çok özel çalışmalar.

Daha ayrıntılı olarak açıklanacak olursa, bu, temelde birçoğumuzun orta ve üniversite eğitiminde veya fizik ve matematik gibi herhangi bir teknik kariyerde (mühendislik), uçakların nasıl çalıştığı hakkında herkesin sahip olabileceği, kuvvetlerin nasıl olduğunu anlamamıza yardımcı olduğu anlamına gelir. uçuşta ve yerçekimi, atmosferik basınç, hız, sürtünme veya kaldırma gibi dış unsurlar. Ve tıpkı biyolojinin X yüksekliğinde bir insanın nasıl davrandığını veya oksijen eksikliği ve aşırı soğuktan nasıl etkilendiğini anlamamıza yardımcı olması gibi. Ya da uçakların nasıl yaratıldığını ve ulaşım ve ticarette oynadıkları rolü bilmemizi sağlayan hikaye. Bir eğitim merkezinde, çeşitli bilgi alanlarından elde edilen tüm bu bilgiler, bize bir uçağın ne olduğu ve nasıl çalıştığı hakkında genel bir fikir verir. Genel konular, uçakların nasıl uçtuğu da dahil olmak üzere çok çeşitli sorunları anlamamıza yardımcı olur. Size sadece bu makinelerden birini, bir uçağı çalıştırmayı öğreten özel bir konudan çok farklı bir şey. Bu nedenle, aynı sebepten dolayı, sadece programlamaya değil, Bilgisayar Bilimleri okumaya odaklanmalıyız. Bilgisayar Bilimi bize küresel olarak genel (sistemik) bir anlamda düşünmeyi öğretirken, programlama yalnızca bir fikri veya sorunu Y'yi daha önce analiz edilmiş (doğru veya yanlış) bir X kodu aracılığıyla çevirmemize izin veren bir araçtır.

Bu ve diğer birçok bakış açısı, Yevgeni Brikman yazısında ne hakkında Program bu, içine yerleştirilmiş daha geniş bir bilginin yalnızca bir parçasıdır Bilgisayar bilimi, her programcı için gereklidir.

Son olarak, en önemli komutları öğrenerek kendi kendine öğreneceğiniz şekilde ilerlemeyi unutmayın. GNU / Linux daha sonra kullanacakları bilgileri ilerletmeye devam etmek ve burada sunulan her şeyin bazılarının gelişimi hakkında modül, işlev, değişken, komut veya eylem genel olarak burada açıklananlardan farklı olarak farklı yollarla veya alternatif yöntemlerle gerçekleştirilebilir.

Aşağıda Benim tarafımdan yapılan ekran video kaydı, bu modülün nasıl yürütüldüğünü görebileceğiniz, önceki veya sonraki modüller öğretilecek, böylece Kabuk Komut Dosyası Oluşturma potansiyelini orta düzeyde görebilirsiniz (İleri değil)

LPI-SB8 Test Ekranı

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Bölüm 2


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Geçen başka biri dijo

    Doğru anladıysam sahip olmak. Kullanıcıdan kullanıcı adını girmesini istersiniz ... tamam. Ve parolanızı girdikten sonra ... ve parolanın "lpi * sb8" olduğu ... ve komut dosyasında "kodlanmış" olduğu ortaya çıkıyor.

    Kullanıcı komut dosyasına okuma erişimine sahipse… bingo !!… hangi kullanıcı adı ve parolayı girmeleri gerektiğini zaten biliyorlar !!!

    Bir konuda hata mı yaptım bilmiyorum ... ama eğer öyleyse, bu çok güvensiz ...

  2.   Jose Albert dijo

    Doğru! Şimdi bir yöntem verdim, insan ırkını karakterize eden o doğuştan gelen merakı olan herkes, onun mükemmelliğini veya güçlenmesini güvenlik hatlarında aramalı.