GNU/Linux >> Znalost Linux >  >> Linux

Smažte zadané heslo ve výzvě skrytého hesla (Linux) pomocí zástupce

Celé napsané heslo můžete smazat pomocí Ctrl +U .


Na rozdíl od bash , ssh výzva k zadání hesla nepoužívá žádnou speciální knihovnu pro terminálové vstupy, jako je readline . Funkce pro úpravu řádků jsou pouze základní funkce pro úpravu řádků POSIX TTY.

Takže máte POSIX TTY v "vařeném" režimu (ne raw), neboli kanonickém režimu, a jediná editace řádku, která je k dispozici, je to, co poskytuje jádro. Viz stty(1) a všimněte si toho
kill = ^U . Zde je také definován znak backspace (erase = ^? ). Vymazání slov (^W ) se hodí, když nepíšete slepě.

lnext = ^V znamená, že můžete napsat control-v a pak cokoli (včetně control-c), abyste získali doslovný control-c.

Chcete-li odladit to, o co jste se pokoušeli naslepo, spusťte cat nebo cat > /dev/null ve vašem terminálu . Zadejte text a zjistěte, co funguje a co ne, abyste to mohli upravit.

readline (používá bash ) čte nezpracovaný znak a provádí úpravy řádku v uživatelském prostoru. Jeho výchozí vazby jsou však kompatibilní s výchozími řídicími znaky TTY pro podmnožinu funkcí úprav, které obě poskytují.

readline jde daleko za jednoduchou editaci řádků prostého TTY. (např. TTY může mazat pouze znaky na konci řádku, takže zde není ^a a delete nebo šipka doleva/doprava)

Když bash spustí příkaz v popředí, přepne TTY nejprve do kanonického režimu (protože to je výchozí nastavení). Takže běží stty -a (bez přesměrování) vždy uvidí svůj vlastní terminál v kanonickém režimu. Ale pokud přesměrujete vstup z nějakého jiného TTY, který má bash běží na něm, můžete vidět, jaká nastavení terminálu byla použita bash + readline. např. stty -a < /dev/pts/12 zobrazuje -icanon pro raw režim, protože mám bash běžící na tom terminálu. (Přepnul jsem na jinou kartu a spustil tty , pak použil cestu k souboru zařízení z prvního terminálu). Pokud jsem spustil cat v tom druhém terminálu bych viděl icanon pro kanonický režim.

Související:The TTY demystiified

https://www.gnu.org/software/libc/manual/html_node/Canonical-or-Not.html

https://en.wikipedia.org/wiki/POSIX_terminal_interface


Linux
  1. Použití slovních modifikátorů s historií Bash v Linuxu

  2. Automatizace hesel SSH v Linuxu pomocí sshpass

  3. Změna hesla systému Linux ve skriptu bash

  1. Zazimujte výzvu Bash v Linuxu

  2. Jak zkrátit Bash Prompt v Linuxu?

  3. Samba Mount s výzvou k zadání hesla jako uživatel bez oprávnění root?

  1. Smazat historii terminálu v Linuxu

  2. Linux Bash XMLLINT s XPATH

  3. Jak zkontrolovat heslo v Linuxu?