- 1
- 2
- 3
- 4
- 5
- 6
- 7
#!/bin/sh
IFS=:
echo "Login\tUID"
while read LOGIN _ UID _;
do
echo "$LOGIN\t$UID"
done < /etc/passwd
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
#!/bin/sh
IFS=:
echo "Login\tUID"
while read LOGIN _ UID _;
do
echo "$LOGIN\t$UID"
done < /etc/passwd
давайте обсуждать шелл-программирование
шелл
Шёл издалека,
Шёл под красным знаменем
Командир полка.
Голова повязана,
Кровь на рукаве,
След кровавый стелется
По сырой земле.
В серой шинели рядового шёл солдат.
Шёл солдат, преград не зная,
Шёл солдат, друзей теряя,
Часто бывало, шёл без привала,
Шёл вперед солдат.
Шёл он ночами грозовыми, в дождь и град,
Песню с друзьями фронтовыми пел солдат.
Пел солдат, глотая слёзы,
Пел про русские берёзы,
Про карие очи, про дом свой отчий
Пел в пути солдат.
Уходит рота солдат
И я ещё пройти смогу,
Солёный Тихий океан
И тундру, и тайгу.
Ночкой тёмной тихо пойдём.
Мы пойдём с конём по полю вдвоём,
Мы пойдём с конём по полю вдвоём.
Ночью в поле звёзд благодать...
В поле никого не видать.
Только мы с конём по полю идём,
Только мы с конём по полю идём.
Сяду я верхом на коня,
Ты неси по полю меня.
По бескрайнему полю моему,
По бескрайнему полю моему.
Дай-ка я разок посмотрю -
Где рождает поле зарю.
Аль брусничный цвет, алый да рассвет,
Али есть то место, али его нет.
Полюшко моё, родники,
Дальних деревень огоньки,
Золотая рожь да кудрявый лён -
Я влюблён в тебя, Россия, влюблён.
Будет добрым год-хлебород,
Было всяко, всяко пройдёт.
Пой, златая рожь, пой кудрявый лён,
Пой о том, как я в Россию влюблён!
Пой, златая рожь, пой кудрявый лён...
Мы идем с конем по полю вдвоем...
А летом лучше, чем зимой.
С войной покончили мы счеты,
С войной покончили мы счеты,
С войной покончили мы счеты, —
Бери шинель, пошли домой!
Война нас гнула и косила,
Пришел конец и ей самой.
Четыре года мать без сына,
Четыре года мать без сына,
Четыре года мать без сына, —
Бери шинель, пошли домой!
К золе и к пеплу наших улиц
Опять, опять, товарищ мой,
Скворцы пропавшие вернулись,
Скворцы пропавшие вернулись,
Скворцы пропавшие вернулись, —
Бери шинель, пошли домой!
А ты с закрытыми очами
Спишь под фанерною звездой.
Вставай, вставай, однополчанин,
Вставай, вставай, однополчанин,
Вставай, вставай, однополчанин, —
Бери шинель пошли домой!
Что я скажу твоим домашним,
Как встану я перед вдовой?
Неужто клясться днем вчерашним,
Неужто клясться днем вчерашним,
Неужто клясться днем вчерашним, —
Бери шинель пошли домой!
Мы все — войны шальные дети,
И генерал, и рядовой.
Опять весна на белом свете,
Опять весна на белом свете,
Опять весна на белом свете, —
Бери шинель, пошли домой!
И на воду синюю гляжу
Вдруг ко мне подходит хренотень
Синяя фуражка набекрень
Документы требует найти
И куда-то требует пройти
Пошёл нахуй, пошёл нахуй
Пошёл нахуй, пидорас!
Пошёл нахуй, пошёл нахуй
Пошёл нахуй, пидорас!
Я в районе солнечном живу
Я люблю зеленую траву
Но пришла по почте хренотень
Что прийти я должен в тот же день
Пишет мне зеленый человек
Что в казарме буду я навек
Пошёл нахуй, пошёл нахуй
Пошёл нахуй, пидорас!
Пошёл нахуй, пошёл нахуй
Пошёл нахуй, пидорас!
Я по свету белому хожу
Я простое счастье нахожу
Но стучится в двери хренотень
Принесла мне белый бюлетень
Требует, чтоб я голосовал
За кого начальник приказал
Пошёл нахуй, пошёл нахуй
Пошёл нахуй, пидорас!
Пошёл нахуй, пошёл нахуй
Пошёл нахуй, пидорас!
Not a footprint to be seen
A kingdom of isolation
And it looks like I'm the queen
The wind is howling like this swirling storm inside
Couldn't keep it in, Heaven knows I've tried
Don't let them in, don't let them see
Be the good girl you always have to be
Conceal, don't feel, don't let them know
Well, now they know!
Let it go, let it go
Can't hold it back anymore
Let it go, let it go
Turn away and slam the door!
I don't care what they're going to say
Let the storm rage on
The cold never bothered me anyway
It's funny how some distance
Makes everything seem small
And the fears that once controlled me
Can't get to me at all!
It's time to see what I can do
To test the limits and break through
No right, no wrong, no rules for me
I'm free!
Let it go, let it go
I'm one with the wind and sky
Let it go, let it go
You'll never see me cry
Here I stand, and here I'll stay
Let the storm rage on!
My power flurries through the air into the ground
My soul is spiraling in frozen fractals all around
And one thought crystallizes like an icy blast
I'm never going back, the past is in the past!
Let it go, let it go
And I'll rise like the break of dawn
Let it go, let it go
That perfect girl is gone
Here I stand in the light of day
Let the storm rage on!
The cold never bothered me anyway
Вынул пейджер из кормана.
Пейджер пик и Децл здох.
Потому что Децл лох.
Выходной... Пойти погулять? - Пойдём гулять!
У меня в кармане честная сотня,
Надо бы её разменять... - Давай, давай!
А я с младенчества охоч до забавы,
Полюбуюсь на воскресный народ. - А ну, веселей!
Песни, пляски у Крестьянской заставы,
Девки у Покровских ворот.
Улочки московские
Спасские, Петровские.
Я люблю вас, улочки,
Улочки-шкатулочки.
Улочки московские,
Вешне-Вешняковские.
Я люблю вас, улочки,
Улочки мои.
Улочки московские
Спасские, Петровские.
Звонкие Кузьминские,
Бойкие Люблинские,
Шпанские, Таганские,
Милые Мещанские,
Улочки-шкатулочки,
Девочки мои!
От Таганочки до гор Воробьёвых
На трамвайчике речном прокачусь. - Погодка вовсю!
На Смоленки встречу я девушек клёвых,
Может им на что-то сгожусь. - Пивка для рывка!
Позвоню от Белорусского Кате.
Каты нет,- ответит грузин. "Зачэм звоныш, слыш?!"
Пообедаю на Старом Арбате,
Много есть еще Екатерин. - Наташ, Марин!
Улочки московские
Спасские, Петровские.
Я люблю вас, улочки,
Улочки-шкатулочки.
Улочки московские,
Вешне-Вешняковские.
Я люблю вас, улочки,
Улочки мои.
Улочки московские
Спасские, Петровские.
Звонкие Кузьминские,
Бойкие Люблинские,
Шпанские, Таганские,
Милые Мещанские,
Улочки-шкатулочки,
Девочки мои!
Возле ГУМа раскурю сигаретку,
Вспомню годы заводные свои. - "Торпедо" Москва!
Где ж вы, прежние победы и беды,
Однокашники веселые мои?... - Ну, давай, давай...
Эх, недаром расчудилась погодка,
Я по прошлым адресатам пройдусь,
У меня в кармане честная сотня,
И сегодня я, кажись, надерусь!
Улочки московские
Спасские, Петровские.
Я люблю вас, улочки,
Улочки-шкатулочки.
Улочки московские,
Вешне-Вешняковские.
Я люблю вас, улочки,
Улочки мои.
Я шёл по мокрым лужам,
По скользкой мостовой
Ногами снег утюжил.
А мокрый снег падал,
А я шёл домой
По зимнему саду,
По пустой мостовой.
Он шёл со мной рядом,
Шпионил за мной,
Следил за мной взглядом
Бесшумный конвой.
Девушке дорогу уступает светофор.
Сверху улыбается воздушный постовой.
Девушка в ответ ему кивает головой.
А где-нибудь за городом идёт весенний лёд.
Девушке навстречу расступается народ.
Девушка по Пушкинской на Ленинский в обход.
Следом по каналу проплывает пароход.
А за окном мелькают дни,
Они как взлётные огни,
Одни заметны с высоты,
Другие вовсе не видны.
А на дворе цветёт весна.
Она в кого-то влюблена,
А этот кто-то за окном
Сидит и видит день за днём.
Как девушка по городу шагает босяком,
По скверам и по улицам порхает мотыльком.
Девушка ныряет через арку напролёт.
Солнце пригревает, сердце девушки поёт
Как за окном мелькают дни.
Они как птицы далеки.
Одни витают в облаках,
Другие вовсе не видны.
А на дворе цветёт весна.
Она в кого-то влюблена,
А этот кто-то за окном
Сидит и видит день за днём.
Стандартный фаерволл брандмауэр в «Windows» у айпических таблиц сосёт с заглотом — чтобы сделать хоть сколько-нибудь сложные правила, надо ебаться с «WFP» или скачивать стороннее говно. Правда, сосёт он на домашней версии, которая для серверов не предназначена (в отличие от) — а как там на «Windows Server» я не знаю.
Ну да.
> iptables конечно крутой, но идея таблиц (будет честны) довольно мутная, и мало приятная
Не соглашусь. На мой взгляд, разделение правил на таблицы позволяет очень гибко и тонко настраивать фильтрацию. Очень хороший пример — таблица «raw», в которой можно послать к хуям вредные пакеты ещё до того, как о них в системе узнает что-то ещё (в частности, «conntrack»). Это позволяет прилично сэкономить ресурсы.
Ну а огромное количество полезных расширений к айпическим таблицам позволяет творить просто-то таки охуительные вещи (когда-то давно пилил на них прозрачную банилку для одной древней игрушки, лол).
> отдельные тулы для шейпинга
Так это и не задача фаерволла, нет?
> отдельные тулы для фильтрации по канальному уровню
Что ты имеешь в виду?
> отсутствие API
Вот это да, самое большое говно.
> то сразу становится понятно, зачем убунтовцы напилили поверх свой ufw, а редхатовцы -- firewalld
Не думаю, что из-за отсутствия встроенного шейпера (его и в упомянутых продуктах нет, ЕМНИП). Скорее — из-за излишней «низкоуровневости» айпических таблиц. Я соглашусь, что в повседневной деятельности гораздо чаще возникает необходимость просто заблочить какого-нибудь китайского пидораса или закрыть порты, чем рейт-лимитить пакеты по их содержимому и флагам в L2 заголовке. И в этом отношении, действительно, куда проще написать какое-нибудь «ufw deny from 1.4.8.8 to any», чем ебаться с -m set (заводить по одному правилу на каждый вредный айпишник — прекрасный способ выстрелить себе в ногу).
Я не думаю, что при необходимости запомнить эту картинку сложнее, чем, например, вспоминать, в каком порядке надо прописывать, например, все эти «from to deny any».
> Rate_limiting_matchings
Так ты об этом… Ну так в айпических таблицах есть «-m hashlimit», причём он позволяет лимитировать по нескольким критериям (для каждого айпишника, например).
> ebtables
А, понял.
>>> The latest stable userspace release is version 2.0.10-4, released on December 15th, 2011
Какой багор )))
> Сложный, запутанный инструмент.
Самое то чтобы пердолиться!
Запрети при помощи него айпишникам из подсети 1.4.8.0/24 открывать больше пяти TCP-соединений в секунду (а для порта 21 — не больше двух, причём при нарушении нарушитель должен баниться на сутки).
А ещё на айпических таблицах можно реализовать «port knocking»: чтобы получить доступ к серверу, надо послать определённые пакеты на определённую последовательность портов. Полезно для параноидальной защиты «SSH», например.
Прогулки по минному полю.
Выходил он нищим на кулижку.
Старый дед на пне сухом, в дуброве,
Жамкал дёснами зачерствелую пышку.
Увидал дед нищего дорогой,
На тропинке, с клюшкою железной,
И подумал: «Вишь, какой убогой, —
Знать, от голода качается, болезный».
Подошел господь, скрывая скорбь и муку:
Видно, мол, сердца их не разбудишь...
И сказал старик, протягивая руку:
«На, пожуй... маленько крепче будешь».