В Linux есть ряд инс­тру­мен­тов с инте­рес­ной судь­бой: поч­ти все хоть раз видели резуль­тат их работы, но мало кто зна­ет, чем это было сде­лано. В этой статье мы рас­смот­рим нес­коль­ко таких ути­лит.
 

Генератор паролей

Ге­нера­торов паролей сей­час в избытке. Осо­бен­но удив­ляет мно­жес­тво веб‑при­ложе­ний для этой цели. Сер­вис random.org чес­тно приз­нает­ся, что генери­рует пароли на сто­роне сер­вера и исполь­зовать их для чего‑то серь­езно­го про­тиво­пока­зано. Дру­гие сер­висы заяв­ляют, буд­то генери­руют пароли локаль­но с помощью JavaScript, но сто­ит ли верить им на сло­во и гаран­тиру­ет ли их под­ход, что уте­чек мож­но не опа­сать­ся, — воп­рос неп­ростой.

В то же вре­мя генера­тор слу­чай­ных паролей при­сутс­тву­ет в репози­тори­ях всех дис­три­бути­вов Linux еще с девянос­тых и называ­ется pwgen. Мно­гие пароли, которые ты получал в сво­ей жиз­ни, с боль­шой веро­ятностью сге­нери­ровал имен­но он.

Что инте­рес­но, его автор — Те­одор Цо, тот самый, который раз­работал фай­ловую сис­тему ext2 и ее жур­налиру­емые вер­сии ext3 и ext4.

К при­меру, pwgen 16 1 сге­нери­рует один пароль из шес­тнад­цати сим­волов.

$ pwgen 16 1
iy1naeZeeNguchae

Ес­ли не ука­зывать вто­рой аргу­мент (количес­тво паролей), то по умол­чанию в инте­рак­тивном режиме pwgen сге­нери­рует целых восемь­десят паролей — четыре колон­ки по двад­цать строк. По замыс­лу авто­ров, это дол­жно защитить поль­зовате­ля от любите­лей заг­лядывать в чужой экран. Поль­зователь генери­рует целую таб­лицу паролей и копиру­ет или запоми­нает из нее один про­изволь­но. В этом слу­чае зло­умыш­ленник или не в меру любопыт­ный кол­лега по офи­су никак не смо­жет узнать, какой пароль из вось­ми десят­ков выб­рал поль­зователь. Во вре­мена мас­совой уда­лен­ной работы этот аргу­мент кажет­ся нес­коль­ко натяну­тым, да и вызыва­ет сом­нения, что пароли так уж прос­то запом­нить.

В сов­ремен­ных усло­виях куда полез­нее опция -s/--secure, которая генери­рует пол­ностью слу­чай­ные пароли без пре­тен­зий на удо­бочи­таемость. К ней же мож­но добавить -B/--ambiguous, которая исклю­чает из вывода похожие на вид сим­волы вро­де O/0 и 1/I.

$ pwgen -sB 16 1
PiVRps3erAngsmeb
 

Самораспаковывающиеся архивы

Проп­риетар­ные прог­раммы для Linux неред­ко рас­простра­няют­ся в виде исполня­емых уста­нов­щиков. Таким спо­собом их авто­ры избе­гают необ­ходимос­ти собирать более чем один фор­мат пакета. Прог­раммы на плат­формен­но незави­симых язы­ках вро­де Java так­же могут исполь­зовать один гра­фичес­кий уста­нов­щик на всех ОС — раз­лича­ется спо­соб его запус­ка.

Та­ким спо­собом рас­простра­нялись пакеты с драй­верами NVIDIA, некото­рые игры, зна­читель­ная часть пакетов Sun Microsystems / Oracle (NetBeans, SunStudio и дру­гие). Чаще все­го у них было рас­ширение .run, иног­да прос­то .sh.

Как пра­вило, такой уста­нов­щик пред­став­ляет собой саморас­паковы­вающий­ся архив. На Windows монолит­ные уста­нов­щики и саморас­паковы­вающиеся архи­вы обыч­но содер­жали дво­ичный код прог­раммы для рас­паков­ки архи­ва. UNIX-подоб­ные ОС всег­да вклю­чают в себя как минимум tar и gzip, как тре­бует стан­дарт POSIX, поэто­му мож­но обой­тись скрип­том на стан­дар­тном же Bourne shell.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    5 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии