Администрирование серверов на Linux

Администрирование серверов на Linux Разное

Администрирование серверов на Linux

Первое, что нужно сделать после установки системы – настроить брандмауэр. В большинстве дистрибутивов используется iptables или nftables. Для быстрого старта выполните sudo ufw enable, затем откройте только необходимые порты: sudo ufw allow 22/tcp для SSH.

Мониторинг ресурсов – ключевая задача. Утилита htop показывает загрузку CPU, оперативной памяти и дисков в реальном времени. Для логирования установите sysstat, данные будут сохраняться в /var/log/sysstat. Если нужны подробные инструкции по настройке, смотрите тут.

Резервное копирование конфигураций должно быть автоматизировано. Скрипт с rsync и cron сохранит копии в указанное время. Пример команды: rsync -avz /etc/ backup-server:/backups/. Проверяйте целостность архивов раз в неделю.

Установка и настройка SSH для удалённого доступа

Установка SSH-сервера

На большинстве дистрибутивов с Debian-основой установите OpenSSH командой sudo apt install openssh-server. В системах на базе RHEL выполните sudo yum install openssh-server или sudo dnf install openssh-server. После установки сервис запустится автоматически. Проверьте статус: sudo systemctl status sshd.

Настройки хранятся в /etc/ssh/sshd_config. Перед редактированием создайте резервную копию. Отключите вход под root, изменив параметр PermitRootLogin на no. Для ограничения доступа только определённым пользователям укажите их через пробел в AllowUsers. Смените стандартный порт 22 на нестандартный (например, Port 54322), чтобы снизить риск атак. После правок перезагрузите SSH: sudo systemctl restart sshd.

Настройка прав доступа к файлам и каталогам через chmod и chown

Команда chmod 750 /path/to/file задаст владельцу полные права (чтение, запись, выполнение), группе – чтение и выполнение, остальным – запрет доступа.

Читайте также:  Как получить токен ЭП для ФНС и зачем он нужен

Числовые и символьные режимы chmod

Цифры в chmod – комбинация прав: 4 (чтение), 2 (запись), 1 (выполнение). Например, chmod 644 разрешает владельцу читать/писать, остальным – только читать. Символьный формат: chmod u=rwx,g=rx,o= file.

Для рекурсивного изменения прав в каталоге добавьте -R: chmod -R 755 /var/www/.

Изменение владельца с chown

Изменение владельца с chown

Передать файл пользователю и группе: chown user:group file.txt. Для каталогов с подкаталогами используйте -R: chown -R deploy:admin /opt/app/.

Права по умолчанию задаются umask. Например, umask 027 создает файлы с правами 640 (владелец – rw, группа – r, остальные – 0).

Проверяйте права командой ls -l. Если скрипт не запускается, убедитесь, что у него есть флаг выполнения: chmod +x script.sh.

Опасные комбинации: chmod 777 или chown root:root /home/user/ – могут нарушить безопасность. Минимизируйте использование таких команд.

Работа с системными сервисами: управление через systemd

Чтобы проверить состояние сервиса, выполните systemctl status имя_сервиса. Команда выведет активные процессы, последние записи журнала и текущий статус (active, failed, inactive).

Для запуска и остановки используйте:

  • systemctl start имя_сервиса – активировать немедленно.
  • systemctl stop имя_сервиса – завершить работу.
  • systemctl restart имя_сервиса – перезапустить с сохранением конфигурации.

Автозагрузка настраивается через systemctl enable имя_сервиса (добавить в автозапуск) или systemctl disable имя_сервиса (убрать). Проверить включён ли сервис в автозагрузку можно командой systemctl is-enabled имя_сервиса.

Журналы systemd просматриваются с помощью journalctl -u имя_сервиса. Фильтрация по времени: journalctl -u имя_сервиса --since "2024-05-01" --until "2024-05-02". Ключ -f выводит новые записи в реальном времени.

При изменении конфигурации сервиса (файлы в /etc/systemd/system/) выполните systemctl daemon-reload. Без этого systemd не применит правки.

Для анализа зависимостей сервиса используйте systemctl list-dependencies имя_сервиса. Это помогает выявить конфликты или отсутствующие компоненты. Если сервис не запускается, проверьте journalctl -xe – там часто указана точная причина ошибки.

Читайте также:  SEO анализ сайта

Мониторинг ресурсов сервера с помощью top, htop и df

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

  • uptime системы;
  • количество активных пользователей;
  • общую загрузку CPU (1.0 = 100% одного ядра);
  • использование RAM (включая кэш и буферы).

Если top отображает процессы в неудобном порядке, нажмите Shift+P (сортировка по CPU) или Shift+M (сортировка по RAM). Для выхода – q.

htop – улучшенная версия top с цветным интерфейсом и поддержкой мыши. Установите его через apt install htop (Debian/Ubuntu) или yum install htop (RHEL/CentOS). Ключевые отличия:

  • графические индикаторы нагрузки CPU и RAM;
  • возможность убивать процессы клавишей F9;
  • настройка отображаемых столбцов через F2.

Для проверки свободного места на дисках используйте df -h. Флаг -h форматирует вывод в гигабайтах. Обращайте внимание на столбец Use% – если значение превышает 90%, требуется очистка или расширение раздела. Для детального анализа файлов запустите du -sh /var/* | sort -h – это покажет размеры каталогов внутри /var.

Комбинируйте эти инструменты: например, при высокой нагрузке CPU (top) проверьте, не вызвана ли она нехваткой памяти (swapping в htop) или переполнением диска (df). Для автоматизации мониторинга настройте cron-задачи с выводом данных в лог.

Настройка и управление брандмауэром с помощью iptables

Для блокировки всех входящих соединений, кроме SSH, выполните команду: iptables -A INPUT -p tcp —dport 22 -j ACCEPT, затем iptables -A INPUT -j DROP. Это оставит доступ только по 22 порту, а остальной трафик будет отклонён. Чтобы изменения сохранились после перезагрузки, установите пакет iptables-persistent и выполните iptables-save > /etc/iptables/rules.v4.

Для тонкой настройки правил используйте цепочки FORWARD и OUTPUT. Например, разрешите исходящие HTTPS-запросы: iptables -A OUTPUT -p tcp —dport 443 -j ACCEPT. Если нужно ограничить доступ к серверу по IP, добавьте правило iptables -A INPUT -s 192.168.1.100 -j ACCEPT. Проверить текущие правила можно командой iptables -L -v, а очистить все – iptables -F.

Читайте также:  Как правильно управлять складом и перевозками

Автоматизация задач с помощью cron и systemd timers

Для запуска скрипта каждые 30 минут через cron используйте строку: */30 * * * * /path/to/script.sh. Убедитесь, что файлу назначены права на выполнение (chmod +x).

Systemd timers гибче cron: они позволяют указывать зависимости между задачами и логировать вывод в journalctl. Пример файла /etc/systemd/system/backup.timer:

Параметр Значение
OnCalendar *-*-* 03:00:00
Unit backup.service

После изменения timer перезагрузите конфигурацию: systemctl daemon-reload.

Когда выбирать cron

Cron подходит для простых задач без сложных условий. Например, очистка временных файлов раз в день:

0 2 * * * rm -rf /tmp/*

Преимущества systemd timers

Timers поддерживают точные интервалы (с точностью до секунды) и могут запускаться после загрузки системы. Для ежечасного выполнения с задержкой в 5 минут:

OnCalendar=hourly

AccuracySec=5m

Проверьте активные таймеры командой systemctl list-timers --all.

Для задач, требующих мониторинга состояния (например, перезапуск упавшего сервиса), используйте Restart=on-failure в .service файле.

Видео:

Администрирование Astra Linux | Урок 3

Оцените статью
О компьютерах
Добавить комментарий