ServerAdmin.ru
26.4K subscribers
191 photos
24 videos
8 files
2.45K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Давно не было заметок про полезные утилиты для бэкапа. Решил это исправить. Рассказываю про Butterfly Backup. Это небольшая консольная обёртка над rsync, написанная на python. Идея её в том, что она использует основное преимущество rsync - скорость сравнения и копирования информации. А так же добавляет некоторую гибкость, которой изначально в rsync нет. То есть расширяет его функционал.

https://github.com/MatteoGuadrini/Butterfly-Backup
https://butterfly-backup.readthedocs.io/en/latest/

Butterfly Backup избавляет от необходимости писать собственную bash обвязку вокруг rsync для организации инкрементных или разностных бэкапов. Так же упрощает восстановление и просмотр содержимого бэкапов. Для удобства можно подготовить готовый конфиг.

Основные возможности:
Поддерживаемые бэкапы: Full, Incremental, Differential, Mirror.
Использование центрального сервера для хранения бэкапов разных клиентов.
Детальный просмотр содержимого отдельных бэкапов.
Бэкап всей системы, а так же ее восстановление на другое железо или VM.
Принцип снятия данных agent-less, по протоколу rsync или ssh.

Для работы BB нужен Python3. Далее достаточно скопировать репозиторий и запустить скрипт установки:
git clone https://github.com/MatteoGuadrini/Butterfly-Backup.git
cd Butterfly-Backup
sudo python3 setup.py

После этого копируем rsa ключи, которые предварительно создали, на удаленный host, чтобы иметь к нему доступ:
bb config --deploy host1

Дальше запускаем простой бэкап:
bb backup --computer host1 --destination /mnt/backup --data System --type Unix

У bb есть преднастройки для типовых бэкапов трёх типов систем - Unix, Windows, MacOS. Если указать после ключа data тип данных и далее тип системы, то будет забэкаплено всё, что относится к этому типу. В моем примере это системные директории.

По ссылке на документацию, что я привел в начале, можно посмотреть все основные возможности и ключи для бэкапа и восстановления.

#backup
​​Помните, я уже писал о проблеме Centos 7 и сертификатов Let's Encrypt? Не буду сильно повторяться, так как все подробности по ссылке. Кратко скажу, что из-за устаревшей версии Openssl, в Centos 7 не будет поддержки нового корневого сертификата, а старый протухает 30 сентября.

Вариантов решения этой проблемы несколько:

1️⃣ Обновить версию openssl на 1.1.1 или выше. Теоретически это может привести к каким-то проблемам с зависимостями, так как этой версии нет в базовых репах. Ставить придётся вручную.

2️⃣ Заблокировать протухающий сертификат. Сделать это можно так:
# trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem
# update-ca-trust extract

Перед этим на всякий случай сохраните текущую цепочку CA сертификатов:
# cp -i /etc/pki/tls/certs/ca-bundle.crt ~/ca-bundle.crt-backup

3️⃣ Выпускать новые сертификаты с использованием другой цепочки CA:
# certbot renew --preferred-chain "ISRG Root X1"
Данная возможность появилась в версии certbot 1.6.0.

Подробности всей этой истории по ссылке:
https://blog.devgenius.io/rhel-centos-7-fix-for-lets-encrypt-change-8af2de587fe4
Я там новость подсмотрел.

#centos
Есть небольшая утилита для организации vpn подключения через ssh - sshuttle. Она есть в стандартных репозиториях популярных дистрибутивов. В Centos живет в репозитории epel. Также присутствует в pip, так как написана на python.

https://github.com/sshuttle/sshuttle
https://sshuttle.readthedocs.io/en/stable/usage.html

Установка:
# dnf install sshuttle
# apt install sshuttle
# pip install sshuttle

Её удобство в простоте и функциональности. VPN соединение организуется поверх SSH. Покажу на примерах:
# sshuttle -r user@1.2.3.4 0/0

Выражение 0/0 эквивалентно маске 0.0.0.0/0, то есть весь трафик отправляем в этот туннель. Будьте аккуратны, когда начнёте тестировать. Вас отключит от текущего ssh соединения. Можете сразу же проверить, через какой ip вы выходите в интернет:
# curl ifconfig.me/ip

Должны увидеть внешний ip ssh сервера, к которому подключились. С помощью sshuttle удобно подключаться к jump host и дальше на целевое устройство. Допустим, на какое-то устройство или сервер (ip - 2.2.2.2) можно подключиться только через конкретный сервер (ip - 3.3.3.3). Используем для подключения sshuttle.
# sshuttle -r user@3.3.3.3 2.2.2.2/32

После подобного подключения у вас будет создан маршрут к 2.2.2.2/32 через ssh сервер 3.3.3.3. Дальше можете со своей машины подключиться к 2.2.2.2.

Во время тестов я столкнулся с ошибкой: fatal: server died with error code 255. Подключение по ssh осуществлялось, а потом sshuttle падал. Решил вот так:

# sshuttle -r user@1.2.3.4 -x 1.2.3.4 0/0

Если используется нестандартный ssh порт, то указать его следует так:

# sshuttle -r user@1.2.3.4:22334 0/0

Для использования ключа при ssh подключении, добавьте следующие опции:

# sshuttle -r user@1.2.3.4 0/0 --ssh-cmd "ssh -i ~/.ssh/id_rsa"

Если что-то пойдёт не так, включите подробное логировние через ключ -vvvv. Увидите, какие правила sshuttle добавляет в firewall и как прописывает маршруты. Там никакой магии, всё наглядно.

В Windows через WSL2 тоже работает, что весьма удобно. Данной заметки достаточно, чтобы начать пользоваться программой, так что смело добавляйте в закладки.

#vpn #ssh
​​На днях слушал вебинар, где в том числе разобрали порядок поиска и выполнения команд в интерпретаторе bash. Я вспомнил, как сам в свое время разбирался в этой теме, пытаясь понять, почему команды выполняются в неочевидном для меня порядке. Решил законспектировать этот момент и поделиться с вами.

Итак, после ввода в терминал команды, происходит следующее:
1️⃣ Проверяются алиасы. Если команда будет там найдена, то поиск остановится и она исполнится. Проверить свои алиасы можно в консоли с помощью команды:
# alias
Кстати, алиас ls там скорее всего будет в таком виде:
alias ls='ls --color=auto'
То есть выполнится не просто бинарник /usr/bin/ls, а именно указанный алиас с ключами.
2️⃣ Далее команда проверяется, встроена в ли она в оболочку, или нет. Если встроена, то выполнится именно она, а опять же не бинарник. Пример встроенных программ - echo, pwd и т.д.
# type echo
echo is a shell builtin
Что интересно, есть и бинарник echo, но если вы в консоли bash явно не укажете путь к нему /usr/bin/echo, выполнится именно встроенная в оболочку программа. Они на самом деле разные. У них даже ключи немного отличаются.
3️⃣ Только теперь идёт поиск бинарника в директориях, определённых в $PATH, причем не абы как, а по порядку следования этих директорий в переменной слева направо.
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
Я в свое время именно с этим разбирался, так как не мог понять, почему выполняется один из двух бинарников с одинаковыми именами, лежащие в разных директориях.

Зная всё это, можно засадить куда-то зловреда, или просто пошутить над кем-то. Например, создать пустой исполняемый файл с таким же именем, как системная утилита, например, chown. Положить файл в какую-то директорию и добавить её в начало $PATH. После этого при наборе chown в консоли или скриптах не будет происходить ровным счётом ничего. Если не знаешь всех нюансов, то так сразу не поймёшь, в чём проблема.

#bash #terminal
​​Число компаний, которые переходят в онлайн растет с каждым годом, и всё больше умных устройств оказывается в сети. Именно поэтому профессия системного администратора становится всё более востребованной, что подтверждает рост зарплаты и количество открытых вакансий.

Более того, системный администратор имеет мощный потенциал для развития: он может стать DevOps-инженером, системным архитектором или СТО (техническим директором).

Получить реальный опыт администрирования и освоить продвинутые инструменты можно на курсе «Системный администратор» от SkillFactory. Курс на 80% состоит из практики и отработки полученных знаний на практических задачах, максимально приближенных к реальным — что позволит сразу погрузиться в профессию и выйти на рынок подготовленным специалистом. 

Персональный ментор поможет разобраться в любой теме, а к концу обучения карьерный центр поможет вам с трудоустройством и составлением резюме. 

❗️Оставь заявку с промокодом СЕРВЕР и получи скидку 45% на обучениеhttps://clc.to/k0RHyQ
Забавное видео про IT инженера на удалёнке. Можно смотреть без перевода, если не понимаете на слух английский. С субтитрами вообще всё понятно будет.

Мне особенно понравилось оснащение рабочего места. Перематывал, ставил на паузу и внимательно всё разглядывал. Очень круто сделано. Тоже так хочу. Но пока до hi-tech руки не доходят. С деревяшками бы в новом доме разобраться, которые за год подорожали в 2-3 раза и стали стоить дороже, чем hi-tech оборудование 😱 Дерево - новая нефть. Буду теперь себя богачом ощущать в деревянной избушке 🏡

https://www.youtube.com/watch?v=Rgx8dpiPwpA

Для тех, кто посмотрит видео, вопрос. Я не понял, зачем он разбил мышку и взял новую, когда беседовал с пародией на Стива Джобс?

#юмор
​​Опять возвращаюсь к теме протухшего корневого сертификата Let's Encrypt и Centos 7. Писал об этом на днях. Делать самим ничего не надо. Один из способов, который я предложил - удалить протухший сертификат вручную. Делать этого теперь не надо, так как вчера вышло обновление пакета ca-certificates для Centos 7. Там этот сертификат уже удалён.

Лучше поздно, чем никогда. Но еще лучше, если бы они пораньше это обновление выпустили. Я уже вручную удалил, где вспомнил, что тема актуальна. А это практически все сервера со стандартным Bitrixenv, которое до сих пор на базе Centos 7 работает. И поддержка Let's Encrypt там встроена и активно используется.

#centos #webserver
После поста о сборе средств для Семаева Кирилла, мне периодически пишут люди и спрашивают, как и что там с Кириллом, доходят ли деньги и т.д. Сам я не в курсе, так как у меня нет постоянного контакта ни с ним, ни с его родными. Это была моя личная инициатива о соборе средств. Чтобы было, что отвечать по теме, спросил у Анны, как там дела.

Кирилл сейчас на очередной реабилитации в мед. центре, так что новостей особо нет. С ним всё в порядке, состояние нормальное, ни лучше, ни хуже. Деньги тратятся на реабилитационные процедуры и на бытовые нужды. Помощь доходит до адресата.

На неё вышли люди с инициативой записать видео с Кириллом. Ориентировочно на октябрь запланировали мероприятие. Так что если всё сложится, то будет подробная информация из первых уст.

У меня всё по теме. Удачи вам в делах и не болеть.
​​📌 Хочу вас познакомить с двумя интересными и полезными утилитами для просмотра занятого места на диске. Первая из них - duf (https://github.com/muesli/duf). Написана на гошечке, работает шустро. По дефолту показывает удобный табличный вид смонтированных устройств, разделяя локальные хранилища, сетевые и специальные, типа /dev, /run и т.д.

Из других полезных возможностей:
- раскрашенный вывод
- настраиваемая сортировка и фильтрация вывода
- вывод результата в json формате

Есть паркет под все популярные системы, в том числе windows. Ставим на centos:
# rpm -ivh https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.rpm

Пример использования:
# duf --only local --sort size
Вывод только локальных хранилищ с сортировкой по размеру.

📌 Вторая утилита - dust (https://github.com/bootandy/dust). Написана на rust (du + rust = dust). Умеет отображать древовидную структуру каталогов с указанием занимаемого места каждой ветви дерева. Я не видел утилиты, которая бы так же быстро и просто могла сразу показать, кто и где занял место на диске. Несомненно, есть ncdu, но у неё другой принцип отображения информации. Где-то удобнее, а где-то нет.

Dust представляет из себя одиночный бинарник, так что никаких пакетов нет. Качаем и запускаем:
# wget https://github.com/bootandy/dust/releases/download/v0.7.5/dust-v0.7.5-x86_64-unknown-linux-gnu.tar.gz
# tar xzvf dust-v0.7.5-x86_64-unknown-linux-gnu.tar.gz
# cd dust-v0.7.5-x86_64-unknown-linux-gnu/
# ./dust / -d 3
Посмотрели размер директорий, начиная с корня, с ограничением глубины в 3.

#terminal #утилиты
​​Завтра, 28 Сентября, в 10:00 (МСК) пройдёт онлайн meetup на русском языке от Zabbix. Он будет совместно с Gals Software и Monq Digital Lab. Заявлена интересная тематика, но при этом описание скудное. Не совсем понятно, насколько полезная информация будет представлена. У Zabbix по моим наблюдениями последнее время мероприятия малополезные получались.

Приглашаем вас зарегистрироваться на митап, который мы проведем совместно с нашими коллегами из Gals Software и Monq Digital Lab.На митапе, мы поговорим о следующем: Траблшутинг распространенных проблем в Zabbix; Monq: эволюция от сбора логов к управлению ИТ-данными, отказ от коннекторов, агенты экстракторы и платформа автоматизации; а также, создание интерактивного отображения ИТ-сервисов в Grafana, на сервисно-ресурсной модели и географической карте.

📌Программа:
10:00 - Открытие мероприятия.
10:10 - Monq: эволюция от сбора логов к управлению ИТ-данными, отказ от коннекторов, агенты экстракторы и платформа автоматизации (на примерах обработки чатов с поддержкой markdown и автопостроения РСМ из данных VMWare). Николай Ганюшкин, CEO Monq Digital Lab.
10:50 - Создание интерактивного отображения ИТ-сервисов в Grafana, на сервисно-ресурсной модели и географической карте. Антон Касимов, эксперт по системам мониторинга Gals Software.
11:30 - Траблшутинг распространенных проблем в Zabbix.
12:15 - Вопросы и ответы.

Регистрация в zoom - https://us02web.zoom.us/webinar/register/2816321356676/WN_jsZ21B0ZQUCzVY6_rzg6Bw

Планирую посмотреть, если другие дела не отвлекут. Законспектирую, если что-то интересное будет.

#zabbix
​​Добиваю тему self-hosted чатов. Напомню, что ранее уже рассмотрел:

✔️ Zulip
✔️ MyChat
✔️ Mattermost
✔️ Rocket.Chat

Эти чаты я либо сам внедрял, либо тестировал и готовил к внедрению, поэтому есть личный опыт установки, базовой настройки и типового тестирования. Мне посоветовали посмотреть ещё на Delta Chat, что я и сделал.

Главная особенность Delta Chat в том, что для доставки сообщений используется smtp протокол. То есть он работает поверх инфраструктуры почтовых серверов, а значит свой сервер чата не нужен вообще. Идея выглядит необычной и любопытной. Для общения с помощью этого чата достаточно любых существующих почтовых ящиков.

Я поставил десктопные клиенты и пообщался сам с собой, настроив для этого соответствующие почтовые ящики. Сразу скажу, что клиент написан на Electron 😪. Настройки почтовых ящиков Яндекс.Почты автоматом не подобрал, пришлось вручную указать серверы и порты, предварительно в настройках ящика разрешив подключаться по imap. С gmail авторизация прошла автоматом без танцев, но пришлось в настройках безопасности разрешить подключаться ненадёжным приложениям.

Поотправлял сообщения туда-сюда. В целом работает. Клиент, как и всё на JavaScipt и Electron, тормозной. Идея интересная, так как практически полная децентрализация и всё работает поверх уже существующей инфраструктуры. Но те, кто понимают, как работает почта, сразу увидят кучу минусов. Тут и шанс попасть под спам фильтры, и greylisting, и задержки при доставке почты по smtp, и просто потери писем, которые иногда случаются. Всё это в целом с натяжкой тянет на полноценный чат. Никогда не будешь уверен, что твое сообщение быстро и гарантированно будет доставлено.

В таком виде, как реализовано, мне кажется, тема не пойдёт в массы. Ей самое место в каком-нибудь почтовом клиенте, пусть даже и в web. Там удобно вести подобную переписку, а как отдельное приложение для чата, мне кажется, не очень уместно.

Как бонус, бэкап всей переписки в ящиках, правда в зашифрованном виде. Не знаю, в каком виде потом всё это можно посмотреть, если сам чат будет удалён с компьютера. На базе уведомлений о доставке и прочтении реализована индикация доставки и прочтения сообщений в чате. Сам чат выглядит приятно. Интерфейс простой и понятный.

И да, это полностью open source:
https://github.com/deltachat
https://delta.chat/

#chat
​​Дети в Интернете. Все, что нужно знать о контентной фильтрации в образовательных учреждениях.

🗓 30 сентября в 14:00 (мск) разработчики шлюза Интернет Контроль Сервер проведут вебинар на тему доступа в интернет в учебных заведениях, что подразумевает четкое выполнение требований законодательства в области защиты детей от опасной информации.

На вебинаре вам расскажут, как с помощью контент-фильтра Интернет Контроль Сервер и дополнительных модулей Kaspersky можно обеспечить безопасный доступ в сеть и беспрепятственно пройти прокурорскую проверку.

Вы узнаете о преимуществах использования контент-фильтра перед фильтрацией от провайдеров, об отличиях ИКС от простых модулей фильтрации, а также о дополнительных категориях трафика Kaspersky Web Filtering.

👉 Регистрация на бесплатный вебинар.

У меня на сайте написан цикл статей по этому шлюзу, где я разбираю установку и настройку продукта.

Вы можете скачать и протестировать полнофункциональную версию шлюза в течении 35 дней, либо воспользоваться бесплатной версией.

#реклама #бесплатно #текст_мой #икс
​​ZeroViewer - бесплатная программа для удаленной поддержки пользователей. Условно можно назвать self-hosted аналогом программ типа TeamViewer, Anydesk и т.д. В качестве сервера, через который устанавливается соединение, может выступать любой ssh server. Подключения запускаются с помощью kitty (виндовый ssh клиент). Для отображения экрана удаленной машины используется реализация vnc на базе TightVNC.

Клиент доступен только для ОС Windows. Все настройки хранит в обычном ini файле, что упрощает переносимость. Нужно понимать, что соединения по ssh не очень быстрые. Плюс протокол vnc тоже очень требователен к скорости канала. Так что получить сопоставимое качество картинки с tv или anydesk не получится. Зато всё полностью под твоим контролем, плюс надежное шифрование из коробки на базе ssh. Полностью бесплатных аналогов я даже и не знаю.

Сайт программы: https://null.la/
Обсуждение:
https://4pda.to/forum/index.php?showtopic=973515
http://forum.ru-board.com/topic.cgi?forum=5&topic=49838

Программа бесплатная, но исходников в открытом доступе нет, так что использовать на свой страх и риск.

#remote #selfhosted
​​В системах Unix есть полезная утилита, которая возвращает тип введённой в оболочку команды. Речь пойдёт об утилите type. Она может быть как частью оболочки, так и отдельным бинарником. Проверить это можно с её же помощью.
# type type
type is a shell builtin

В данном случае утилита type является встроенной в оболочку bash. С её помощью вы можете понять, что именно будет исполнено, если вы введёте ту или иную команду. Например:
# type echo
echo is a shell builtin

Если просто ввести echo в терминал, будет выполнена встроенная в оболочку утилита. Но при этом есть и бинарник. Проверить, где он, можно с помощью добавления ключа P. Тогда type будет проверять только бинарники в PATH.
# type -P echo
/usr/bin/echo

В скриптах, или консоли, вы можете использовать путь к бинарнику echo. Он отличается от того, что встроено в консоль. Убедиться в этом очень просто. Введите в консоли две команды и сравните результат. Подумайте, почему он разный.
# echo --help
# /usr/bin/echo --help

Type маленькая утилита, которая только выводит информацию о введённой команде в консоль. С ее помощью можно определить, что будет выполнено: alias, function, builtin, file или keyword. Если добавить ключ a, то будут выданы все варианты команды:
# type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls

#bash
​​Делюсь с вами простым и удобным скриптом для автоматического бэкапа mysql баз с помощью mysqldump - AutoMySQLBackup. Это обычный bash скрипт, который упрощает рутинные задачи по бэкапу, предлагая встроенный функционал.

https://github.com/sixhop/AutoMySQLBackup

Основные возможности скрипта:
Сжимает бэкапы баз и раскладывает их по отдельным директориям.
Поддерживает многопоточные архиваторы типа pigz, позволяет управлять количеством потоков.
Автоматически ротирует дневные, недельные, месячные архивы по заданным параметрам.
Позволяет использовать ключи mysqldump.
Умеет хранить настройки в отдельном конфигурационном файле.
Можно гибко управлять набором баз для бэкапа, вручную указывая их или управляя списком с помощью шаблонов.
Умеет отправлять результаты своей работы по почте.
Может шифровать дампы указанным ключом.
Запуск своего скрипта до или после выполнения бэкапа.

Вот простой конфиг для ежедневного бэкапа баз mysql за исключением performance_schema и information_schema. Ежедневные бэкапы хранятся 7 дней, недельные 31 день, месячные год.

CONFIG_mysql_dump_username='root'
CONFIG_mysql_dump_password='parol'
CONFIG_mysql_dump_host='localhost'
CONFIG_backup_dir='/mnt/backup'
CONFIG_multicore='no'
CONFIG_db_names=()
CONFIG_db_exclude=( 'performance_schema' 'information_schema' )
CONFIG_db_exclude_pattern=()
CONFIG_do_monthly='01'
CONFIG_do_weekly='7'
CONFIG_rotation_daily=6
CONFIG_rotation_weekly=31
CONFIG_rotation_monthly=360

После работы сккрипта в директории /mnt/backup будет создана структура директорий:

daily - ежедневные бэкапы, где каждая база будет в своей директории;
fullschema - только структура всех баз данных;
latest  - если указать соответствующую настройку, то в этой директории всегда будут лежать бэкапы от последнего запуска. Удобно отсюда их забирать куда-то в другое место сразу после окончания бэкапа.
monthly - месячные бэкапы;
status - список баз каждого запущенного бэкапа;
tmp - для временных файлов;
weekly - недельные бэкапы;

Рекомендую так же прочитать мою заметку про выбор параметров для mysqldump. Там есть важные моменты, которые влияют на успешность создания дампа.

#bash #mysql #backup
​​Вы какой firewall в Linux используете? Iptables или уже перешли на nftables? Я по прежнему первый. Уже давно запланировал изучить nftables и перейти на него, но всё никак. Причина тут проста - я хорошо знаю iptables и он меня полностью устраивает. Ничего нового, перейдя на nftables, для себя не получу. Только все конфиги и правила переписывать придётся.

Для iptables есть интересный проект по графическому отображению правил - iptables-vis - https://github.com/Nudin/iptable_vis. Я его потестировал. Работает неплохо. Можно где-то использовать, например в документации для людей, не знакомых с синтаксисом iptables. Картинки вполне наглядные получаются.

Для рисования схем используется blockdiag, который написан на python. Проще всего поставить через pip:
# dnf install python3-pip
# apt install python3-pip
# pip install blockdiag

Потом клонируем себе репозиторий и рисуем схему:
# git clone https://github.com/Nudin/iptable_vis
# cd iptable_vis
# iptables -v -L > iptables.txt
# awk -f iptables-vis.awk < iptables.txt > iptables.dia
# blockdiag iptables.dia -T svg -o iptables.svg

Забирайте файл iptables.svg и смотрите любым просмотрщиком этого формата. Я в обычном браузере открыл.

#iptables
Реферальная программа облачного провайдера Cloud4Y

Зарабатывайте 10% от суммы контракта с привлеченного по вашей ссылке клиента.

Кому подходит программа:
🔹ИТ-специалистам
🔹Специалистам по информационной безопасности 
🔹Специалистам по арбитражу трафика 
🔹Любым компаниям и физическим лицам, имеющим свою площадку и аудиторию

Преимущества: 
🔸Никаких обязательств перед клиентами 
🔸Юридическая защита через договор
🔸Рост дохода при росте клиента 
🔸Безупречная репутация компании на облачном рынке  
🔸Прозрачная система выплат любыми удобными способами

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

Узнать подробнее.

#реклама
​​Бесплатный антивирус для сайтов - https://virusdie.com. Сразу говорю, что это не реклама, а мой опыт использования. Приходится делать такие пометки, так как регулярно вижу комментарии о том, что я что-то рекламирую. Абсолютно вся оплаченная реклама на канале помечается соответствующим тэгом. Если его нет, значит это моя личная инициатива написать о том или ином продукте.

Сервис virusdie.com позволяет бесплатно раз в месяц проверять на наличие вирусов один сайт. Для этого надо зарегистрироваться и подтвердить своё владение сайтом. Делается это с помощью загрузки проверочного файла в корень сайта, который по сути является вебшелл. Имейте это ввиду. Сканирование сайта происходит не снаружи, а внутри, через этот php файл. После проверки вы получите отчёт на почту. У компании одно время был блог на хабре.

Вообще, тема антивирусов для сайтов как-то совсем не развита. Раньше был неплохой антивирус revisium, который можно было купить сразу с установкой и регулярной поддержкой, обслуживанием. Но в какой-то момент их купили, сделали ребрендинг и русскоязычного сервиса вообще не осталось.

Был еще бесплатный aibolit от той же компании Revisium. Его постигла та же участь. Компания Revisium вошла в группу CloudLinux. Антивирус revisium получил название ImunifyAV. Продукты Revisium стали частью системы комплексной безопасности серверов Imunify360, AI-Bolit в Imunify360 стал Malware Scanner. Бесплатной версии больше нет. Компания CloudLinux, как я понял, ориентирована на англоязычный рынок. Простых способов оплатить российскому юрлицу я не нашел, как и просто телефона тех. поддержки на русском языке.

Есть еще Manul от Яндекса, но не развивается уже давно. Да и на старте был не очень.

Лично я антивирусы для сайтов заменяю подробными схемами бэкапов, когда есть возможность откатиться или восстановить изменённые файлы с достаточной глубиной архивов. Непосредственно исходники стараюсь хранить как можно дольше, в идеале вообще не удаляю.

#сайт #антивирус
​​Небольшая обучающая задача. Кто-то знает, почему следующая команда, запущенная в терминале Linux от обычного пользователя, не будет выполнена:

sudo echo "nameserver 192.168.0.1" > /etc/resolv.conf

Команда запускается от обычного пользователя, далее вводится пароль для повышения привилегий через sudo. По идее, мы должны заменить содержимое файла адресом 192.168.0.1, но этого не произойдёт. Получите ошибку:

-bash: /etc/resolv.conf: Permission denied

Но при этом ту же команду sudo su ты можешь успешно выполнить и стать рутом.

#загадка #bash #terminal
В прошлую пятницу было развлекательное видео с человеком по имени Joma. Я посмотрел повнимательнее его канал. Там много всего интересного. Судя по всему он не только хороший инженер, но и талантливый человек. Видео очень качественно сделаны, как технически, так и по актерской игре, смыслам.

Хочу поделиться с вами видео, где он описывает свою технику. Там есть на что посмотреть. Обратил внимание я, как и многие, в первую очередь на его мониторы. Они реально необычные, особенно основной. Он рассказал, зачем и почему у него именно такой набор. Условно они делятся на 5 стандартных рабочих зон - три снизу и две сверху.

Поделюсь своим мнением на этот счёт. Лично я большую часть своего времени за компьютером провожу за одним монитором full hd, хотя дома оборудовал рабочее место с тремя. За собой заметил, что информация на вспомогательных мониторах мне мешает. Исключение - когда реально надо в режиме реального времени за чем-то наблюдать и параллельно что-то делать. Но это бывает редко.

В остальное время дополнительные мониторы отключаю. Мне удобнее переключаться между задачами в рамках одного экрана. Это позволяет лучше фокусироваться на задаче и не отвлекаться. А вы что думаете по этому поводу? Сколько мониторов используете в повседневной работе?

https://www.youtube.com/watch?v=0oBi8OmjLIg

#видео