Ответ
Администрирование 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