NetworkAdmin.ru – Telegram
NetworkAdmin.ru
4.75K subscribers
226 photos
25 videos
2 files
499 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
👤 TOTP-авторизация в Linux: двухфакторка прямо в консоли

Хотите добавить второй фактор авторизации в linux, но без заморочек с внешними порталами и веб-интерфейсами? Все можно сделать прямо в терминале с помощью PAM и TOTP. Покажу, как настроить двухфакторную авторизацию через google authenticator или oathtool.

1️⃣ Установка модуля PAM для TOTP.


sudo apt install libpam-google-authenticator # на debian/ubuntu
sudo yum install google-authenticator # на RHEL/centOS


2️⃣ Генерация секретного ключа для пользователя. Под нужным пользователем запускаем:


google-authenticator


Вы получите:

📍Секретный ключ (его нужно добавить в приложение google authenticator или аналог);
📍URL в формате otpauth://...;
📍Резервные коды на случай потери доступа;

3️⃣ Настройка PAM. Открываем PAM-конфиг sshd:


sudo nano /etc/pam.d/sshd


Добавляем в начало:


auth required pam_google_authenticator.so


Также нужно разрешить использование PAM в sshd_config:


sudo nano /etc/ssh/sshd_config


Убедитесь, что указано:


ChallengeResponseAuthentication yes
UsePAM yes


Перезапускаем SSH:


sudo systemctl restart sshd


Теперь при входе по SSH будет запрашиваться TOTP-код.

4️⃣ Использование oathtool (альтернатива телефону). Если вы хотите получать коды в консоли, используйте oathtool.

Устанавливаем:


sudo apt install oathtool


Пример генерации кода (вставьте свой секретный ключ в base32):


oathtool --totp -b 'JBSWY3DPEHPK3PXP'


Можно сделать shell-функцию:


totp() {
oathtool --totp -b "$1"
}


И использовать:


totp JBSWY3DPEHPK3PXP


🌟 Полезно знать

📍Конфигурация хранится в ~/.google_authenticator;
📍Двухфакторка включается для каждого пользователя отдельно;
📍Можно задать ограничения - например, разрешить доступ по SSH только с TOTP, но не требовать при входе локально.

#linux #2FA

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92
🤓

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17🤔2🤡2
📱 Консоль через браузер за 1 минуту с помощью ttyd

Если вдруг понадобилось зайти в терминал через веб или дать кому-то временный доступ - есть простой и удобный способ: ttyd.

▪️ Установка. Скачиваем и устанавливаем:


wget https://github.com/tsl0922/ttyd/releases/download/1.7.3/ttyd.i686
mv ttyd.i686 /usr/local/bin/ttyd
chmod +x /usr/local/bin/ttyd


▪️ Запуск. Запускаем веб-терминал с Bash:


ttyd bash


В консоли появится порт (по умолчанию - 7681). Переходим в браузере: http://<IP_сервера>:7681 - и вы в консоли.

▪️ Использование. Вы можете запускать любую CLI-программу:


ttyd top # Мониторинг системы
ttyd mc # Midnight Commander в браузере
ttyd htop # Более наглядный top


▪️ Возможности. Запустите ttyd без параметров, чтобы увидеть все опции:

📍выбор порта и интерфейса (-p, -i);
📍basic-аутентификация (--credential);
📍режим только для чтения (--readonly);
📍автоматическое переподключение и прочее.

Утилита идеальна для быстрой отладки, демонстрации или временного доступа без SSH-настройки. Например, можно повесить top в read-only режиме для удаленного мониторинга.

#linux #ttyd

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
🌐 Кастомный DNS-сервер на dnsmasq

Если нужен легкий и быстрый способ настроить локальный DNS-сервер для офиса, дома или тестовой среды - обратите внимание на dnsmasq. Это компактная и мощная утилита, которая может:

📍Резолвить домены локально (например, dev.local);
📍Кэшировать DNS-запросы;
📍Делать форвардинг к другим DNS-серверам;
📍Работать как DHCP-сервер (опционально).

▪️ Установка


sudo apt install dnsmasq


▪️ Базовая конфигурация. Файл: /etc/dnsmasq.conf. Пример минимальной настройки:


# Основной DNS, к которому будут проксироваться внешние запросы
server=8.8.8.8

# Зона для кастомных записей
domain-needed
bogus-priv
no-resolv

# Свое доменное имя
domain=local

# Файл с кастомными DNS-записями
addn-hosts=/etc/dnsmasq.hosts


Создаем файл кастомных записей:


sudo nano /etc/dnsmasq.hosts


Пример содержимого:


192.168.1.100 web.local
192.168.1.101 db.local


▪️ Запуск и автозапуск. Перезапускаем:


sudo systemctl restart dnsmasq


Убедитесь, что он включен при старте:


sudo systemctl enable dnsmasq


▪️ Проверка. Убедитесь, что DNS отвечает:


dig @127.0.0.1 web.local +short


Ответ должен быть 192.168.1.100

Чтобы система использовала ваш dnsmasq:


sudo nano /etc/resolv.conf


И указать:


nameserver 127.0.0.1


⚠️ NetworkManager может перезаписывать этот файл. В таком случае - настройте его отдельно через /etc/NetworkManager/conf.d/

#DNS #dnsmasq

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105
🗂️ Почему 20 МБ вложений в почте - это не всегда 20 МБ

На одном из почтовых серверов попросили поднять лимит на размер вложений - якобы 10 МБ им не хватает. Но ведь по умолчанию стоит лимит на размер письма в 20 МБ, что является универсальным значением. Раздавать «безлимит» на вложения плохое дело - это быстро раздувает почтовую базу, особенно когда сотрудники начинают слать друг другу презентации и макеты по 100 раз на день.

В чем подвох

Ограничение в конфигурации - это размер всего письма, а не только вложения. И тут важно помнить, что вложения передаются в письме в кодированном виде, а значит, занимают больше места.

В электронной почте чаще всего используются два метода кодирования, описанные в стандарте MIME:

Base64 - самый распространенный, увеличивает размер вложения примерно в 1,3 раза;
Quoted-printable - встречается реже, но может раздувать файл до 3 раз.


▪️ Как это выглядит. Сохранив письмо и открыв его в текстовом редакторе, вы можете увидеть что-то вроде:


Mime-Version: 1.0
Content-Type: application/pdf; name="file.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="file.pdf"


Здесь PDF-файл закодирован и представлен в виде ASCII-символов.

Если в конфиге указано ограничение на размер письма в 20 МБ, это не значит, что пользователь сможет отправить вложение на 20 МБ. Реально «пролезет» меньше, иногда заметно меньше - из-за особенностей кодирования.

#email #MIME

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
✈️ Стресс-тестирование дисков и SSD в Linux

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

▪️ Установка


apt install fio# debian/ubuntu

yum install fio# centOS


▪️ Пример теста. Последовательное чтение (1 ГБ):


fio --name=seqread --rw=read --bs=1M --size=1G --numjobs=1 --runtime=60 --group_reporting


--rw=read - режим чтения
--bs=1M - размер блока (1 МБ)
--size=1G - объем данных
--numjobs=1 - количество потоков
--runtime=60 - время теста в секундах
--group_reporting - агрегированный вывод результатов


▪️ Случайная запись (имитация нагрузки на БД)


fio --name=randwrite --rw=randwrite --bs=4k --size=1G --numjobs=4 --runtime=60 --group_reporting


--rw=randwrite - случайная запись
--bs=4k - размер блока (типично для БД)
--numjobs=4 - 4 параллельных потока


▪️ Комбинированная нагрузка (чтение/запись 70/30)


fio --name=mixed --rw=randrw --rwmixread=70 --bs=8k --size=2G --numjobs=2 --runtime=60 --group_reporting


--rw=randrw - чтение/запись
--rwmixread=70 - 70% чтения, 30% записи


🌟 Важно

📍fio перезаписывает тестируемый участок!!! Поэтому не запускайте его на проде в разделах с важными данными.
📍Для тестирования всего диска без файловой системы используйте /dev/sdX.
📍Запускайте тесты с sudo, чтобы избежать кеширования на уровне ОС.

#linux #fio

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Сразу понятно, что релиз удался

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁13🔥1
🧹 Как чистить и ограничивать размер логов journald

В большинстве современных дистрибутивов linux системные логи ведет systemd-journald - в бинарном формате, а не в виде привычных текстовых файлов syslog. Эти логи со временем могут занимать гигабайты места, поэтому за ними нужно следить.

▪️ Проверяем размер логов


journalctl --disk-usage


По умолчанию файлы хранятся в /var/log/journal.

▪️ Настройка ограничения размера. Основные параметры в /etc/systemd/journald.conf:


[Journal]
SystemMaxUse=1024M # общий лимит размера логов
SystemMaxFileSize=50M # максимальный размер одного файла


После изменения конфигурации перезапустите journald:


systemctl restart systemd-journald.service


По умолчанию journald может занимать до 10% объема раздела, но не более 4 ГБ. На практике чаще встречается именно лимит в 4 ГБ.

▪️ Обрезка логов вручную. До определенного объёма:


journalctl --vacuum-size=1024M


По сроку хранения:


journalctl --vacuum-time=7d


Обе команды можно добавить в cron, чтобы чистка выполнялась автоматически.

▪️ Ограничение логов для конкретной службы. Если только один сервис «засоряет» журнал, можно выделить ему отдельное пространство логов. Например, для ssh:


systemctl edit ssh


Добавляем:


[Service]
LogNamespace=ssh


Создаём конфиг /etc/systemd/journald@ssh.conf:


[Journal]
SystemMaxUse=20M


Перезапускаем службу:


systemctl restart ssh


Просмотр её логов:


journalctl --namespace ssh


#linux #journald

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
🔒 Ужесточаем политику паролей в linux с PAM и libpwquality

Слабые пароли - одна из важных и актуальных тем. В linux можно усилить требования к паролям через PAM и модуль libpwquality, чтобы пользователи не ставили что-то вроде qwerty123.

▪️ Установка


yum install libpwquality #centOS

apt install libpam-pwquality #ubuntu/debian


▪️ Настройка. Редактируем файл:


/etc/security/pwquality.conf


Пример строгих настроек:


minlen = 12
minclass = 3
maxrepeat = 2
maxsequence = 3
dictcheck = 1


minlen - минимальная длина пароля
minclass - количество обязательных классов символов (строчные, заглавные, цифры, спецсимволы)
maxrepeat - максимум одинаковых символов подряд
maxsequence - длина допустимой последовательности (abc, 123 и т.д.)
dictcheck - проверка на словарные пароли


▪️ Подключение в PAM. Открываем:


/etc/pam.d/common-password # debian/ ubuntu
/etc/pam.d/system-auth # centOS


Находим строку с pam_pwquality.so и добавляем параметры:


password requisite pam_pwquality.so retry=3 enforce_for_root


retry=3 - количество попыток ввода
enforce_for_root - применить правила даже для root


▪️ Проверка. Меняем пароль:


passwd user


Если пароль не соответствует правилам, PAM выдаст сообщение с указанием, что именно не так.

#security #password

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112
А это главное 😏

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😁8
This media is not supported in your browser
VIEW IN TELEGRAM
Когда в столовой проходишь мимо бухгалтера, которому обещал настроить принтер (да как у тебя вообще совести хватает пойти на обед, когда я не могу ничего распечатать)

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁161
🔫🔫🔫 день, а это означает, что пора поздравлять вас с днём программиста!

Желаю вам, чтобы Ваша зп росла быстрее, чем количество тасок. И пусть в жизни, как в коде, всегда находится правильный алгоритм! 🔫

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍5🫡1
👀 Смотрим логи systemd через браузер

Systemd умеет не только собирать и хранить логи, но и отдавать их по HTTP. Для этого есть служба systemd-journal-gatewayd, которая позволяет просматривать журнал прямо в браузере. Настраивается все буквально в пару шагов (пример для debian).

▪️ Установка и запуск. Устанавливаем пакет:


apt install systemd-journal-remote


Запускаем службу:


systemctl start systemd-journal-gatewayd.service


По умолчанию используется порт 19531.

▪️ Просмотр логов. Обзор всех логов:

http://10.25.1.55:19531/browse


Только логи текущей загрузки:


http://10.25.1.55:19531/entries?boot


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

▪️ Работа через curl. Те же данные можно забирать в JSON-формате. Например, логи для ssh.service:


curl --silent -H 'Accept: application/json' \
'http://10.25.1.55:19531/entries?UNIT=ssh.service'


▪️ Логи с удаленных машин. systemd-journal-gatewayd умеет работать не только с локальным журналом, но и с логами, собранными с других серверов. Для этого можно указать директорию с журналами:


systemd-journal-gatewayd -D /path/to/logs


#systemd #logs

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ Настройка WinRE под свои задачи

WinRE - это встроенная среда восстановления для windows, которая запускается при проблемах с загрузкой системы или вручную через установочный носитель/средства восстановления. Обычно ее используют для диагностики и восстановления, но среду можно адаптировать под собственные задачи.

▪️ Проверка состояния WinRE. Проверим, активна ли WinRE и где она расположена:


reagentc /info


Если среда отключена, включаем ее:


reagentc /enable


▪️ Кастомизация WinRE. WinRE хранится в Winre.wim (обычно на скрытом разделе Recovery или в C:\Recovery\WindowsRE).

Создаем рабочую директорию и монтируем образ:


mkdir C:\WinRE_Mount
dism /mount-image /imagefile:C:\Recovery\WindowsRE\Winre.wim /index:1 /mountdir:C:\WinRE_Mount


Внутри смонтированного образа можно:

📍добавить свои утилиты (например, антивирусы, сетевые инструменты, скрипты диагностики);
📍заменить стандартные программы (например, cmd.exe на powershell или стороннюю оболочку);
📍внедрить драйверы и дополнительные пакеты:


dism /image:C:\WinRE_Mount /add-driver /driver:C:\Drivers\ /recurse
dism /image:C:\WinRE_Mount /add-package /packagepath:C:\Updates\update.cab


После внесенных изменений сохраняем:


dism /unmount-image /mountdir:C:\WinRE_Mount /commit


#windows #winRE

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131
📁 Как ограничить использование inodes в linux и зачем это нужно

В linux каждый файл или каталог хранится в виде структуры данных, называемой inode (index node). Inode содержит метаданные: права доступа, владельца, временные метки и ссылки на блоки с данными.

Даже если у вас много свободного места на диске, но закончились inodes - новые файлы создать не получится. Чаще всего такая ситуация возникает на серверах, где генерируются миллионы мелких файлов (логи, временные данные, кеши).

▪️ Проверка использования inodes. Чтобы посмотреть статистику по inode на всех файловых системах:


df -i


В столбцах будет видно общее количество inode, сколько уже занято и сколько осталось.

▪️ Ограничение использования inodes

Inode создаются при форматировании файловой системы. Параметры задаются утилитой mkfs (для ext4 - mkfs.ext4). Например, создаем файловую систему с фиксированным количеством inode:


mkfs.ext4 -N 2000000 /dev/sdb1


Здесь -N задает количество inode. По умолчанию mkfs.ext4 рассчитывает их исходя из соотношения «один inode на 16К дискового пространства». Если ожидается много мелких файлов, можно увеличить плотность inode:


mkfs.ext4 -i 4096 /dev/sdb1


(один inode на каждые 4К).

▪️ Ограничение на уровне пользователей

Чтобы не допустить, что один пользователь «забьет» диск миллионами файлов, используют квоты. Включаем поддержку квот в /etc/fstab:


/dev/sdb1 /home ext4 defaults,usrquota,grpquota 0 2


Перемонтируем файловую систему:


mount -o remount /home


Создаем файлы для квот и включаем их:


quotacheck -cum /home
quotaon /home


Ограничиваем inode для пользователя:


edquota -u username


В открывшемся редакторе можно задать soft/hard limit для количества файлов (inodes).

#filesystem #inodes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131
Нет повода не доверять

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁213🔥2
🔹 Шифрование диска в linux

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

▪️ Установка:


apt install cryptsetup # debian


▪️ Создание и подключение зашифрованного раздела
1️⃣Инициализируем шифрование (данные будут уничтожены):


cryptsetup luksFormat /dev/sdb1


2️⃣ Подключаем зашифрованный раздел:


cryptsetup luksOpen /dev/sdb1 lukscrypt


После этого появится устройство /dev/mapper/lukscrypt.

▪️ Использование. Создаем файловую систему и монтируем:


mkfs.ext4 /dev/mapper/lukscrypt
mkdir /mnt/crypt
mount /dev/mapper/lukscrypt /mnt/crypt


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

#LUKS #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🤩 Простой способ сделать вывод читаемым

Иногда команды в linux выдают данные так, что разобраться в них сложно: все идет сплошным текстом, столбцы "пляшут". В таких случаях выручает утилита column, которая форматирует вывод в аккуратные таблицы.

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

▪️ Примеры использования
1️⃣ Красивый вывод mount:


mount | column -t


Сразу видно, где какая файловая система и куда она примонтирована - читается намного удобнее.

2️⃣ Работа с произвольными разделителями. Например, файл /etc/passwd разделен двоеточиями. Сделаем его аккуратной таблицей:


column -s ":" -t /etc/passwd


Теперь строки легко обрабатывать, например, через awk. Выведем только имена пользователей:


column -s ":" -t /etc/passwd | awk '{print $1}'


Каждое имя - в отдельной строке. Отличный способ быстро собрать список, массив или передать данные.

#linux

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
🔼 Использование tmpfs для ускорения работы системы и снижения износа SSD

tmpfs - это файловая система, которая хранит данные в оперативной памяти (RAM). Она монтируется как обычный каталог и доступна для приложений прозрачно, но при этом все записи идут не на диск, а в память.

Зачем это может быть полезно:

📍Ускорение работы - операции чтения/записи из RAM значительно быстрее, чем даже на NVMe SSD.
📍Снижение износа SSD - временные файлы не пишутся на диск, что уменьшает количество циклов записи.
📍Автоматическая очистка - содержимое tmpfs исчезает при перезагрузке.


Примеры использования tmpfs

1️⃣ Временные каталоги. Во многих дистрибутивах /tmp по умолчанию монтируется как tmpfs. Если нет - можно добавить в /etc/fstab:


tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0


2️⃣ Кэш браузеров или сборочных систем. Можно вынести тяжёлые временные каталоги (например, npm/yarn cache или /var/cache/pacman) в tmpfs.


tmpfs /var/cache tmpfs defaults,noatime,size=2G 0 0


3️⃣ Компиляция и сборка проектов. Чтобы ускорить работу make, cargo или других сборочных систем, удобно монтировать директорию build/ в RAM:


mount -t tmpfs -o size=4G tmpfs ./build


Ограничение по размеру

Размер tmpfs можно задавать вручную (size=1G), иначе по умолчанию он занимает до половины ОЗУ.

⚠️ Важные нюансы

📍Если память закончится, ядро начнет использовать swap. Это может замедлить работу, а в худшем случае - привести к OOM.
📍Все данные из tmpfs теряются при перезагрузке. Для временных файлов это нормально, но хранить там что-то важное нельзя.

#linux #SSD

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
Bonding vs Teaming: что выбрать для отказоустойчивости сетей в linux

Когда нужно объединить несколько сетевых интерфейсов в один для повышения отказоустойчивости или производительности, в linux есть два основных механизма: bonding и teaming. Оба решают схожие задачи, но работают по-разному.

▪️ Bonding. Классический механизм, существующий в linux уже много лет.

Основные режимы работы:

📍active-backup - один интерфейс активен, остальные в резерве.
📍balance-rr - пакеты отправляются поочерёдно через все интерфейсы.
📍802.3ad (LACP) - агрегирование каналов с поддержкой на стороне коммутатора.
📍balance-xor, broadcast, balance-alb и др.

Плюсы:

Проверенный и стабильный инструмент.
Поддерживается почти во всех дистрибутивах.
Большой выбор режимов.

Минусы:

Ограниченная масштабируемость.
Более тяжелое ядро-зависимое решение (модуль ядра).
Настройка чуть менее гибкая.

▪️ Teaming. Новый механизм (начиная с RHEL 7 и современных систем).

Особенности:

📍Управляется через teamd (пользовательский процесс).
📍Более легкий и гибкий, чем bonding.
📍Поддерживает JSON-конфигурацию и плагины (например, мониторинг линков).
📍Использует те же режимы агрегации (active-backup, roundrobin, lacp и т.д.).

Плюсы:

Гибкая настройка (json + плагины).
Легче масштабировать и управлять.
Мониторинг и логика вынесены в userspace (а не только ядро).

Минусы:

Более сложный для "быстрых правок".
В некоторых дистрибутивах bonding до сих пор по умолчанию используется чаще.

▪️ Что выбрать?

Если у вас традиционная инфраструктура (например, debian, старые centOS, небольшие серверы) - проще использовать bonding: он доступен сразу и без лишних зависимостей.

Если вы работаете с современными centOS или хотите больше гибкости (например, интеграцию с NetworkManager, плагины, мониторинг линков) - выбирайте teaming.

#network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
📄 Быстрая раздача файлов: Python HTTP Server и HFS

Иногда нужно быстро передать файлы по сети, без заморочек с настройкой SMB или FTP. Для этого есть два простых инструмента - один для linux, другой для windows.

🐧 Linux: встроенный веб-сервер Python

В современных дистрибутивах Python уже установлен, так что все сводится к одной команде:


cd /var/log
python3 -m http.server 8181


Открываем браузер, заходим на IP-адрес сервера с портом 8181 и сразу видим содержимое директории.
Файлы скачали - сервер остановили. Удобно и быстро.

🏠 Windows: HFS (HTTP File Server)

Для Windows есть проверенное решение - HFS.
Это небольшой исполняемый файл, который работает на любой версии windows, включая 11. Скачали → запустили → открыли в браузере IP машины.

HFS позволяет публиковать как целые директории, так и отдельные файлы, просто перетащив их в окно программы. В отличие от SMB, который постоянно требует возни с версиями протокола и учетками, HFS работает «из коробки».

▪️ Дополнительные возможности HFS:

📍аутентификация пользователей;
📍логирование;
📍кастомизация внешнего вида через HTML-шаблоны;
📍контроль пропускной способности;
📍работа в фоне.


Программа бесплатна и с открытым исходным кодом.
🔗 Официальный сайт HFS

#linux #windows #tools

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍131