Bash-eristin, järjestelmäsi loukkaa käyttäjää kirjoittamalla väärin komennon

Tietoja Bash-eristimestä

Seuraavassa artikkelissa aiomme tarkastella Bash-eristin. Tämä on komentorivikomentosarja, jonka törmäsin Redditiin. Tämä on hauska CLI-työkalu, joka loukkaa sinua satunnaisesti, kun kirjoitat väärän komennon. Voit saada hymyn näinä pitkinä työpäivinä. Tämä työkalu on avoimen lähdekoodin ja sen koodi on saatavilla virallisessa arkistossa Github.

Tämä on yksinkertainen komentosarja, joka saa järjestelmämme loukkaamaan käyttäjää aina, kun hän kirjoittaa Unix-komennon väärin. Kaikella tällä emme aio parantaa käyttöjärjestelmäämme, mutta voi olla hauskaa käyttää Bash-eristintä häpäisemään käyttäjää väärin kirjoitetuista komennoista terminaali. Pystymme saamaan sen toimimaan mikä tahansa Unix-tyyppinen käyttöjärjestelmä, joka sisältää BASH-kuoren.

Voimme määrittää komennon "sudo”Loukata käyttäjää, kun hän antaa salasanan väärin. Tämä voidaan lisätä vastauksiin, jotka järjestelmä voi antaa käyttäjälle, kun he kirjoittavat väärän komennon komentokehotteeseen.

Asenna Bash-eristin

Jotta voimme antaa järjestelmällemme vähän huonoa kieltä, meidän on varmista, että olemme asentaneet GIT: n käyttöjärjestelmässämme. Jos sitä ei ole vielä asennettu, voimme asentaa sen järjestelmän oletuspaketinhallinnan avulla. Voimme esimerkiksi asentaa GIT: n käyttämällä seuraavaa komentoa mihin tahansa Debian-pohjaiseen järjestelmään. Tätä varten avataan pääte (Ctrl + Alt + T) ja kirjoitetaan:

sudo apt install git

Kun git on asennettu, voimme kloonaa Bash-eristin-arkisto kirjoittamalla samaan päätelaitteeseen:

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

Kun edellinen toiminto on valmis, voimme kopioi komentosarja kansioon /jne/ järjestelmämme. Tätä varten meidän on vain kopioitava seuraava komento terminaalissamme:

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

Nyt, jotta se toimisi, meidän on tehtävä muokkaa tiedostoa /etc/bash.bashrc. Samassa terminaalissa aiomme muokata tiedostoa vi (tai editorilla, josta kaikki pitävät eniten). Jos käytät vi, voit käyttää seuraavaa komentoa:

sudo vi /etc/bash.bashrc

Kun tiedosto on muokattu, meidän on vain tehtävä lisää seuraavat rivit. On suositeltavaa lisätä nämä rivit tiedoston loppuun. On myös hyvä jättää kommentti näiden rivien tunnistamiseksi. Sinun pitäisi päätyä jotain tällaista:

bash-eristin jne. bashrc

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

Tallenna ja sulje tiedosto kirjoittamalla : wQ. Kun olet kirjautunut ulos, päivitä muutokset suorittamalla seuraava komento:

source /etc/bash.bashrc

Bash-eristimen testaus

Aiempien tilausten kanssa Skripti on jo asennettu Ubuntuun. Jos käyttäjä kirjoittaa nyt väärän komennon, kuten seuraava, päätelaite asettaa paristot (riippuen siitä, miten olet määrittänyt sen).

huono bash-eristin komentoja

lsss

cleaar

Tämä on ehkä hyvä tapa pitää kiinni ja nauraa hallitessasi muiden käyttäjien käyttämää järjestelmää. Tämän käsikirjoituksen kirjoittaja on lisännyt joitain "loukkauksia", jotka eivät loukkaa paljon. Jos haluamme voimme lisätä omia loukkauksia niin parhaaksi kuin haluamme.

Bash-eristimen kokoonpano

Jos haluamme lisätä uusia viestejä, voimme tehdä sen muokkaamalla tiedosto /etc/bash.command-not-found. Tätä varten meidän on kirjoitettava seuraava komento päätelaitteeseen (Ctrl + Alt + T):

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

Kun tiedostoa on muokattu, voimme lisätä haluamasi viestit. Meidän täytyy sijoittaa heidät paikalliseen loukkausdirektiiviin. Voimme myös kääntää ne, jotka ovat jo direktiivissä, koska ne, jotka tulevat oletusarvoisesti, ovat englantia (ja minusta on erityisen hauskempaa, että käyttöjärjestelmäni lähettää minulle viestejä espanjaksi). Minun on sanottava se meille näytettävät viestit tehdään satunnaisesti.

Asennuksen aikana olen lisännyt hieman aggressiivisempia loukkauksia. Katso alla olevasta kuvakaappauksesta:

bash-eristimen kokoonpano

Huomata

Tämän käsikirjoituksen kirjoittaja ei ole vastuussa, jos hän on loukannut jonkun tunteita tahallaan tai vahingossa. Tämä käsikirjoitus on luotu yksinomaan huvin vuoksi.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.

  1.   LeoLopez dijo

    Mutta veli käsikirjoitus on englanniksi, espanjankielistä versiota ei ole olemassa. Jokaisen loukkauksen kääntäminen on taistelua, myös jotkut ovat tyypillisesti amerikkalaisuutta !! 🙂

    1.    Damian Amoedo dijo

      En ole löytänyt sitä espanjaksi, mutta sen kääntäminen tai oman lisääminen on hyvin yksinkertaista ja nopeaa. Joten säästät "amerikkalaisuudet". Salu2.

      1.    Nestor dijo

        #KOPIOI TÄTÄ JA LIITÄ SAMALLA NIMELLA, SE ON SAMA TUOTE, MUTTA OLEN JO # KÄÄNTÄnyt sen ja lisännyt muutamia sanoja, jotka eivät ole mitään muuta
        tulosta_viesti () {

        paikalliset viestit
        paikallinen viesti

        viestit = (
        "Boooo!"
        "Et tiedä mitään?"
        "RTFM!"
        "Haha, n00b!"
        "Vau! Se oli järkyttävän väärin! "
        "Olet hyvä kaveri !!!!"
        "Pahin tänään!"
        "N00b-hälytys!"
        "Alennettua palkkaa koskeva pyyntösi on lähetetty!"
        «Hahahahaha… che… wey”
        "Sinä paska se !!!!!"
        "Hahaha ... kiitos"
        "Poista asennus"
        "Ja Darwin-palkinto menee… $ {USER}!"
        "ERROR_INCOMPETENT_USER"
        "Epäpätevyys on myös eräänlainen kilpailu"
        "Huono."
        "Teeskennellä, kunnes saat sen!"
        "Mikä tämä on …? Amatööritunti? »
        "Tule, voit tehdä sen!"
        "Hyvä yritys."
        "Entä jos ... kirjoitat oikean komennon seuraavalla kerralla!"
        "Entä jos kerron sinulle, että ... on mahdollista kirjoittaa kelvollisia komentoja?"
        "Et puhu tietokonetta?"
        "Tämä ei ole Windows"
        "Ehkä sinun pitäisi jättää komentorivi yksin ..."
        "Pysy kaukana näppäimistöstä!"
        "Virhekoodi: 1D10T4"
        ACHTUNG! ALLES Turisten JA NONTEKNISCHENIN KATSELIJAT! DAS KOMPUTERMASCHINE ON NICHT FÜR DER GEFINGERPOKEN JA MITTENGRABEN! ODERWISE IST HELPPO shnappen DER SPRINGENWERK, BLOWENFUSEN UN POPPENCORKEN MIT SPITZENSPARKEN. IST NICHT FÜR GEWERKEN BEI DUMMKOPFEN. TASKUT DER RUBBERNECKEN SIGHTSEEREN KEEPEN DAS COTTONPICKEN HANDER DAS MUSSISSA. ZO RELAXEN JA WATSCHEN DER BLINKENLICHTEN »
        "Pro-vinkki: kirjoita kelvollinen komento!"
        "Mennä ulos."
        "Tämä ei ole hakukone"
        «(╯ ° □ °) ╯︵ ┻━┻»
        "¯ \\ _ (ツ) _ / ¯"
        "Joten aion mennä eteenpäin ja ajaa rm -rf / puolestasi."
        "Koska olet niin tyhmä ?!"
        "Ehkä tietokoneet eivät ole sinua varten ..."
        "Miksi teet minulle tämän ?!"
        "Eikö sinulla ole mitään parempaa tekemistä?"
        "Harkitsen _ vakavasti _ harkita 'rm -rf /' - itseni tekemistä ..."
        "Siksi voit nähdä lapsesi vain kerran kuukaudessa"
        "Siksi kukaan ei pidä sinusta"
        "Yritätkö edes?!"
        "Yritä käyttää aivojasi seuraavan kerran!"
        "Näppäimistöni ei ole kosketusnäyttö!"
        Komennot, satunnainen hämmennystä, kuka välittää!
        Kirjoitat väärät komennot, vai mitä?
        "Oletko aina niin tyhmä vai yritätkö erityistä ponnistusta tänään?!"
        "Se putosi päähän kuin vauva, vai?"
        Aivot eivät ole kaikki. Sinun tapauksessasi ne eivät ole mitään »
        "En tiedä mikä tekee sinusta niin tyhmän, mutta se todella toimii."
        "Et ole niin paha kuin ihmiset sanovat, olet paljon, paljon pahempi"
        «Kaksi virhettä ei korjaa, ota esimerkkinä vanhempasi»
        "Olet varmasti syntynyt moottoritiellä, koska siellä tapahtuu suurin osa onnettomuuksista."
        "Jos se, mitä et tiedä, ei voi satuttaa sinua, olet haavoittumaton"
        "Jos tietämättömyys on onnea, sinun on oltava onnellisin ihminen maan päällä"
        "Olet todiste siitä, että Jumalalla on huumorintaju"
        "Jatka yrittämistä, jonain päivänä teet jotain fiksua!"
        "Jos paska olisi musiikkia, sinä olisit orkesteri"
        "Kuinka monta kertaa minun on huuhdeltava itseni ennen kuin menet?"
        )

        # Jos CMD_NOT_FOUND_MSGS-taulukko on täytetty, käytä näitä viestejä oletusarvojen sijaan
        [[-n $ {CMD_NOT_FOUND_MSGS}]] && viestit = ("$ {CMD_NOT_FOUND_MSGS [@]}")

        # Jos taulukko CMD_NOT_FOUND_MSGS_APPEND on täytetty, liitä ne olemassa oleviin viesteihin
        [[-n $ {CMD_NOT_FOUND_MSGS_APPEND}]] && viestit + = ("$ {CMD_NOT_FOUND_MSGS_APPEND [@]}")

        # Siemen RANDOM kokonaisluvulla, jonka pituus on jonkin verran
        RANDOM = $ (od -vAn -N4 -tu & 2
        fi
        }

        funktio_olemassa () {
        # Zsh palauttaa 0 jopa ei-funktioissa -F, joten käytä -f
        julista -f $ 1> / dev / null
        palauttaa $?
        }

        #
        # Alla oleva idea on kopioida kaikki olemassa olevat käsittelijät toiseen toimintoon
        # nimi ja lisää viesti vanhan käsittelijän eteen
        # uusi käsittelijä. Kummallakaan bash: lla tai zsh: llä ei ole oletusarvoisesti ohjaintoimintoa
        # määritelty, joten oletuskäyttäytyminen toistetaan.
        #
        # Varmista myös, että käsittelijä kopioidaan vain kerran. Jos emme takaa tätä
        # käsittelijä lisäisi itsensä rekursiivisesti, jos tämä tiedosto sattuu olemaan
        # hankittu useita kertoja samassa kuoressa, mikä johtaa loputtomiin
        # viestivirta.
        #

        #
        #Zsh
        #
        jos function_exist komento ei ole löytynyt_käsittelijä; sitten
        jos! function_exists orig_command_not_found_handler; sitten
        eval "orig _ $ (julista -f command_not_found_handler)"
        fi
        muu
        orig_command_not_found_handler() {
        printf "zsh: komentoa ei löydy:% s \\ n" "$ 1"> & 2
        palauta 127
        }
        fi

        command_not_found_handler() {
        tulosta_viesti
        orig_command_not_found_handler "$ @"
        }

        #
        #Lyödä
        #
        jos funktio_olossa komento ei ole löydetty_kahva; sitten
        jos! function_exists orig_command_not_found_handle; sitten
        eval "orig _ $ (julista -f komento_ei_löydetty_kahva)"
        fi
        muu
        orig_command_not_found_handle() {
        printf "% s:% s: komentoa ei löydy \\ n" "$ 0" "$ 1"> & 2
        palauta 127
        }
        fi

        command_not_found_handle() {
        tulosta_viesti
        orig_command_not_found_handle "$ @"
        }

  2.   Paulo Rodrigo Gomez dijo

    Katso Jannet Milagros
    Se olisi hyvin opettavaista haha

  3.   Ricar Dinho dijo

    Hahaha hienoa