Найти тему
Закреплено автором
BASH DAYS | Linux Factory
Мои проекты, присоединяйся.
163 · 1 год назад
Айти убивает!
Господа и дамы, если сидите за компьютером, не забрасывайте ноги на стол и т.п. Будущее такое — искривление жопы, защемление нервов, невролог, мягкая подушка в виде ободка унитаза и не пойми еще что после мрт. Наверное витамин Б, физкультура и какой-нибудь Бруфен с пластырями-гасителями. Технический пост будет завтра. Кому по домашкам не ответил, завтра с утра напишу, сорян. День 3.14здень, я в шоке, где мои 17 лет на Большом Каретном...
7 месяцев назад
Как получить root на любом Linux сервере
Сегодня расскажу как пентестеры и черношляпы повышают привелегии на Linux машинах и получают root доступ. Без уязвимостей и эксплоитов. Подпишись на нас в телеграм:
249 читали · 10 месяцев назад
95% айти специалистов не используют весь потенциал командной строки, и зря.
На канале Bashdays ты найдешь авторские Linux шедевры. Действующий девопс-инженер, самобытно и с долей юмора, затрагивает инсайдерские темы: - Рекавери файлов через grep - Заговор или дырявые файлы -...
265 читали · 1 год назад
Как определить, выполняется ли Bash скрипт через pipe?
Тадам! Сегодня научимся определять, отправляется ли стандартный вывод скрипта в терминал либо передается с помощью pipe в другой скрипт/утилиту. Чтобы стало понятнее, нужно читать дальше. Есть у меня некий Bash скрипт, пусть будет таким: Если его выполнить, то на экран выведется ожидаемый результат. Но что если я хочу добавить логику в этот скрипт, которая будет детектить pipe и отдавать другой ожидаемый результат? Давай по порядку, смотри: Этот скрипт выведет строку Hello Bashdays Welcome, где слово Bashdays будет жирным (bold)...
114 читали · 1 год назад
Хитрости с pipe в Bash и exit кодами
Сегодня про хитрости с пайпами и кодами завершения в Bash. Максимально упрощаю, чтобы стало понятнее. Собираем такую команду: Если после её выполнения сделать: echo $?, то получим статус выхода 0. То есть у нас есть статус завершения именно команды true. НО теперь узнать с каким кодом завершилась первая команда false? А вот так, модифицируем команду: В этом случае будет получен код завершения 1, который справедлив для команды false. Как ты можешь заметить, если в PIPESTATUS изменить [0] на [1], мы снова получим статус завершения 0 (то есть для true)...
104 читали · 1 год назад
Как восстановить задачи из cron
Как легко и быстро восстановить случайно удалённый crontab файл со всеми задачами. Аналогично можно восстанавливать любые файлы в linux. Занятный случай приключился у клиента. На скрине думаю понятно, что произошло. Добро пожаловать в Linux! Эту задачу мне удалось решить за несколько минут, не имея бэкапов я восстановил ему этот удаленный файл. Как раз способом из этого поста 👇👇👇 Если кратко, я глянул в логи /var/log/cron, взял рандомную таску которая выполнялась ранее и вбил: Соответственно console import:reports это часть таски, которая когда-то выполнялась...
162 читали · 1 год назад
Как отключить логи в Linux
Сегодня рассмотрим кейс, с помощью которого ты сможешь полностью отключить логирование в linux. Во времена динозавров, мне удалось поработать в профильных компаниях, которые занимаются информационной безопасностью и тестированием инфраструктуры клиентов на проникновение. Однажды обратился клиент, которому злые еноты вынесли инфраструктуру. И когда мы полезли разбирать инцидент, на серверах отсутствовали логи, их просто не было. Их не удалили, их отключили. Тогда еще никто не парился со всякими ELK, да и может таких решений и не существовало вовсе...
636 читали · 1 год назад
Изучаем $@ и $* в Bash
Ты всяко знаешь про специальные переменные со знаком $. Держу пари, знаешь только про базовые и часто используемые, типа $? и $1. Сегодня рассмотрим еще парочку $@ и $*. Эти специальные переменные по сути выполняют одну и туже задачу: выводят список всех аргументов переданных скрипту. Но естественно есть различия в их использовании. Голову не грей, теория всегда душная, сейчас на примерах рассмотрим и всё у тебя в голове сложится как надо. Начнем с $@, накидываем скрипт: Запускаем так: На экран выводится: Видим что каждый аргумент у нас вывелся отдельным словом...
314 читали · 1 год назад
Как работает export в Bash
Не все понимают чем отличается определение переменной в Bash c export и без. Сейчас расскажу, чтобы ты больше не сомневался. Вот и до наших краёв донеслась снежная стихия, какая-то «Ольга». Ну хоть не «Арбузова». С названием переменных явно не заморачивались. Ну да ладно, сегодня тоже будет про переменные в Bash. Есть 2 распространенных способа объявить переменную: Что тут не так? А тут всё так. Только в первом случае я использую export, чтобы сделать переменную доступной для подпроцессов. То есть,...
196 читали · 1 год назад
Секреты в артах
Привет. Разгребал тут мамонтовский сервер и нашел исходник с таким артом. Думаешь это всего лишь картинка из архивов старого фидошника? Ничего подобного, это Acme EyeDrops. Visual Programming in Perl. В арте зашит вполне рабочий perl код. Если сохранить эту картинку в файл и затем выполнить его через интерпретатор, ты получишь секретное сообщение. perl ./verblud.pl Сам код этого арта, сгенерирован с помощью модуля Acme::EyeDrops. Кстати на странице модуля много примеров с такими картинками (верблюды,...
114 читали · 1 год назад
Как подружить docker и iptables
Почему перестают работать очевидные правила iptables на хостовой машине, если на сервере запущены какие-либо docker контейнеры? Давай разбираться. Если коротко, то когда ты запускаешь docker контейнеры, то все начинает работать через одно место, по правилам маршрутизации самого docker’а. И плевать он хотел что у тебя там на хостовой машине было ранее сконфигурировано в плане безопасности. Давай рассмотрим на примере как с этим можно побороться. Вводные: На сервере крутится контейнер nginx, порты 80 и 443 смотрят в мир, то есть открыты для всех...
255 читали · 1 год назад
Как быстро поделиться файлом
Консольная фича с помощью которой можно легко передавать разработчикам нужные им файлы с серверов. Частенько меня просят скинуть какой-нибудь огрызок лога, выгрузку и т.п. Тут алгоритм простой: - зашел на сервер по ssh - нашел/сделал то, что нужно передать - если файл большой, то сжать - вспомнить синтаксис scp - на локальной машине натыкать команду чтобы забрать себе этот файл scp -r user@bashdayz:/tmp/nginx.log /home/user/tmp/ - скинуть файл человеку в слак/маттермост - если файл большой,...
1 год назад