Все для системного администратора. По всем вопросам @evgenycarter РКН clck.ru/3KoDXp
Корпус для домашнего NAS сервера. Как это было…
Сперва я хотел изготовить металлический корпус, так как в этом у меня был некоторый опыт и было где заказать штучный экземпляр. Поэтому я принялся за продумывание и моделирование. После некоторых вариаций, я остановился на следующем.
После чего я отправил на производство файлы, но для меня стало неожиданностью, то что правила на заводе где обычно заказывались подобные изделия изменились и теперь штучный заказ стал очень дорогой. Тогда я задумался о технологии SLA 3D печати, данный способ изготовления обходился гораздо дешевле.
https://habr.com/ru/articles/871934/
👉 @i_odmin
Как заставить пользователя изменить пароль при следующем входе в систему
Существует несколько способов.
Использование команды passwdsudo passwd --expire [username]
Использование команды chagesudo chage --lastday 0 [username]
Срок действия паролейchage -l
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;
Заставляем пользователя менять пароль каждые 90 днейsudo chage -M 90
Задаем срок жизни учетной записи (до 12 июня 2023)sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 oleg
Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрилсяsudo chage -I 10 boris
Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Борисаsudo chage -W 25 boris
Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролейsudo chage -m 25 boris
Удалить ограничение в дняхsudo chage -m 0 sergey
👉 @i_odmin
Как ускорить навигацию командной строки
++++++++++++++++++++++++++++++
Повторный запуск под root — sudo !!
user@host: cat /var/log/messages
cat /var/log/messages: Permission denied.
Как не надо: Вверх. Влево. Влево. Влево. …. sudo Enter. Рррр.
Как надо: sudo !!
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Повторный ввод последнего аргумента — Alt+
Вы захотели еще раз воспользоваться только что написанным аргументом? Например, созданной директорией?
Как не надо: mkdir MyNewDirectory; cd MyNewDirectory
Как надо:
mkdir MyNewDirectory
cd <Alt+.>
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Поиск запущенной команды — Ctrl+R
Какую же команду я только что запускал? Вверх. Вверх. Вверх. Вверх. О, вот и она!
Снова и снова вам приходится копаться в истории, ведь вы не знаете более подходящих альтернатив. Но что, если я скажу вам о том, что есть… поиск?
Как не надо: Вверх. Вверх. Вверх. Enter.
Как надо: Ctrl+R
Просто нажмите Ctrl+R и введите первые буквы нужной команды. Если поиск не выдал нужную команду сразу, то нажмите Ctrl+R еще раз. Повторное нажатие используется для прокрутки результатов. Ниже приведен поиск для cat.
(reverse-i-search)cat: sudo cat /var/log/messages
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Переход в начальную директорию — cd
Вы не на шутку удивитесь, узнав, сколько людей не знают этого способа! cd. Да, так просто. Без лишних аргументов вы сразу попадете в начальную директорию.
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Возвращение в последнюю директорию — cd -
Иногда простой способ — самый лучший. Допустим, вы были в директории /var/www/foo, а теперь оказались в /etc . Простая команда cd — вернет вас обратно в /var/www/foo .
Как не надо: cd /var/www/foo
Как надо: cd -
++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++
Контроль работы: передний план, фоновый режим и проч.
Возможно, вам потребуется какое-то время, чтобы привыкнуть, но оно того стоит. Допустим, вы редактируете файл в vim (вы же не будете этого делать в nano, да?!). И вот вам вдруг захотелось что-то найти в директории /var/www/html. Конечно же, вы можете выйти из vim, перейти в нужную директорию, а потом вдруг решить, что неплохо было бы вернуться к редактированию. Есть и другой вариант — перевести vim в фоновый режим и вернуться к нему позже.
Напишите: Ctrl+Z. Эта комбинация переводит все текущие задачи с переднего плана в фоновый режим. Полезно как минимум для: less, cat, man, vim и т.д.
«И куда же отправится моя активная задача?» — спросите вы. Напишите jobs и сами узнаете.
user@host: jobs
[1] Stopped vim
Супер. Теперь можно заняться чем-то другим. А как только вы решите вернуться к задаче, напишите fg. Эта команда возвращает фоновую задачу (vim) на передний план. Обратите внимание, что фоновые процессы приостанавливаются. Поэтому если в файле вы выполняли что-то из разряда tail, то для завершения команды потребуется какое-то время. Если же в фоновом режиме запущено несколько задач, то напишите fg 3 , где 3 — это номер задачи для возобновления. Увидеть список задач можно по команде jobs.
++++++++++++++++++++++++++++++
👉 @i_odmin
Уверены, что разбираетесь в Linux и Git? А если проверим?
Linux и Git — база для DevOps-инженера. Учебный центр Слёрм подготовил два коротких теста на знание этих инструментов 📝
Предлагаем вам пройти их и узнать, насколько вы готовы к старту в DevOps.
🫵 Сможете набрать больше 5 правильных ответов? Если нет — не расстраивайтесь. В конце теста вас ждут полезные ссылки, которые помогут структурировать знания.
📌 Узнать свой результат — ТУТ. Удачи!
Реклама ООО «Слёрм» ИНН 3652901451
HTTP vs HTTPS
Подписывайтесь на канал 👉@tipsysdmin
⚙️5 трюков с командами Linux, которые изменят вашу жизнь как программиста или системного администратора.
Освоение интерфейса командной строки Linux крайне важно для разработчиков, и рассмотренные здесь приёмы — это мощные инструменты, которые стоит иметь в своём арсенале. От эффективного управления файлами и каталогами до навигации по директориям и вызова ранее выполненных команд — эти пять приёмов могут существенно упростить ваш рабочий процесс и повысить продуктивность:
⚫️mkdir
с фигурными скобками для создания нескольких папок за один раз.
⚫️cd
- для быстрого возврата в предыдущий каталог.
⚫️touch
с диапазоном для одновременного создания нескольких файлов.
⚫️tail -f
для отслеживания файлов журналов в реальном времени.
⚫️history 5
для вызова и повторного выполнения последних команд.
Это всего лишь несколько примеров возможностей, которые предоставляют команды Linux. Внедряя эти приёмы в свой повседневный рабочий процесс, вы сможете больше сосредотачиваться и меньше тратить время на рутинные задачи, становясь более эффективным и продуктивным.
https://bookflow.ru/5-tryukov-s-komandami-linux-kotorye-izmenyat-vashu-zhizn-kak-programmista/
👉 @i_odmin
🖥 Выполнение периодических заданий в PostgreSQL
pg_cron - это простой планировщик заданий на основе cron для PostgreSQL (10 или выше), который запускается внутри базы данных в качестве расширения. Он использует тот же синтаксис, что и обычный cron, но позволяет планировать команды PostgreSQL непосредственно из базы данных.
https://github.com/citusdata/pg_cron
👉 @i_odmin
Подборка Telegram каналов для программистов
Системное администрирование 📌
/channel/sysadmin_girl Девочка Сисадмин
/channel/srv_admin_linux Админские угодья
/channel/linux_srv Типичный Сисадмин
/channel/linux_odmin Linux: Системный администратор
/channel/devops_star DevOps Star (Звезда Девопса)
/channel/i_linux Системный администратор
/channel/linuxchmod Linux
/channel/sys_adminos Системный Администратор
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux
1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus
Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах
GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
/channel/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
/channel/game_devv Все о разработке игр
Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов
БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT
/channel/php_lib Библиотека PHP программиста 👨🏼💻👩💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика
Шутки программистов 📌
/channel/itumor Шутки программистов
Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров
Английский 📌
/channel/UchuEnglish Английский с нуля
Математика 📌
/channel/Pomatematike Канал по математике
/channel/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
/channel/Excel_lifehack
/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)
Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT
🌟 Тест для профессионалов Linux 🌟
Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на курсе — «Administrator Linux. Professional»
За 7 месяцев курса вы научитесь решать 3 глобальные задачи
- Освоение гибкого управления Linux-системами.
- Навыки создания и изменения RAID-массивов.
- Управление логическими томами и профессиональная работа с системными ресурсами.
- Практика написания баш-скриптов и применение методологии Infrastructure as Code.
Тест займет всего 20 минут вашего времени!
👉 ПРОЙТИ ТЕСТ — https://vk.cc/cGz9t3
💣 Пройдете тест, получите скидку на курс, и доступ к бесплатным урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Linux Commands for Beginners
01 - Introduction
02 - Setting up a Cloud Instance
03 - Setting up a Virtualbox Virtual Machine
04 - Navigating the Filesystem
05 - Basic File Editing
06 - Moving and Renaming Files
07 - The Bash Configuration File
08 - Command Aliases
09 - Understanding Permissions
10 - Checking Resource Usage
👉 @i_odmin
Цикл for в терминале bash
Очень часто вам необходимо исполнить одну и ту-же команду на разных файлах. К примеру вы хотите сконвертировать каждый JPEG файл в аналогичный PNG (или наоборот).
Почти во всех терминалах есть возможность работать с циклами, и в данном видео я описываю работу с циклом «for» в терминале bash.
истончик
👉 @i_odmin
Как провести Тех. обслуживание сервера с уведомлением пользователей?
Для начала создаем пустой файл /etc/nologin
. Включаем возможность заходить под root
. Теперь только root
сможет авторизоваться по ssh
.
Переходим к уведомлениям, возможно кто-то в данный момент работает в терминале.
Воспользуемся утилитой wall.
Wall — утилита командной строки, которая отображает сообщение на терминалах всех вошедших в систему пользователей.
Запускаем команду:
wall "... текст сообщения ..."
... текст сообщения ...
pkill -9 -u `who | awk '{print $1}'| grep -v root|head -1
echo "какой-то текст" | write user
echo "какой-то текст" > /dev/pts/1
📉Сегодня компании теряют время на ручное управление контейнерами и неэффективные процессы, а разработка продуктов страдает от разрозненных подходов к инфраструктуре.
💡Представьте инфраструктуру, где каждый компонент под контролем, процессы автоматизированы, а команда сосредоточена на продукте, а не на инфраструктуре. Kubernetes — ваш путь к таким изменениям.
🔥Обучение «Инфраструктурная платформа на основе Kubernetes» даст вам навыки, чтобы настроить, оптимизировать и контролировать работу вашей платформы. Это шанс подняться в карьере и стать незаменимым инженером, способным управлять масштабируемыми системами.
👉Регистрация заканчивается, а также скидка до 20% по промокоду Kuber_12, успейте занять место на самых выгодных условиях: https://vk.cc/cGrgzIРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Скидка по промокоду действительная до 31.12.2024г
💪 Кластеры для профи: прокачай навыки и стань экспертом инфраструктуры!
Думаешь, что репликация и кластеризация — одно и то же?
На открытом уроке «Percona XtraDB Cluster (PXC): знакомство и настройка» 14 января в 19:00 мск разложим всё по полочкам, запустим кластер и покажем, как он работает на реальных примерах.
📝 Что будет на вебинаре:
- разберём архитектурные различия PXC и репликации;
- запустим и настроим полноценный рабочий кластер.
Урок для системных администраторов и DBA, которые хотят освоить продвинутые инструменты и работать с высоконагруженными системами.
⭐️ Спикер Николай Лавлинский — опытный разработчик, руководитель и преподаватель, кандидат экономических наук.
🚀 Вебинар проходит в преддверии старта курса «Инфраструктура высоконагруженных систем». Участникам — скидка на обучение!
👉 Регистрация для участия: https://vk.cc/cH5vW9Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Простое копирование ssh ключей между серверами c использованием утилиты ssh-copy-id
Традиционно администраторы решают задачу копирования ssh ключей между серверами путем копирования содержимого файла /root/.ssh/id_rsa.pub с сервера server1 на server2 в файл /root/.ssh/authorized_keys. Копируют обычно из одного терминала в другой, но есть более изящное решение — это использование утилиты ssh-copy-id, которая позволяет скопировать содержимое id_rsa.pub сервера источник (в нашем случае server1) на сервер приемник (server2) в нужный нам authorized_keys не открывая консоль сервера приемника (server2).
⚫️Исходные данные: 2 сервера с Debian (server1 и server2).
Задача: Организовать вход по ssh ключу с сервера server1 на server2 с правами root.
Итак сделаем все по порядку:
1. 🔑Генерируем публичный открытый и закрытый ключи, под пользователем root на server1:ssh-keygen -t rsa
Если на сервере уже есть эти ключи, то он выдаст предупреждение, где нужно будет либо подтвердить замену старых ключей либо отказаться.
Мы создаем ключи впервые, поэтому предупреждения не будет, будет выведена примерно такая информация:Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <-- ENTER
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <-- ENTER
Enter same passphrase again: <-- ENTER
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
Вы можете защитить приватный ключ паролем и тогда чтобы попасть на сервер server2 по ssh ключу нужно будет ввести этот пароль, я настоятельно рекомендую для доступа с уровнем root ввести пароль на приватный ключ.
Ключи сгенерированы, мы можем проверить под пользователем root выполнив командуcat ~/.ssh/id_rsa.pub
В ответ увидим примерно:
ssh-rsa AAAAB3Nz.....ywWmpl root@server1
Теперь нужно передать публичный ключ id_rsa.pub пользователя root на server2, для этого на server1 выполняем:ssh-copy-id -i ~/.ssh/id_rsa.pub root@server2
Вводим пароль root от сервера server2 и ключ будет передан и записан в нужный файл authorized_keys
Важное уточнение: Чтобы передать публичный ключ на server2 под root нужно чтобы пользователю root было разрешен вход по ssh на server2, обычно при базовой установке Debian/Ubuntu вход под root по ssh разрешен, это настраивается директивой PermitRootLogin в файле /etc/ssh/sshd_config
PermitRootLogin yes — Вход под root по ssh разрешен.
PermitRootLogin no — Вход под root по ssh запрещен.
PermitRootLogin without-password — Вход под root по ssh разрешен только по ssh ключам.
PermitRootLogin forced-commands-only — Вход под root по ssh разрешен только по ssh ключам и только для выполнения заранее определенной команды, сама команда прописывается в /root/.ssh/authorized_keys в формате:command="rsync" ssh-rsa AAAAB3N……. root@server2
После изменения PermitRootLogin не забудьте перезапустить службу sshd командой:service sshd restart
👉 @i_odmin
📨 Протоколы безопасности электронной почты
🔹1. SSL/TLS
SSL (Secure Sockets Layer) и TLS (Transport Layer Security) — это протоколы шифрования, которые используются для защиты соединений между почтовым клиентом и сервером.
Ключевые моменты:
- Обеспечивают шифрование данных, чтобы защитить их от перехвата.
- Используются в протоколах передачи почты (SMTP, IMAP, POP3).
- Например, защищенное соединение обозначается как SMTPS (порт 465), IMAPS (порт 993) или POP3S (порт 995).
🔹2. SPF (Sender Policy Framework)
SPF помогает предотвратить подделку отправителя.
Как работает:
- Домены публикуют в DNS список IP-адресов, которые имеют право отправлять почту от их имени.
- Почтовые серверы проверяют, совпадает ли IP отправителя с разрешённым списком.
🔹3. DKIM (DomainKeys Identified Mail)
DKIM защищает письма от подделки.
Как работает:
- Использует цифровую подпись, которая добавляется в заголовок сообщения.
- Получатель может проверить подлинность письма с помощью публичного ключа, опубликованного в DNS отправителя.
🔹4. DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC объединяет SPF и DKIM для усиления защиты.
Ключевые функции:
- Позволяет владельцам доменов указать, как обработать сообщения, которые не проходят SPF или DKIM.
- Генерирует отчёты для отправителей о подозрительных действиях.
🔹5. S/MIME (Secure/Multipurpose Internet Mail Extensions)
Протокол для шифрования и подписания сообщений электронной почты.
Особенности:
- Обеспечивает конфиденциальность благодаря шифрованию содержимого.
- Гарантирует целостность письма и его происхождение с помощью цифровой подписи.
🔹6. PGP (Pretty Good Privacy)
PGP используется для шифрования электронной почты и файлов.
Как работает:
- Предоставляет возможность создавать пары открытых и закрытых ключей.
- Получатель расшифровывает письмо с помощью своего закрытого ключа.
🔹7. Антивирусы и антиспам-фильтры
Современные почтовые системы интегрируют механизмы сканирования писем для выявления вредоносных вложений и фишинговых ссылок.
🔹8. Использование современных стандартов (MTA-STS и DANE)
- MTA-STS (Mail Transfer Agent Strict Transport Security): обеспечивает защиту от атак типа man-in-the-middle (MITM), гарантируя, что сообщения отправляются только через защищённые TLS-соединения.
- DANE (DNS-Based Authentication of Named Entities): добавляет уровень аутентификации через DNSSEC.
Рекомендации для пользователей:
1. Используйте почтовые сервисы с поддержкой SSL/TLS.
2. Настройте SPF, DKIM и DMARC для своего домена.
3. Активируйте двухфакторную аутентификацию (2FA).
4. Регулярно обновляйте почтовые клиенты и серверы.
5. Обучайте сотрудников правилам кибербезопасности.
Эти протоколы и меры обеспечивают защиту от фишинга, перехвата данных и других угроз. Соблюдение рекомендаций минимизирует риски и делает вашу почту безопасной.
👉 @i_odmin_book
Сравнение виртуальных машин (VMs) и контейнеров.
🔵Виртуальные машины:
- Каждый экземпляр виртуальной машины включает гостевую операционную систему (Guest OS), библиотеки/бинарные файлы (Bins/Libs) и приложения.
- Работают через гипервизор, который управляет виртуализацией.
- Требуют больше ресурсов, так как каждая виртуальная машина имеет собственную операционную систему.
🔵Контейнеры:
- Легковесные, используют общее ядро операционной системы хоста.
- Каждый контейнер содержит только приложения и необходимые для их работы библиотеки/бинарные файлы.
- Управляются контейнерным движком (например, Docker, cri-o).
- Более эффективны по ресурсам, так как не требуют отдельной операционной системы для каждого контейнера.
👉 @i_odmin
Изоляция процессов и минимизация привилегий: использование Linux namespaces и seccomp
По статистике, каждые 39 секунд в мире происходит кибератака. Задумайтесь об этом на мгновение. А теперь представьте, что процессы на сервере работают как супергерои, готовые к борьбе с внешними угрозами. Но только если они не захотят стать злодеями. Что если один из процессов решит, что ему по силам взломать систему и получить root-права? Сценарий не такой уж фантастический, как может показаться. В этой статье разберемся, как снизить подобные риски.
Материал будет полезен начинающим специалистам, которые работают с контейнерами, виртуализацией и управлением ресурсами: сисадминам, разработчикам и DevOps-инженерам. Добро пожаловать под кат!
https://habr.com/ru/companies/selectel/articles/866942/
👉 @i_odmin
🥂 Кто из вас под бой курантов тоже загадал найти работу по душе?
Праздники подходят к концу — пора воплощать задуманное. Если вы настроены решительно и начинаете готовиться к собеседованиям на системного администратора, Слёрм спешит на помощь — делимся журналом с мастхевами для успешного старта в Linux🔝
➡️ Внутри журнала часто задаваемые вопросы на собеседовании в формате загадок и кроссворда — проверять знания будет полезно и не скучно.
Материалы предоставил Кирилл Казарин — DevOps and SRE global manager в LLC RingСentral Spain и спикер курса «Администрирование Linux».
А для лучшего результата в боте можно пройти тест на текущий уровень знаний Linux — так вы точно будете готовы к собеседованию на 100%.
📍Забрать журнал в боте
#реклама
О рекламодателе
erid: 2W5zFJq7se8
Частые ошибки программирования на Bash
Качество скриптов, используемых для автоматизации и оптимизации работы системы, является залогом ее стабильности и долголетия, а также сохраняет время и нервы администратора этой системы. Несмотря на кажущуюся примитивность bash как языка программирования, он полон подводных камней и хитрых течений, способных значительно подпортить настроение как разработчику, так и администратору.
Большинство имеющихся руководств посвящено тому, как надо писать. Я же расскажу о том, как писать НЕ надо :-)
Данный текст является вольным переводом вики-страницы «Bash pitfalls» по состоянию на 13 декабря 2008 года. В силу викиобразности исходника, этот перевод может отличаться от оригинала. Поскольку объем текста слишком велик для публикации целиком, он будет публиковаться частями.
1. for i in ls *.mp3
Одна из наиболее часто встречающихся ошибок в bash-скриптах — это циклы типа такого:
for i in `ls *.mp3`; do # Неверно!
some command $i # Неверно!
done
for i in "`ls *.mp3`"; do # Неверно!
...
Решаем проблему устаревания кэширующих серверов. Смотрим на телевизоре. Не VPN
Не так давно всех потрясла новость об устаревании оборудования популярного видеохостинга, в результате чего сервис перестал нормально работать и началось замедление. Сначала в замедлении сервиса пытались обвинить Роскомнадзор, но до сих пор нет внятных нормативно-правовых актов (поправьте меня в комментариях, если я ошибаюсь), которые бы позволяли данному органу применять методы блокировки в отношении сервиса. Я не верю, что государственный орган может нарушать закон, поэтому будем исправлять проблему самостоятельно и поднимем свой «кэширующий» сервер.
В качестве нашего «кэширующего» сервера будем использовать дешевый одноплатный компьютер MangoPi MQ-Quad (или другой аналогичный), стоимостью не более $29.
https://habr.com/ru/articles/870254/
👉 @i_odmin
Контейнерная виртуализация в Linux
Можно ли запустить на одном компьютере тысячи изолированных web-сайтов? Как одновременно выполнять несколько независимых операционных систем с различными программами, не прибегая к виртуальным машинам? Как регулировать количество потребляемых тем или иным приложением? Ответы на эти и другие вопросы можно получить в данной лекции. В ней рассказано про принципы контейнерной виртуализации в Linux, которые позволяют изолировать отдельные процессы и целые серверы. В качестве практического примера рассмотрена система Docker. Слушатели могут узнать, как без особого труда запустить тысячи изолированных контейнеров в рамках одной операционной системы, научиться «демонизировать» контейнеры и мониторить их состояние. Также уделено внимание возможности создания и распространения своих образов Docker.
источник
👉 @i_odmin
Yandex Cloud выпустил новогодний выпуск подкаста «Безопасно говоря»
В новом эпизоде эксперты обсудили самые знаковые события в ИБ, попробовали предугадать, что нас ждёт в 2025, прошлись по исследованиям и прогнозам, а также не обошли вниманием тему развития искусственного интеллекта.
Смотрите подкаст на YouTube, и VK Видео, а также слушайте в Яндекс Музыке
• infosec - один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал по разным темам:
- Как зарождалась Флибуста?
- Сервисы для обеспечения безопасности в сети;
- Каким образом "компьютерные мастера" обманывают своих клиентов?
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.
• А еще у нас часто проходят розыгрыши самых актуальных и новых книг по ИБ. Так что присоединяйся, у нас интересно!
Создаем личное файловое облако легко и просто (и дешево)
А сегодня мы с вами быстро и решительно легко и просто поднимем свое личное файловое облако типа Google Drive или Яндекс.Диск, а если повезет, то еще и очень дешево.
Зачем? Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности. Или просто потому что можем.
В наше время, благодаря развитому инструментарию, такому как docker и snap, установить и настроить все что нужно можно очень быстро всего лишь несколькими командами. Disclaimer: для опытных пользователей это статья покажется очень простой, банальной и очевидной. Однако причиной, побудившей меня ее написать, была именно просьба тут на Хабре сделать максимально простой и детальный мануал для тех, кто вообще ничего не понимает в системном администрировании. Я специально будут рассказывать все максимально подробно и пошагово, чтобы даже люди без большого опыта системного администрирования смогли все повторить.
https://habr.com/ru/articles/688528/
👉 @i_odmin