Bash-insulator, jūsų sistema įžeis vartotoją neteisingai parašiusi komandą

Apie Basho izoliatorių

Kitame straipsnyje mes pažvelgsime Bash-izoliatorius. Tai yra komandinės eilutės scenarijus, kurį aptikau „Reddit“. Tai yra įdomus CLI įrankis, kuris atsitiktinai įžeidžia, kai įvedate neteisingą komandą. Šiomis ilgomis darbo dienomis galite sulaukti šypsenos. Šis įrankis yra atviro kodo, o jo kodą galite rasti oficialioje GitHub.

Tai yra paprastas scenarijus, kuris privers mūsų sistemą įžeisti vartotoją kiekvieną kartą, kai neteisingai įvesite „Unix“ komandą. Visa tai mes neketiname tobulinti savo operacinės sistemos, tačiau gali būti labai smagu naudoti „Bash-inster“, kad sugėdintų vartotoją dėl bet kurios neteisingai parašytos komandos terminalas. Galėsime priversti tai veikti bet kuri „Unix“ tipo operacinė sistema, turinti „BASH Shell“.

Mes galime sukonfigūruoti komandą ": sudo“Įžeisti vartotoją, kai jis neteisingai įveda slaptažodį. Tai galima pridėti prie atsakymų, kuriuos sistema gali suteikti vartotojui, kai „shell“ eilutėje įveda neteisingą komandą.

Įdėkite Bash izoliatorių

Norėdami savo sistemai suteikti šiek tiek blogos kalbos, turėsime įsitikinkite, kad įdiegėme GIT mūsų operacinėje sistemoje. Jei dar neturime jos įdiegę, galime ją įdiegti naudodami numatytąjį sistemos paketų tvarkytuvę. Pavyzdžiui, mes galime įdiegti GIT naudodami šią komandą bet kurioje „Debian“ sistemoje. Norėdami tai padaryti, atidarome terminalą (Ctrl + Alt + T) ir parašome:

sudo apt install git

Įdiegę „git“ galėsime klonuoti Basho izoliatorių kapinyną rašyti tame pačiame terminale:

git clone https://github.com/hkbakke/bash-insulter.git bash-insulter

Baigę ankstesnį veiksmą, mes galime nukopijuoti scenarijų į aplanką / etc / mūsų sistemos. Norėdami tai padaryti, mes tiesiog turime nukopijuoti šią komandą savo terminale:

sudo cp bash-insulter/src/bash.command-not-found /etc/

Dabar, kad tai veiktų, turėsime redaguokite failą /etc/bash.bashrc. Tame pačiame terminale mes redaguosime failą naudodami „vi“ (arba redaktorių, kuris visiems labiausiai patinka). Jei naudojate „vi“, galite naudoti šią komandą:

sudo vi /etc/bash.bashrc

Redagavę failą, mums tereikės pridėkite šias eilutes. Šias eilutes rekomenduojama pridėti prie failo pabaigos. Taip pat verta palikti komentarą, kad būtų galima nustatyti, kokios yra šios eilutės. Galų gale turėtumėte kažką panašaus:

izoliatorius ir kt. bashrc

if [ -f /etc/bash.command-not-found ]; then
    . /etc/bash.command-not-found
fi

Įrašykite ir uždarykite failą įvesdami : wq. Kai atsijungsite, paleiskite šią komandą, kad atnaujintumėte pakeitimus:

source /etc/bash.bashrc

Bazinio izoliatoriaus bandymas

Su ankstesniais užsakymais Scenarijus jau įdiegtas mūsų „Ubuntu“. Dabar, jei vartotojas parašys neteisingą komandą, kaip nurodyta toliau, terminalas įdės baterijas (priklausomai nuo to, kaip ją sukonfigūravote).

blogos bash-inster komandos

lsss

cleaar

Tai galbūt yra geras būdas sulaikyti ir pasijuokti valdant kitų vartotojų naudojamą sistemą. Šio scenarijaus autorius pridėjo keletą „įžeidimų“, kurie nedaug žeidžia. Jei norime galėsime pridėti savo įžeidimų kaip tik norime.

Bash-inster konfigūracija

Jei norime pridėti naujų pranešimų, tai galime padaryti redaguodami failas /etc/bash.command-not-found. Tam turėsime parašyti šią komandą terminale (Ctrl + Alt + T):

sudo vi /etc/bash.command-not-found

Redagavę failą, galime pridėti norimus pranešimus. Mes turėsime įtraukti juos į vietos įžeidimų direktyvą. Taip pat galime išversti tuos, kurie jau yra direktyvoje, nes tie, kurie pagal numatytuosius nustatymus yra anglų kalba (ir man ypač smagu, kad mano operacinė sistema man siunčia pranešimus ispanų kalba). Turiu tai pasakyti mums rodomi pranešimai bus atliekami atsitiktinai.

Sąrankos metu pridėjau šiek tiek agresyvesnių įžeidimų. Žiūrėkite toliau pateiktoje ekrano kopijoje:

bazinio izoliatoriaus konfigūracija

Pranešimas

Šio scenarijaus autorius neatsako, jei tyčia ar netyčia įžeidė kažkieno jausmus. Šis scenarijus buvo sukurtas tik pramogai ir pramogoms.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   LeoLopezas sakė

    Bet brolis scenarijus yra anglų kalba, nėra ispaniško varianto. Tai yra kova išversti kiekvieną įžeidimą, taip pat kai kurie paprastai yra amerikietiški !! 🙂

    1.    Damianas Amoedo sakė

      Neradau ispanų kalba, bet išversti ar pridėti savo yra labai paprasta ir greita. Taigi jūs išsaugote „amerikonizmus“. Salu2.

      1.    Nestoras sakė

        #KOPIJUOKITE ŠIĄ IR ĮKLIJUOKITE SU TU PAVADINIMU, TAI yra tas pats failas, bet aš jau # išverčiau ir pridedu kelis žodžius, niekur kitur
        print_message() {

        vietiniai pranešimai
        vietinis pranešimas

        žinutės = (
        - Boooo!
        "Tu nieko nežinai?"
        "RTFM!"
        "Haha, n00b!"
        "Oho! Tai buvo šokiruojančiai neteisinga! "
        "Tu geras bičiukas !!!!"
        - Blogiausia šiandien!
        "N00b perspėjimas!"
        - Jūsų prašymas dėl sumažinto atlyginimo išsiųstas!
        «Hahahahaha ... che ... wey“
        - Tu šūdas !!!!!
        "Hahaha ... prašau"
        „Pašalinti prašau“
        "Ir Darvino premija skiriama ... $ {USER}!"
        „ERROR_INCOMPETENT_USER“
        „Nekompetencija taip pat yra konkurencijos forma“
        - Blogai.
        - Apsimesk, kol gausi!
        "Kas čia …? Mėgėjų valanda? »
        - Nagi, tu gali tai padaryti!
        "Geras bandymas."
        "Kas būtų, jei ... kitą kartą įvesite tikrą komandą!"
        "Ką daryti, jei aš jums pasakysiu, kad ... įmanoma įvesti galiojančias komandas?"
        - Tu nekalbi kompiuteriu?
        "Tai ne" Windows "
        "Gal turėtumėte palikti komandinę eilutę ramybėje ..."
        "Prašau laikytis atokiau nuo klaviatūros!"
        "Klaidos kodas: 1D10T4"
        ACHTUNG! ALLES Turisten UND NONTEKNISCHEN LOOKENPEEPERS! DAS KOMPUTERMASCHINE NICHT FÜR DER GEFINGERPOKEN UND MITTENGRABEN! „ODERWISE IST“ LENGVA „schnappen“ DER SPRINGENWERK, BLOWENFUSEN UND POPPENCORKEN MIT SPITZENSPARKEN. IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. KIŠTELIAI DER RUBBERNECKEN SIGHTSEEREN LAIKYTA DAS MEDVILNĖS RANKININKAS DAS MUSS. „ZO RELAXEN“ ir „WATSCHEN DER BLINKENLICHTEN“ »
        "Pro patarimas: įveskite galiojančią komandą!"
        - Išeiti į lauką.
        „Tai ne paieškos sistema“
        «(╯ ° □ °) ╯︵ ┻━┻»
        "¯ \\ _ (ツ) _ / ¯"
        "Taigi, aš eisiu į priekį ir paleisiu rm -rf / tau."
        - Nes tu toks kvailas ?!
        "Gal kompiuteriai netinka jums ..."
        - Kodėl tu man taip darai ?!
        - Ar tu neturi ką veikti geriau?
        "Aš _ rimtai_ svarstau" rm -rf / "- save ..."
        "Štai kodėl jūs galite pamatyti savo vaikus tik kartą per mėnesį"
        "Štai kodėl tu niekam nepatinki"
        - Jūs net bandote?!
        - Pabandykite kitą kartą pasitelkti smegenis!
        "Mano klaviatūra nėra jutiklinis ekranas!"
        Komandos, atsitiktinis žvilgsnis, kam rūpi!
        Įvedėte neteisingas komandas, ar ne?
        "Ar jūs visada toks kvailas, ar šiandien dedate ypatingas pastangas?!"
        - Tai krito tau ant galvos kaip kūdikis, a?
        Smegenys nėra viskas. Jūsų atveju jie yra niekai »
        - Nežinau, dėl ko tu toks kvailas, bet tai tikrai veikia.
        "Jūs nesate tokie blogi, kaip žmonės sako, esate daug, daug blogiau"
        «Dvi klaidos netaisomos, imkite pavyzdžiu savo tėvus»
        - Tikriausiai gimėte užmiestyje, nes būtent ten įvyksta daugiausia avarijų.
        „Jei tai, ko nežinai, negali tau pakenkti, tu esi nepažeidžiamas“
        „Jei nežinojimas yra laimė, tu turi būti laimingiausias žmogus žemėje“
        „Jūs esate įrodymas, kad Dievas turi humoro jausmą“
        - Toliau bandyk, vieną dieną padarysi ką nors protingo!
        "Jei šūdas būtų muzika, tu būtum orkestras"
        - Kiek kartų turiu skalauti, kol jūs einate?
        )

        # Jei užpildytas masyvas CMD_NOT_FOUND_MSGS, naudokite tuos pranešimus, o ne numatytuosius
        [[-n $ {CMD_NOT_FOUND_MSGS}]] ir& pranešimai = ("$ {CMD_NOT_FOUND_MSGS [@]}")

        # Jei užpildytas masyvas CMD_NOT_FOUND_MSGS_APPEND, pridėkite juos prie esamų pranešimų
        [[-n $ {CMD_NOT_FOUND_MSGS_APPEND}]] ir& pranešimai + = ("$ {CMD_NOT_FOUND_MSGS_APPEND [@]}")

        # Sėklos RANDOM su tam tikro ilgio sveikuoju skaičiumi
        NETINKAMA = $ (od -vAn -N4 -tu & 2
        fi
        }

        funkcija_egzistuoja () {
        # Zsh grąžina 0 net ir neegzistuojančiose funkcijose su -F, todėl naudokite -f
        paskelbti -f $ 1> / dev / null
        grąžinti $?
        }

        #
        # Toliau pateikiama idėja yra nukopijuoti visus esamus tvarkytuvus į kitą funkciją
        # vardas ir įterpkite pranešimą prieš senąjį tvarkytuvą
        # naujas tvarkytojas. Pagal numatytuosius nustatymus nei „bash“, nei „zsh“ neturi tvarkyklės funkcijos
        # apibrėžta, todėl numatytasis elgesys yra pakartojamas.
        #
        # Be to, įsitikinkite, kad tvarkytuvas nukopijuotas tik vieną kartą. Jei to neužtikrinsime
        # tvarkytojas pridėtų rekursyviai, jei šis failas būtų
        # kelis kartus iš to paties apvalkalo, todėl nesibaigia
        # pranešimų srautas.
        #

        #
        #Zsh
        #
        jei funkcija_egzistuoja komanda_ne_rasta_tvarkytojas; tada
        jei! function_exists orig_command_not_found_handler; tada
        eval "orig _ $ (paskelbti -f komandą_ne_rastas_handleris)"
        fi
        kitas
        orig_command_not_found_handler() {
        printf "zsh: komanda nerasta:% s \\ n" "$ 1"> & 2
        grįžti 127
        }
        fi

        command_not_found_handler() {
        print_message
        orig_command_not_found_handler "$ @"
        }

        #
        #Bash
        #
        jei funkcija_egzistuoja komanda_ne_rasta_rankis; tada
        jei! function_exists orig_command_not_found_handle; tada
        eval "orig _ $ (paskelbti -f komandą_ne_rasta_handle)"
        fi
        kitas
        orig_command_not_found_handle() {
        printf "% s:% s: komanda nerasta \\ n" "$ 0" "$ 1"> & 2
        grįžti 127
        }
        fi

        command_not_found_handle() {
        print_message
        orig_command_not_found_handle „$ @“
        }

  2.   Paulo Rodrigo Gomezas sakė

    Pažvelk į Jannet Milagros
    Tai būtų labai edukacinė haha

  3.   Ricaras Dinho sakė

    Hahaha puiku