🛠️ Редактируй JSON прямо в pipe: секретные инструменты
Эй, мастер автоматизации! 👋
Надоело копировать JSON в онлайн-форматтеры? Вот 6 инструментов, которые превратят работу с JSON в удовольствие прямо в терминале.
________________
Дополнительный материал:
🧠 - Инфраструктура как код: Создание и управление конфигурациями серверов
🧠 - CI/CD и автоматическая сборка: Интеграция непрерывной поставки и непрерывного развертывания
🧠 - CI/CD и автоматическая сборка: Создание пайплайнов сборки и развертывания
#инфографика@LinuxSkill #JSON@LinuxSkill #DevOps@LinuxSkill #Linux@LinuxSkill #API@LinuxSkill #Automation@LinuxSkill #CommandLine@LinuxSkill
Эй, мастер автоматизации! 👋
Надоело копировать JSON в онлайн-форматтеры? Вот 6 инструментов, которые превратят работу с JSON в удовольствие прямо в терминале.
________________
Дополнительный материал:
🧠 - Инфраструктура как код: Создание и управление конфигурациями серверов
🧠 - CI/CD и автоматическая сборка: Интеграция непрерывной поставки и непрерывного развертывания
🧠 - CI/CD и автоматическая сборка: Создание пайплайнов сборки и развертывания
#инфографика@LinuxSkill #JSON@LinuxSkill #DevOps@LinuxSkill #Linux@LinuxSkill #API@LinuxSkill #Automation@LinuxSkill #CommandLine@LinuxSkill
👍5🔥1
Вопрос №44 из теста Linux Essentials Certification: Which command would you use to get comprehensive documentation about any command in Linux? | Какую команду вы бы использовали для получения подробной документации о любой команде в Linux?
Anonymous Quiz
15%
help command
1%
get command
1%
locate command
81%
man command
3%
echo command
👍4👎4
Вопрос №45 из теста Linux Essentials Certification: While deleting all files beginning with the letter a there was still the file Access.txt left. Assuming that it had the correct ownership, why was it not deleted? | При удалении всех файлов, начинающихся
Anonymous Quiz
19%
Файл Access.txt вероятно был открыт другим приложением
3%
Файл Access.txt был скрытым
19%
rm должна была быть вызвана с опцией -R для удаления всех файлов
2%
Файлы с расширениями требуют особого обращения
58%
Имена файлов в Linux чувствительны к регистру
👍8👎3🔥1👀1
🚨 Простая проверка диска с алертом — настроишь за 1 минуту
👋 Привет, линуксоид!
Бывает, диск на проде забивается — и ты узнаёшь об этом, когда уже всё лежит.
Вот скрипт, который автоматически проверит заполнение и предупредит по почте, если всё плохо.
📌 Сохрани себе:
____________________
Дополнительный материал:
🧠 - Безопасность и сетевые аспекты: Защита сети и протоколов
🧠 - Сложные сценарии и решения: Работа с крупными и сложными проектами
🧠 - Сложные сценарии и решения: Решение проблем и отладка системы
#инфографика@LinuxSkill #Linux@LinuxSkill #Disk@LinuxSkill #Monitoring@LinuxSkill #SysAdmin@LinuxSkill #Bash@LinuxSkill #CLI@LinuxSkill
👋 Привет, линуксоид!
Бывает, диск на проде забивается — и ты узнаёшь об этом, когда уже всё лежит.
Вот скрипт, который автоматически проверит заполнение и предупредит по почте, если всё плохо.
📌 Сохрани себе:
# Set the maximum allowed disk space usage percentage
MAX=90
# Set the email address to receive alerts
EMAIL=user@example.com
# Set the partition to monitor (change accordingly, e.g., /dev/sda1)
PARTITION=/dev/sda1
# Get the current disk usage percentage and related information
USAGE_INFO=$(df -h ""$PARTITION"" | awk 'NR==2 {print $5, $1, $2, $3, $4}' | tr '\n' ' ')
USAGE=$(echo ""$USAGE_INFO"" | awk '{print int($1)}') # Remove the percentage sign
if [ ""$USAGE"" -gt ""$MAX"" ]; then
# Send an email alert with detailed disk usage information
echo -e ""Warning: Disk space usage on $PARTITION is $USAGE%.\n\nDisk Usage Information:\n$USAGE_INFO"" | \
mail -s ""Disk Space Alert on $HOSTNAME"" ""$EMAIL""
fi
____________________
Дополнительный материал:
🧠 - Безопасность и сетевые аспекты: Защита сети и протоколов
🧠 - Сложные сценарии и решения: Работа с крупными и сложными проектами
🧠 - Сложные сценарии и решения: Решение проблем и отладка системы
#инфографика@LinuxSkill #Linux@LinuxSkill #Disk@LinuxSkill #Monitoring@LinuxSkill #SysAdmin@LinuxSkill #Bash@LinuxSkill #CLI@LinuxSkill
👍13🔥2
🚀 Как одна команда
Привет, повелитель терминала! Задумывался ли ты, почему простая команда
🌐 Источник: unix.stackexchange.com
____________________
Дополнительный материал:
🧠 - Станьте мастером Linux с нашим Бесплатным курсом от Нуля до DevOps
🧠 - Загрузочный диспетчер GRUB: Путешествие в глубины системы
🧠 - Персонализируй свой GRUB: Искусство загрузки с удовольствием
#инфографика@LinuxSkill #Linux@LinuxSkill #Bash@LinuxSkill #Echo@LinuxSkill #SIGPIPE@LinuxSkill #OpenSource@LinuxSkill
echo ломает пайпы в LinuxПривет, повелитель терминала! Задумывался ли ты, почему простая команда
/bin/echo может сломать пайп, а встроенная echo в bash — нет? Давай разберёмся 👆🌐 Источник: unix.stackexchange.com
____________________
Дополнительный материал:
🧠 - Станьте мастером Linux с нашим Бесплатным курсом от Нуля до DevOps
🧠 - Загрузочный диспетчер GRUB: Путешествие в глубины системы
🧠 - Персонализируй свой GRUB: Искусство загрузки с удовольствием
#инфографика@LinuxSkill #Linux@LinuxSkill #Bash@LinuxSkill #Echo@LinuxSkill #SIGPIPE@LinuxSkill #OpenSource@LinuxSkill
👍5
🗂️ Как копировать файлы и папки с исключениями: продвинутые трюки с
Привет, повелитель терминала!
Иногда нужно скопировать содержимое папки, но исключить определённые файлы или папки. Классический
________________
Дополнительный материал:
🧠 - Великая Охота за /boot: Приключение GRUB в мире разделов!
🧠 - Загрузчик GRUB: Конфигурационная симфония в нескольких актах!
🧠 - Пробуждение через Wi-Fi: Волшебство WoWLAN
#инфографика@LinuxSkill #Linux@LinuxSkill #cp@LinuxSkill
cpПривет, повелитель терминала!
Иногда нужно скопировать содержимое папки, но исключить определённые файлы или папки. Классический
cp это напрямую не поддерживает, но есть несколько хитростей, которые помогут справиться. 👆________________
Дополнительный материал:
🧠 - Великая Охота за /boot: Приключение GRUB в мире разделов!
🧠 - Загрузчик GRUB: Конфигурационная симфония в нескольких актах!
🧠 - Пробуждение через Wi-Fi: Волшебство WoWLAN
#инфографика@LinuxSkill #Linux@LinuxSkill #cp@LinuxSkill
👍10🔥3👀1
📁 Перестань терять файлы! Система каталогов за 5 минут
Эй, архитектор данных!
Устал искать файлы по всему серверу? Покажу, как создать чёткую структуру каталогов и забыть про хаос навсегда. 👆
____________________
Дополнительный материал:
🧠 - Мониторинг и логирование: Установка и настройка системы мониторинга (примеры: Nagios, Prometheus)
🧠 - Мониторинг и логирование: Логирование событий и анализ логов
🧠 - Облачные технологии и DevOps: Введение в облака. Примеры: AWS
#инфографика@LinuxSkill #Linux@LinuxSkill #mkdir@LinuxSkill
Эй, архитектор данных!
Устал искать файлы по всему серверу? Покажу, как создать чёткую структуру каталогов и забыть про хаос навсегда. 👆
____________________
Дополнительный материал:
🧠 - Мониторинг и логирование: Установка и настройка системы мониторинга (примеры: Nagios, Prometheus)
🧠 - Мониторинг и логирование: Логирование событий и анализ логов
🧠 - Облачные технологии и DevOps: Введение в облака. Примеры: AWS
#инфографика@LinuxSkill #Linux@LinuxSkill #mkdir@LinuxSkill
👍4🔥3
⏰ Устал от sudo? Одна строчка решит проблему навсегда
Привет, повелитель root-прав!
Бесит, когда sudo каждые 15 минут требует пароль заново? Особенно когда работаешь с длинными скриптами или деплоишь проекты. Покажу, как настроить кэширование один раз и забыть про эту боль. 👆
____________________
Дополнительный материал:
🧠 - Облачные технологии и DevOps: Введение в облака. Примеры: Azure
🧠 - Облачные технологии и DevOps: Конфигурация и автоматизация облачных ресурсов
🧠 - Безопасность и сетевые аспекты: Основы безопасности Linux-сервера
#инфографика@LinuxSkill #Linux@LinuxSkill
Привет, повелитель root-прав!
Бесит, когда sudo каждые 15 минут требует пароль заново? Особенно когда работаешь с длинными скриптами или деплоишь проекты. Покажу, как настроить кэширование один раз и забыть про эту боль. 👆
____________________
Дополнительный материал:
🧠 - Облачные технологии и DevOps: Введение в облака. Примеры: Azure
🧠 - Облачные технологии и DevOps: Конфигурация и автоматизация облачных ресурсов
🧠 - Безопасность и сетевые аспекты: Основы безопасности Linux-сервера
#инфографика@LinuxSkill #Linux@LinuxSkill
👍15👎3
Вопрос №46 из теста Linux Essentials Certification: Which command displays the list of groups to which a user belongs? / Какая команда отображает список групп, к которым принадлежит пользователь?
Anonymous Quiz
43%
lsgroup
20%
whoami
7%
who
31%
id
👍9👀1
Вопрос №47 из теста Linux Essentials Certification: What is the output of the following command? / Что выведет следующая команда?
Anonymous Quiz
16%
Первые 20 строк файла test.txt
42%
Последние 20 строк файла test.txt, включая пустые строки
18%
Последние 20 строк файла test.txt, исключая пустые строки
25%
Последние 20 строк файла test.txt с номерами строк
👍11
tail -n 20 test.txt
Дублирую, команду. Для вопроса
🛡️ Защита системы: как разрешить запуск бинарника только службе systemd
Привет! Сегодня поговорим о том, как надёжно ограничить запуск подозрительных или потенциально небезопасных программ в Linux.
Если ты хочешь, чтобы приложение запускалось только через
🔹 SELinux
Создай отдельный SELinux-домен для бинарника. Только
Не забудь правильно промаркировать файл через
🔹 Изменение прав доступа
Можно убрать права на исполнение:
А запускать его через:
❗ Но с потерей некоторых
🔹 Контейнеризация через Podman
Запускай приложение в контейнере, ограничивая его окружение:
Или с генерацией сервис-файлов через
Так ты минимизируешь риски и защищаешь систему от случайного или несанкционированного запуска.
🌐 Источник: unix.stackexchange.com
________________
Дополнительный материал:
🧠 - GRUB: Командный мостик космического корабля вашего ПК
🧠 - Утренний будильник для вашего ПК: Включение по расписанию с UEFI
🧠 - GRUB Menu Reveal: Как пригласить скрытое меню на ужин
#stackoverflow #Linux #Systemd #SELinux #Безопасность #Fedora #Администрирование #Bash #DevOps
Привет! Сегодня поговорим о том, как надёжно ограничить запуск подозрительных или потенциально небезопасных программ в Linux.
Если ты хочешь, чтобы приложение запускалось только через
systemd, без возможности запуска вручную — вот несколько решений:🔹 SELinux
Создай отдельный SELinux-домен для бинарника. Только
init_t сможет инициировать его запуск:allow init_t myapp_t:process { transition };
type_transition init_t myapp_exec_t:process myapp_t;
Не забудь правильно промаркировать файл через
chcon!🔹 Изменение прав доступа
Можно убрать права на исполнение:
chmod 644 /path/to/binary
А запускать его через:
/lib64/ld-linux-x86-64.so.2 /path/to/binary
❗ Но с потерей некоторых
capabilities — учитывай это.🔹 Контейнеризация через Podman
Запускай приложение в контейнере, ограничивая его окружение:
podman run --rm -p 80:80 your_container_image
Или с генерацией сервис-файлов через
podman generate systemd.Так ты минимизируешь риски и защищаешь систему от случайного или несанкционированного запуска.
🌐 Источник: unix.stackexchange.com
________________
Дополнительный материал:
🧠 - GRUB: Командный мостик космического корабля вашего ПК
🧠 - Утренний будильник для вашего ПК: Включение по расписанию с UEFI
🧠 - GRUB Menu Reveal: Как пригласить скрытое меню на ужин
#stackoverflow #Linux #Systemd #SELinux #Безопасность #Fedora #Администрирование #Bash #DevOps
Unix & Linux Stack Exchange
Prevent application from being executed by any local user except systemd
I need to run the binary that I don't fully trust.
I've created a systemd unit for it where it's locked down as much as humanly possible, it works great.
Now it's still on my system (Fedora) and I ...
I've created a systemd unit for it where it's locked down as much as humanly possible, it works great.
Now it's still on my system (Fedora) and I ...
👍9👎1
🚨 НИКОГДА не редактируй bash-скрипт во время его выполнения!
Привет, повелитель терминала! 👋
Знаешь, что может превратить безобидный скрипт в оружие массового уничтожения данных? Всего одно неосторожное редактирование.
💣 Смотри, какая бомба:
Выглядит безопасно? Команда
⚡ Что происходит:
1. Запускаешь скрипт → bash начинает читать его частями
2. Меняешь
3. Сохраняешь файл → смещение байтов сбивается
4. BOOM! → bash читает
🔍 Доказательство через strace:
🛡️ Как защититься:
• Копируй скрипт перед редактированием
• Останови выполнение перед правками
• Используй блокировки файлов
• Тестируй на копиях важных скриптов
💡 Вывод
Bash читает скрипт блоками по 64 байта и отслеживает позицию. Удаление символов сдвигает содержимое, но не позицию чтения!
🌐 Источник: https://habr.com/ru/articles/500832/
________________
Дополнительный материал:
🧠 - GRUB Files Unveiled: Путеводитель по конфигурационным файлам
🧠 - Как настроить автоматическое включение вашего компьютера с помощью RTC
🧠 - GRUB Rescue Ops: Как оживить систему, замершую на grub>
#Linux_Mastery #Linux #Bash #Security #DevOps #SysAdmin #ScriptSafety
Привет, повелитель терминала! 👋
Знаешь, что может превратить безобидный скрипт в оружие массового уничтожения данных? Всего одно неосторожное редактирование.
💣 Смотри, какая бомба:
#!/bin/bash
sleep 30
#rm -rf --no-preserve-root /
echo "Time's up!"
Выглядит безопасно? Команда
rm закомментирована, скрипт просто ждёт 30 секунд. Но стоит тебе отредактировать его во время выполнения...⚡ Что происходит:
1. Запускаешь скрипт → bash начинает читать его частями
2. Меняешь
sleep 30 на sleep 3 в редакторе3. Сохраняешь файл → смещение байтов сбивается
4. BOOM! → bash читает
rm -rf / вместо комментария🔍 Доказательство через strace:
# Открытие скрипта
openat(AT_FDCWD, "delay.sh", O_RDONLY) = 3
# Парсинг первой строчки (до 80 символов)
read(3, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 80) = 64
# Возврат к началу
lseek(3, 0, SEEK_SET) = 0
# Переключение на на файловый дескриптор 255
dup2(3, 255) = 255
# Чтение 64-байтового куска файла, чтобы получить команду
read(255, "#!/bin/bash\nsleep 30\n#echo \"Don'"..., 64) = 64
# Поместить курсор обратно в конец команды, которую мы собираемся выполнить
# Offset 21 is the `#`
lseek(255, -43, SEEK_CUR) = 21
# Приостановка выполнения, уход в sleep
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 2072
# До возвращения wait4 файл редактируется с `30` на `3`
# Чтение 64-байтового куска файла, чтобы получить следующую команду
# В этом демо я заменил опасную команду на echo
read(255, "echo \"Don't execute me\"\necho \"Ti"..., 64) = 42
# Bash решает выполнить оба echo одновременно без нового чтения
# Очевидно, что-то идёт не так
write(1, "Don't execute me\n", 17) = 17
write(1, "Time's up!\n", 11) = 11
# Чтение следующего фрагмента и обнаружение конца файла
read(255, "", 64) = 0
🛡️ Как защититься:
• Копируй скрипт перед редактированием
• Останови выполнение перед правками
• Используй блокировки файлов
• Тестируй на копиях важных скриптов
💡 Вывод
Bash читает скрипт блоками по 64 байта и отслеживает позицию. Удаление символов сдвигает содержимое, но не позицию чтения!
🌐 Источник: https://habr.com/ru/articles/500832/
________________
Дополнительный материал:
🧠 - GRUB Files Unveiled: Путеводитель по конфигурационным файлам
🧠 - Как настроить автоматическое включение вашего компьютера с помощью RTC
🧠 - GRUB Rescue Ops: Как оживить систему, замершую на grub>
#Linux_Mastery #Linux #Bash #Security #DevOps #SysAdmin #ScriptSafety
Хабр
Осторожнее с редактированием bash-скриптов
Предположим, я написал такой bash-скрипт с названием delay.sh . Как думаете, что он делает? #!/bin/bash sleep 30 #rm -rf --no-preserve-root / echo "Time's up!" Похоже, он ожидает 30 секунд,...
👍24