Опишите ключевые аспекты администрирования сервера на базе Linux

Ответ

Администрирование Linux-сервера включает в себя управление системными ресурсами, пользователями, службами, сетью и безопасностью. Ниже перечислены ключевые аспекты и соответствующие им утилиты.

1. Управление файловой системой и пользователями

Это базовые задачи по навигации, управлению правами доступа и учетными записями.

  • Навигация и файлы: ls, cd, cp, mv, rm, find
  • Права доступа: chmod (изменение прав), chown (смена владельца)
  • Пользователи: useradd, usermod, passwd

Пример: рекурсивно выдать права на директорию

# Дать владельцу (u) права на чтение, запись и исполнение (rwx),
# а группе (g) и остальным (o) - только на чтение и исполнение (r-x)
chmod -R u=rwx,go=r-x /var/www/my_project

2. Управление процессами и службами

Контроль за запущенными программами и системными демонами (службами).

  • Процессы: ps aux (список всех процессов), top/htop (интерактивный мониторинг), kill (завершение процесса)
  • Службы (systemd): systemctl start|stop|restart|status <service_name>

Пример: проверка статуса веб-сервера Nginx

systemctl status nginx

3. Сетевая конфигурация и диагностика

Настройка сетевых интерфейсов и анализ трафика.

  • Конфигурация: ip addr (показать IP-адреса), ip route (показать таблицу маршрутизации)
  • Диагностика: ping (проверка доступности хоста), ss -tulpn (просмотр открытых портов), curl (отправка HTTP-запросов)

4. Управление пакетами

Установка, обновление и удаление программного обеспечения.

  • Debian/Ubuntu: apt update, apt install <package>
  • CentOS/RHEL/Fedora: dnf install <package>

5. Анализ логов

Просмотр системных журналов для отладки и мониторинга.

  • systemd журналы: journalctl -u <service_name> (логи конкретной службы), journalctl -f (просмотр в реальном времени)
  • Традиционные логи: tail -f /var/log/syslog

6. Автоматизация

Использование скриптов и планировщиков для выполнения рутинных задач.

  • Скрипты: Написание сценариев на bash.
  • Планировщик: cron для запуска команд по расписанию.

Пример: задача для cron, выполняющая бэкап каждый день в 2:00 ночи

# Открыть редактор crontab командой: crontab -e
# И добавить строку:
0 2 * * * /usr/local/bin/backup_script.sh