Перейти к содержанию

Операционные системы

49 Темы 90 Сообщения

Операционные системы, кроссплатформенные программы, системы. Unix, Linux, Windows, MacOS и т д.

Подкатегории


  • Раздел «Операционные системы Windows»: обсуждение Windows 10/11, Server, установки, обновлений, оптимизации. Решение ошибок, настройка PowerShell, WSL, Hyper-V. Советы по безопасности, драйверам, автоматизации. Обмен опытом, кейсы, лучшие практики.

    5 15
    5 Темы
    15 Сообщения
    kirilljsxK
    На Windows 11 по умолчанию PDF‑файлы открываются в браузере Microsoft Edge или в Adobe Acrobat — даже если вы это не выбирали. Чтобы сменить программу для открытия PDF, выполните следующие шаги: Откройте меню Пуск и введите в поиске слово «Настройки». Перейдите в раздел Приложения → Приложения по умолчанию. В появившемся списке найдите нужный браузер или программу, которую хотите использовать (например, Comet, Яндекс.Браузер, Google Chrome и т.д.). Пролистайте вниз до расширения .pdf, кликните по нему и выберите нужное приложение. Готово! Теперь все PDF‑файлы будут открываться именно в том браузере или программе, которую вы указали. Ниже я приложил скрины что бы было проще ориентироваться и куда нажимать. [image: 1776262618035-e8eda052-7714-4c3a-9c15-271b7f84c0c6-image.webp] [image: 1776262954246-d49e31bb-3967-4e19-8352-52ca9b5e0dad-image.webp] [image: 1776262659377-b3746374-77ce-43d5-aee5-8dffd4e3415d-image.webp] [image: 1776262678755-4039f88d-f527-4acf-a769-4667536f39e9-image.webp] [image: 1776263063584-15627b48-9d25-4429-923c-168d9f53a681-image.webp]
  • macOS Sonoma, Ventura: настройка, обновления, совместимость с M1/M2. Time Machine, iCloud, Terminal, Homebrew. Виртуализация (Parallels, VirtualBox), скрипты (AppleScript, Automator), безопасность (Gatekeeper, FileVault). Кейсы разработки (Xcode), оптимизация, решение ошибок.

    2 7
    2 Темы
    7 Сообщения
    kirilljsxK
    И так долго я искал решение для того что бы подключить несколько мониторов к своему MacBook Air m4. Что потребуется: Док-станция с несколькими выходами HDMI / DP, у меня Док-станция Acasis 15 портов. Утилита Displaylink Скачиваем утилиту, устанавливаем и даем ей разрешение на запись экрана. Примечание от разработчиков DisplayLink: мы не записываем данные с экрана или звук. Разрешение требуется только для того, чтобы предоставить вам доступ к дополнительным экранам. [image: 1771919273475-%D1%81%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-2026-02-24-%D0%B2-10.47.46.webp] Перезапускаем систему и пользуемся.
  • Обсуждение дистрибутивов (Ubuntu, Debian, CentOS), настройки ядра, работы с терминалом, пакетными менеджерами (apt, yum), скриптами (Bash/Python). Решение проблем, виртуализация (KVM, Docker), безопасность (SELinux, iptables), серверная адмистрация. Советы, кейсы, помощь новичкам

    6 13
    6 Темы
    13 Сообщения
    MugiwaraM
    Firewall (брандмауэр) — это охранник на входе вашего сервера. Его задача — пропускать только нужный трафик и блокировать всё остальное. Представьте, что ваш сервер — это офис: Без firewall: двери открыты всем. Заходит кто угодно, включая злоумышленников. С firewall: охранник на входе проверяет каждого. Допускает только тех, у кого правильные документы (разрешённые подключения). По умолчанию в Linux установлена система iptables — это мощный инструмент фильтрации трафика на уровне ядра. Но iptables имеет сложный синтаксис. Поэтому появился ufw (Uncomplicated Firewall) — упрощённый интерфейс над iptables, который переводит простые команды в сложные iptables-правила. Важные концепции Что такое портЭто канал связи. Каждое приложение слушает трафик на своём порту. Типы портов: 0–1023 — системные (зарезервированные) порты. Требуют прав администратора. 22 — SSH (удалённое управление) 80 — HTTP (веб-сайты без шифрования) 443 — HTTPS (веб-сайты с шифрованием) 21 — FTP (передача файлов, устаревший) 25, 587 — SMTP (отправка почты) 110, 143 — POP3, IMAP (получение почты) 53 — DNS (переводит имена в IP-адреса) 1024–49151 — зарегистрированные порты. Используют приложения. 49152–65535 — динамические (ephemeral) порты. Система назначает их временно. TCP и UDP — разница Трафик по сети может идти двумя протоколами: Характеристика TCP UDP Надёжность Гарантирует доставку всех пакетов в правильном порядке Пакеты могут потеряться, но быстро Скорость Медленнее (из-за проверок) Быстрее Когда использовать SSH, HTTP, HTTPS, FTP, Email — где важна целостность данных Онлайн-игры, видеозвонки, DNS — где важна скорость Пример Вы отправляете письмо — оно должно дойти полностью Вы смотрите видео — потеря пары кадров некритична Важно: TCP-порт 22 отличается от UDP-порта 22. Это разные каналы! Stateful firewall (с отслеживанием состояния) UFW и iptables работают как stateful firewalls. Это означает, что они запоминают установленные соединения и разрешают ответные пакеты без дополнительных правил. Пример: Вы подключаетесь к серверу SSH (порт 22). После проверки первого пакета firewall запоминает это соединение. Ответный трафик от сервера пропускается автоматически, даже если нет явного разрешающего правила для него. Это значит, что вам не нужно писать два правила — одно для входящего, одно для исходящего трафика для каждого соединения. Архитектура iptables UFW работает над iptables, поэтому важно понимать его структуру. iptables ├── Таблицы (tables) │ ├── filter (фильтрация трафика) — **используется в 99% случаев** │ ├── nat (преобразование адресов) │ ├── mangle (изменение пакетов) │ ├── raw (исключения из отслеживания) │ └── security (правила безопасности) │ └── Цепи (chains) — последовательности правил ├── INPUT (входящий трафик) ├── OUTPUT (исходящий трафик) └── FORWARD (форвардинг через машину, как роутер) Таблица filter Таблица filter — это то, где вы выполняете классическую фильтрацию: INPUT — пакеты, пришедшие на ваш сервер Внешний хост → [Твой сервер] (INPUT правила применяются здесь) Используется для блокировки/разрешения входящих подключений (SSH, HTTP, HTTPS). OUTPUT — пакеты, отправляемые вашим сервером [Твой сервер] → (OUTPUT правила применяются здесь) → Внешний хост По умолчанию разрешены все исходящие пакеты. Можно запретить, если нужна максимальная безопасность. FORWARD — пакеты, которые проходят через вашу машину (используется только если вы настраиваете маршрутизацию) Сеть A → [Твой сервер как роутер] → (FORWARD правила) → Сеть B Для обычного сервера FORWARD не используется. Порядок применения правил Правила проверяются сверху вниз до первого совпадения. Как только найдено правило, применяется его действие и дальше проверок не идёт. Важно: порядок правил критичен! Правило 1: DENY из 10.0.0.37 Правило 2: ALLOW из сети 10.0.0.0/24 Если 10.0.0.37 подключится, сработает правило 1 и соединение заблокируется. Правило 2 никогда не сработает для этого IP. Если поменять местами: Правило 1: ALLOW из сети 10.0.0.0/24 Правило 2: DENY из 10.0.0.37 Тогда 10.0.0.37 будет разрешен по правилу 1, правило 2 игнорируется. UFW — интерфейс для новичков Начало работы с UFW UFW по умолчанию отключен. Перед включением обязательно добавьте правило для SSH (иначе заблокируете себя!): sudo ufw allow 22 sudo ufw enable Проверить статус: sudo ufw status verbose Вывод будет примерно такой: Status: active Default: deny incoming, allow outgoing, disabled routed Это означает: deny incoming — по умолчанию все входящие пакеты блокируются allow outgoing — исходящий трафик разрешён disabled routed — форвардинг отключен Основной синтаксис UFW sudo ufw allow <PORT>[/<PROTOCOL>] [from <IP|NETWORK>] [to <IP>] [comment "КОММЕНТАРИЙ"] sudo ufw deny <PORT>[/<PROTOCOL>] [from <IP|NETWORK>] [to <IP>] [comment "КОММЕНТАРИЙ"] sudo ufw delete allow <PORT>[/<PROTOCOL>] [from <IP|NETWORK>] где: <PORT> — номер порта (22, 80, 443) <PROTOCOL> — tcp или udp (если не указать, применяется к обоим) <IP|NETWORK> — конкретный IP или подсеть (192.168.1.0/24) comment — описание правила (очень полезно!) Примеры правил UFW Разрешить входящий SSH со всех IP: sudo ufw allow 22/tcp comment "SSH access" или просто: sudo ufw allow ssh UFW знает имена популярных сервисов (ssh, http, https, ftp). Разрешить HTTP и HTTPS (веб-сервер): sudo ufw allow 80/tcp comment "HTTP" sudo ufw allow 443/tcp comment "HTTPS" или за раз (в версиях поновее): sudo ufw allow 80,443/tcp Запретить трафик на порт 23 (старый Telnet — небезопасен): sudo ufw deny 23/tcp comment "Block Telnet" Разрешить SSH только с конкретного IP: sudo ufw allow from 192.168.1.100 to any port 22 comment "SSH from office" Разрешить SSH с целой подсети: sudo ufw allow from 192.168.1.0/24 to any port 22 comment "SSH from internal network" Запретить конкретный IP, но разрешить остальных из подсети: sudo ufw allow from 192.168.1.0/24 to any port 22 comment "Allow network" sudo ufw insert 1 deny from 192.168.1.50 to any port 22 comment "Block one host" Вставляем правило блокировки в позицию 1 (самое начало), чтобы оно проверилось первым. Ограничить количество подключений (защита от brute-force SSH): sudo ufw limit 22/tcp comment "Rate limit SSH" Это ограничит соединения: максимум 6 подключений за 30 секунд. После превышения есть пауза перед следующей попыткой. Разрешить трафик на диапазон портов (пассивный FTP): sudo ufw allow 40000:50000/tcp comment "Passive FTP" Разрешить входящие соединения только на интерфейс eth0: sudo ufw allow in on eth0 from 10.0.0.0/24 to any port 22 Используется, если на машине несколько сетевых интерфейсов. Блокировать исходящий трафик на конкретный IP (продвинутое правило): sudo ufw deny out on eth0 to 8.8.8.8 comment "Block outgoing to Google DNS" Просмотр правил Список правил в неупорядоченном виде: sudo ufw status Вывод: Status: active To Action From -- ------ ---- 22/tcp ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 443/tcp ALLOW IN Anywhere Список с номерами (нужно для удаления): sudo ufw status numbered Вывод: To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 443/tcp ALLOW IN Anywhere Подробный список с информацией о логировании: sudo ufw status verbose Удаление правил По номеру (проще): sudo ufw status numbered sudo ufw delete 2 После удаления номера остальных правил сдвигаются вверх! По полной спецификации: sudo ufw delete allow 80/tcp Спецификация должна точно совпадать с исходным правилом. Очистить все правила и отключить firewall: sudo ufw reset Подтвердите. Внимание — все правила удалятся! Логирование UFW Включить логирование: sudo ufw logging on Отключить: sudo ufw logging off Просмотреть логи: sudo tail -f /var/log/ufw.log Логи обновляются в реальном времени. Практический сценарий: настройка веб-сервера Представим, вам нужен веб-сервер с SSH-доступом. Вот как его настроить: # Добавляем правило для SSH (ОБЯЗАТЕЛЬНО ПЕРВЫМ!) sudo ufw allow 22/tcp comment "SSH access" # Включаем firewall sudo ufw enable # Добавляем HTTP sudo ufw allow 80/tcp comment "HTTP" # Добавляем HTTPS sudo ufw allow 443/tcp comment "HTTPS" # Проверяем результат sudo ufw status numbered Вывод: To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 80/tcp ALLOW IN Anywhere [ 3] 443/tcp ALLOW IN Anywhere Всё остальное блокируется автоматически! Хотим запретить HTTP (оставить только HTTPS): sudo ufw delete allow 80/tcp Результат: To Action From -- ------ ---- [ 1] 22/tcp ALLOW IN Anywhere [ 2] 443/tcp ALLOW IN Anywhere iptables — мощь и сложность Если UFW не справляется — нужен iptables. Это база под UFW. Просмотр iptables-правил Список всех правил в filter-таблице: sudo iptables -L -v -n Флаги: -L — list (показать) -v — verbose (подробно) -n — numeric (показывать IP вместо имён хостов, быстрее) Вывод: Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy ACCEPT) ... Chain OUTPUT (policy ACCEPT) ... Список с номерами строк (для удаления): sudo iptables -L -v -n --line-numbers Просмотреть таблицу NAT: sudo iptables -t nat -L -v -n Просмотреть таблицу mangle: sudo iptables -t mangle -L -v -n Добавление правил в iptables Синтаксис: sudo iptables -A CHAIN -p PROTOCOL --dport PORT -j ACTION где: -A CHAIN — добавить в цепь (INPUT, OUTPUT, FORWARD) -p PROTOCOL — протокол (tcp, udp, icmp) --dport PORT — дестинационный порт (куда идёт пакет) -j ACTION — действие (ACCEPT, DROP, REJECT) Разрешить входящий SSH (порт 22): sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT Разрешить входящий HTTP (порт 80): sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT Запретить входящий telnet (порт 23): sudo iptables -A INPUT -p tcp --dport 23 -j DROP Разрешить входящий трафик только с конкретного IP: sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT флаг -s — source (источник) Разрешить входящий трафик из подсети: sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT Разрешить исходящий DNS (используется везде для преводл URL в IP): sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT Разрешить ответные пакеты для уже установленных соединений: sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT флаг -m conntrack — модуль отслеживания соединений --ctstate ESTABLISHED,RELATED — пакеты из установленного соединения или связанные с ним Это критичное правило для stateful firewall! Практическое правило: начальная безопасная конфигурация # Разрешить loopback (сам с собой) sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT # Разрешить ответные пакеты установленных соединений sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Разрешить SSH sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # Разрешить HTTP и HTTPS sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # Разрешить DNS (и входящий, и исходящий) sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT sudo iptables -A INPUT -p udp --sport 53 -j ACCEPT # Заблокировать всё остальное (по умолчанию) sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT Последние три строки — политики по умолчанию. -P — set policy. Вставка и удаление правил в iptables Вставить в начало цепи (проверится первым): sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT флаг -I вместо -A; 1 — позиция Удалить правило по номеру: sudo iptables -L -v -n --line-numbers # сначала смотрим номера sudo iptables -D INPUT 3 # удаляем 3-е правило из INPUT флаг -D — delete Удалить правило по полной спецификации: sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT Сохранение iptables-правил Важно! Правила iptables хранятся в памяти. При перезагрузке они теряются! Сохранить текущие правила: sudo iptables-save > /etc/iptables/rules.v4 Загрузить правила при загрузке (Ubuntu/Debian): Установите пакет iptables-persistent: sudo apt-get install iptables-persistent Во время установки вас спросят, сохранять ли текущие правила. Выберите “Yes”. Правила автоматически загружатся при загрузке. Вручную загрузить правила: sudo iptables-restore < /etc/iptables/rules.v4 UFW vs iptables — что выбрать? Задача UFW iptables Базовая фильтрация на сервере Используй это Слишком сложно Простые правила для SSH, HTTP, HTTPS Идеально Много букв Нужна максимальная гибкость Ограничено Полный контроль Сложное преобразование адресов (NAT) Нет Да Вы новичок Начни с этого Страшно Вы опытный администратор Можно Предпочтительно Практический совет: Начните с UFW. Если потребуется что-то специфичное — UFW позволяет добавлять кастомные iptables-правила параллельно. Типичные ошибки и как их избежать Ошибка 1: Включить firewall, забыв добавить SSH sudo ufw enable # ОЙ! SSH не открыт! # Теперь не сможете подключиться удалённо... Решение: Всегда первым правилом добавляйте SSH: sudo ufw allow 22 sudo ufw enable Ошибка 2: Неправильный порядок правил sudo ufw allow from 192.168.1.0/24 to any port 22 sudo ufw deny from 192.168.1.50 to any port 22 IP 192.168.1.50 будет разрешен (первое правило срабатывает). Решение: Вставляйте более специфичные правила в начало: sudo ufw insert 1 deny from 192.168.1.50 to any port 22 Ошибка 3: Забыть указать протокол sudo ufw allow 22 # Разрешит ТАК И ДРУГОЙ, и UDP и TCP Иногда нужен конкретный: sudo ufw allow 22/tcp Ошибка 4: Забыть о IPv6 UFW автоматически добавляет правила для IPv6 (v6), но если отключите IPv6 в системе, сообщите UFW: sudo nano /etc/default/ufw # Найдите строку IPV6=yes, измените на no sudo ufw reload Полезные команды Проверить, какие приложения слушают какие порты: sudo netstat -tlnp # или более современно: sudo ss -tlnp Вывод покажет: LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3)) LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=5678,fd=4)) Проверить логи UFW: sudo tail -50 /var/log/ufw.log Проверить статус сервиса UFW: sudo systemctl status ufw Перезагрузить правила UFW (без перезагрузки): sudo ufw reload Итого: пошаговая инструкция для новичка Шаг 1: Добавить SSH (ОБЯЗАТЕЛЬНО!) sudo ufw allow 22/tcp comment "SSH" Шаг 2: Включить firewall sudo ufw enable Шаг 3: Добавить остальные правила по мере надобности sudo ufw allow 80/tcp comment "HTTP" sudo ufw allow 443/tcp comment "HTTPS" Шаг 4: Проверить статус sudo ufw status verbose Шаг 5: Просмотреть логи, если что-то работает неправильно sudo tail -f /var/log/ufw.log Шаг 6: Если что-то сломалось — отключить sudo ufw disable После разбора проблемы включить обратно. Полезные источники для дальшейшего изучения Официальная документация UFW: https://help.ubuntu.com/community/UFW ArchWiki про iptables: https://wiki.archlinux.org/title/Iptables man-страницы (в терминале): man ufw, man iptables
  • Все о популярных программах: Word, Excel, Photoshop и других. Советы, инструкции, обсуждение функций, лайфхаки и помощь для пользователей офисных и креативных приложений.

    22 41
    22 Темы
    41 Сообщения
    kirilljsxK
    В новых версиях ispmanager как ранее может не быть настройки для конкретного сайта выбора php версии, к примеру как это было ранее, смотрите скрин ниже: [image: 1776160369290-7fe36feb-2c96-4726-8b8a-88049afdcf44-image.webp] Теперь для изменения версии PHP на виртуальном хостинге Вам необходимо добавить в файл .htaccess нужного сайта строку: AddHandler application/x-httpd-php-8.4 .php [image: 1776160869903-%D1%81%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-2026-04-14-%D0%B2-13.00.21.webp] Воуля и все готово! Версия php автоматически сменится и можно будет продолжать работу