Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Общие вопросы о Linux, дистрибутивах, архитектуре
- Что такое Linux?
- Из каких ключевых компонентов состоит ОС Linux?
- Какие популярные дистрибутивы Linux вы знаете?
- В чём отличия между CentOS, Debian, Ubuntu и Fedora?
- Что такое ядро Linux?
- Как узнать версию ядра?
- Что такое GPL и почему она важна для Linux?
- Чем отличается Desktop Linux от Server Linux?
- Какие файловые системы поддерживает Linux?
- Что означает термин "init"?
- Чем отличаются systemd и SysVinit?
- Что такое загрузчик GRUB, для чего он нужен?
- Как узнать архитектуру установленной системы?
- Что такое LiveCD/LiveUSB?
- Что такое репозиторий в Linux?
- Что означает LTS-релиз?
- Для чего нужен каталог /proc?
- Перечислите основные каталоги в корне файловой системы и их назначение.
- Расскажите о процессе загрузки Linux от BIOS/UEFI до логина.
- В чём отличие rolling-release и point-release моделей обновления?
- Какие существуют основные типы пакетов (DEB, RPM) и для каких дистрибов они используются?
- 2. Файловая система, работа с файлами
- Как посмотреть свободное место на диске?
- Какое назначение у /tmp, /var, /etc, /usr?
- Какая команда покажет размер файла в человекочитаемом формате?
- Как скопировать файл? Как рекурсивно скопировать каталог?
- Как удалить файл? Как удалить каталог с содержимым?
- Как переместить файл или каталог?
- Что такое inode?
- Для чего команда ln? Различие hard и soft link.
- Как создать символическую ссылку?
- Как посмотреть владельца и права доступа к файлу?
- Какова структура прав доступа в ls -l?
- Как изменить права? Как задать права 755, 644?
- Как изменить владельца файла или каталога?
- Что такое группа в контексте доступа к файлу?
- Что делает команда umask?
- Как смонтировать файловую систему вручную?
- Как посмотреть список монтированных файловых систем?
- Как добавить новую строчку в /etc/fstab, чтобы диск монтировался автоматически?
- Что такое swap? Как создать swap-файл?
- Как узнать используются ли какие-либо файлы как swap?
- Как узнать, какие процессы используют определённый файл?
- Как найти файл по имени во всей системе?
- Как найти текст в файлах по шаблону?
- Как создать пустой файл?
- Как объединить содержимое нескольких файлов в один?
- Как посмотреть только первые 10 строк файла? 20 последних?
- Как отформатировать раздел в ext4?
- Как создать новый раздел на диске?
- Как проверить целостность и ошибки файловой системы?
- Какой командой можно уменьшить или увеличить том ext4? (сложно)
- 53.1 (Junior) Можно ли изменять размер файловой системы "на лету"? От чего это зависит?
- Что такое LVM и когда его имеет смысл применять?
- Как узнать UUID раздела?
- Чем отличается tmpfs от ext4?
- 3. Пользователи и группы
- Как создать нового пользователя?
- Как удалить пользователя?
- Где хранятся данные о пользователях?
- Как изменить пароль пользователя?
- Как добавить пользователя в группу?
- Как посмотреть, в каких группах состоит пользователь?
- Как создать, удалить или переименовать группу?
- Как выдать права sudo пользователю?
- Как временно запретить пользователю входить в систему?
- Где настраиваются привилегии для sudo?
- Как временно заблокировать и снять блокировку с пользователя?
- Как посмотреть UID и GID пользователя?
- Как изменить shell пользователя?
- Как узнать дату и время последнего входа пользователя?
- Как вывести список всех пользователей в системе?
- Как ограничить возможности пользователя при помощи chroot? (сложно)
- 73.1 (Junior) Что такое chroot и в каких сценариях он может быть полезен?
- Как сделать так, чтобы при первом входе пользователь сменил пароль?
- Как узнать, кто сейчас вошёл в систему?
- Как принудительно завершить все процессы пользователя?
- Как управлять групповым доступом к директории (setgid)?
- Как защитить суперпользовательский доступ? (сложно)
- 78.1 (Junior) Перечислите основные способы защиты учетной записи root.
- Как восстановить забытый root-пароль? (сложно)
- 79.1 (Junior) Что делать, если вы забыли пароль от root? Опишите общую последовательность действий.
- 4. Bash, работа в командной строке и скрипты
- Как открыть терминал?
- Как узнать текущую директорию?
- Для чего команда man?
- Как посмотреть историю команд?
- Как вывести переменные окружения?
- Как работает пайп |?
- Как выполнить команду с правами другого пользователя?
- Как запустить команду в фоновом режиме?
- Как временно остановить/возобновить процесс?
- Как прервать процесс в терминале?
- В чём разница между sudo и su?
- Для чего файл .bashrc?
- Как создать alias?
- Как добавить каталог в $PATH?
- Как перенаправить поток вывода/ошибок?
- Чем отличается > от >>?
- Как записать вывод команды в файл и одновременно увидеть его в консоли?
- Как вывести на экран только строки, содержащие определённое слово?
- Как найти уникальные строки в файле?
- Как отсортировать содержимое файла?
- Как получить строку номер N из текста?
- Как ограничить команду по времени работы?
- Как узнать версию bash?
- Как сделать скрипт исполняемым?
- Как передать параметры в bash-скрипт?
- Пример цикла for в bash.
- Как обрабатывать ошибки в скриптах?
- Как выбрать только первые 10 строк файла?
- Как завершить выполнение скрипта с ошибкой?
- Как вывести только последние 20 строк файла в реальном времени?
- Как вызвать подсказку по опциям команды?
- Напишите команду, которая удаляет .tmp файлы старше 5 дней из каталога (сложно).
- 112.1 (Junior) Как бы вы искали файлы по определенным критериям (например, по времени создания или размеру)? Какая команда для этого используется?
- 5. Управление пакетами, обновления
- Чем отличается apt от yum/dnf?
- Как установить пакет в Ubuntu/Debian через apt?
- Как установить пакет в CentOS/RHEL через yum?
- Как удалить пакет?
- Как обновить все установленные пакеты?
- Как добавить сторонний репозиторий?
- Как найти в репозитории нужный пакет?
- Как посмотреть все установленные пакеты?
- Как узнать, к какому пакету принадлежит команда?
- Как установить пакет из загруженного файла .deb?
- Как откатить пакет до предыдущей версии?
- Как удалить пакет вместе со всеми его зависимостями?
- Как просмотреть, какие файлы установились с пакетом?
- Как проверить и восстановить целостность пакетов?
- Как очистить кэш менеджера пакетов?
- Как просмотреть историю обновлений?
- Как собрать пакет из исходников? (сложно)
- 130.1 (Junior) В чем разница между установкой программы из пакета и сборкой из исходного кода?
- Как работают зависимости пакетов?
- Как разрешать проблемы зависимостей? (сложно)
- 132.1 (Junior) Что такое "конфликт зависимостей" (dependency hell) и что обычно делают в таких случаях?
- Отличие source-based и binary-based установки.
- 6. Сеть и сетевые сервисы
- Как узнать свой локальный IP-адрес?
- Как посмотреть настройки сетевых интерфейсов?
- Как узнать внешний IP-адрес?
- Как вывести таблицу маршрутизации?
- Как отредактировать настройки DNS?
- Как сменить IP-адрес интерфейса?
- Как узнать MAC-адрес сетевого интерфейса?
- Что такое gateway и как его настроить?
- Как проверить работоспособность соединения с хостом?
- Как проверить доступность хоста по определённому порту?
- Как посмотреть открытые порты и процессы, которые их слушают?
- Для чего используется netstat?
- Как отследить маршрут до удалённого хоста?
- Как посмотреть сетевые подключения в реальном времени?
- Как временно остановить или запустить сетевой интерфейс?
- Как узнать, какие процессы слушают порт 80?
- Как отследить исходящий трафик с помощью tcpdump?
- Как работать с файерволом iptables/nftables?
- Как посмотреть текущую конфигурацию firewall?
- Как разрешить или запретить трафик по определенному порту?
- Как организовать проброс портов? (сложно)
- 155.1 (Junior) Что такое "проброс портов" (port forwarding) и для чего он нужен?
- Как ограничить входящие соединения с определенного IP?
- Что такое NAT? Какой командой его включить?
- Как реализовать простой VPN-сервер? (сложно)
- 158.1 (Junior) Что такое VPN? Какие технологии для его создания вы знаете?
- Как реализовать резервный DNS сервер? (сложно)
- 159.1 (Junior) Какую роль выполняет DNS-сервер? Что такое основной (primary) и вторичный (secondary) DNS?
- Как защитить SSH — какие механизмы применить? (сложно)
- 160.1 (Junior) Назовите 3-4 основных способа повышения безопасности SSH-доступа.
- Что такое порт 22 и как его изменить для sshd?
- 7. Системные службы и демоны
- Что такое демон?
- Как посмотреть запущенные сервисы?
- Как узнать статус службы systemd?
- Как остановить/перезапустить службу?
- Как добавить сервис в автозагрузку?
- Как просмотреть логи службы systemd?
- Чем отличается restart от reload?
- Как запустить свой скрипт как systemd-службу? (сложно)
- 170.1 (Junior) Что такое unit-файл в systemd? Из каких основных секций он состоит?
- Как посмотреть, на каком порту работает сервис?
- Как узнать, запущен ли конкретный демон?
- Как отключить автозапуск сервиса?
- Где хранятся unit-файлы в systemd?
- Как работает cron и где хранятся задания crontab?
- Как проверить все задания cron?
- Как ограничить использование ресурсов (CPU, память) для службы? (сложно)
- 177.1 (Junior) Слышали ли вы о cgroups? Для чего они используются?
- Какой сервис отвечает за логирование?
- В чём разница между systemctl, service и init.d скриптами?
- Как получить PID сервиса?
- Как диагностировать, почему служба не стартует? (сложно)
- 181.1 (Junior) Служба не запускается. Ваши первые шаги для диагностики проблемы?
- Как создать свой таймер через systemd?
- 8. Мониторинг и производительность
- Как узнать загрузку CPU в реальном времени?
- Как посмотреть объем доступной затраченной памяти?
- Как узнать остаток свободного места на диске?
- Для чего используется top и htop?
- Как отсортировать процессы по занимаемой памяти?
- Как посмотреть процессы определённого пользователя?
- Как завершить "зависший" процесс?
- Как ограничить использование CPU/памяти определённым процессом?
- В чём отличие load average от использования CPU?
- Как узнать дату и время последней перезагрузки?
- Как мониторить температуру железа и S.M.A.R.T статус дисков? (сложно)
- 194.1 (Junior) Что такое S.M.A.R.T. и почему важно следить за его показателями?
- Какие системы мониторинга знаете?
- Как искать «тяжёлые» процессы по памяти и нагрузке?
- Как вывести процесс, который блокирует устройство или файл?
- Как узнать, сколько времени работает система?
- Что показывает команда vmstat?
- Как собирать метрики в Prometheus и отправлять их с Linux-сервера? (сложно)
- 200.1 (Junior) Что такое система мониторинга? Какие компоненты в ней обычно есть (на примере Prometheus)?
- Как автоматически перезапускать упавший процесс? (сложно)
- 201.1 (Junior) Как настроить автоматический перезапуск службы в systemd, если она "упала"?
- 9. Логи и журналирование
- Где хранятся системные логи Linux по умолчанию?
- Как посмотреть логи ядра?
- Для чего используется journalctl?
- Как вывести журнал последних 50 сообщений?
- Как искать ошибки в логах?
- Как вывести строчки с определённым уровнем логирования?
- Как прочитать лог в реальном времени (tail -f)?
- Как искать событие по нескольким журналам сразу?
- Как ограничить размер, до которого дорастают логи?
- Как архивировать и удалять старые логи?
- Как отправлять логи на внешний сервер (syslog)? (сложно)
- 213.1 (Junior) Зачем может понадобиться централизованный сбор логов?
- Как автоматически удалять логи старше определённого срока?
- В чём разница между уровнем логирования WARN, INFO, ERROR?
- Как узнать кто и когда перезагружал сервер?
- Как анализировать системные логи при расследовании инцидентов? (сложно)
- 217.1 (Junior) Вы ищете в логах информацию о конкретной проблеме. Какие инструменты (команды) вы будете использовать?
- 10. Безопасность
- Как задать политику паролей в Linux?
- Для чего нужен fail2ban?
- В чём отличие SELinux и AppArmor?
- Как посмотреть список активных SELinux-политик?
- Как узнать версии установленных пакетов на предмет уязвимостей?
- Как ограничить доступ по SSH только для определённой группы?
- Какой способ входа в систему менее уязвим — пароль или ssh-ключ?
- Как проверить целостность системы?
- Как определить подозрительные процессы или программы?
- Как блокировать пользователя после нескольких неудачных попыток ввода пароля?
- Как автоматически обновлять безопасность пакетов?
- Как использовать aide для контроля целостности файлов?
- Как ограничить возможности sudo только до определённого набора команд?
- Как реагировать на подозрительные события в логах? (сложно)
- 232.1 (Junior) Вы заметили в логах много неудачных попыток входа по SSH с одного IP. Что это может означать и что можно предпринять?
- Как минимизировать поверхность атаки сервера? (сложно)
- 233.1 (Junior) Что означает "минимизация поверхности атаки"? Приведите пару примеров.
- Какие шаги предпринять при компрометации сервера? (сложно)
- 234.1 (Junior) Вы подозреваете, что сервер взломан. Каковы ваши первые действия?
- Как реализовать двухфакторную аутентификацию в SSH? (сложно)
- 235.1 (Junior) Что такое двухфакторная аутентификация (2FA) и зачем она нужна?
- 11. Прикладные задачи и рабочие сценарии
- Как развернуть простой веб-сервер (nginx/apache)?
- Как настроить автоматическое обновление системы?
- Как настроить резервное копирование?
- Как реализовать восстановление из баккапа?
- Как поменять hostname?
- Как синхронизировать системное время?
- Как подключить и смонтировать NFS?
- Как отправить файл на удаленный сервер?
- Как протестировать почтовую отправку из консоли?
- Как посмотреть и обработать дамп памяти? (сложно)
- 246.1 (Junior) Что такое "дамп памяти" (core dump) и для чего он может понадобиться?
- Как автоматизировать ротацию логов?
- Как подготовить сервер перед первым вводом в эксплуатацию? (сложно)
- 248.1 (Junior) Перечислите 5 основных шагов, которые вы бы предприняли для базовой настройки нового сервера перед его использованием.
- В чём разница между копированием через scp, rsync и sftp?
- Как вывести расписание резервных копий для cron?
- Как в Linux сделать редирект на другой порт средствами iptables?
- Как очистить systemd unit и сделать reload?
- Как заменить системные репозитории на зеркала?
- Как настроить брандмауэр для минимального набора сервисов?
- Как реализовать копирование файлов с пропуском уже существующих?
- Какой командой можно быстро проверить наличие интернет-соединения?
- 12. Ситуационные вопросы (Troubleshooting)
- 257. На сервере закончилось место на диске. Опишите ваши шаги по поиску и решению проблемы.
- 258. Пользователь жалуется, что веб-сайт, размещенный на сервере, не работает (ошибка 502 Bad Gateway). Как вы будете диагностировать проблему?
- 259. Вы пытаетесь запустить скрипт, но получаете ошибку 'Permission denied'. В чем могут быть причины и как это исправить?
- 260. Нагрузка на CPU (Load Average) высокая, хотя в top не видно процессов, которые бы активно потребляли процессор. В чем может быть причина?
- 261. Вы удалили файл командой rm, но место на диске не освободилось. Почему так могло произойти и как это исправить?
- 13. Современные инструменты
- 262. Что такое Docker? Чем контейнер отличается от виртуальной машины?
- 263. Напишите команду, чтобы посмотреть список всех запущенных Docker-контейнеров.
- 264. Что такое Docker-образ и Docker-контейнер? В чем разница?
- 265. Что такое Dockerfile?
- 266. Что такое Git? Зачем он нужен системному администратору?
- 267. Какие основные команды Git вы знаете? (clone, pull, push, commit, status)
- 268. Что такое система управления конфигурациями (например, Ansible)? Зачем она нужна?
- 269. Что такое "Infrastructure as Code" (IaC)?
Add Comment
Please, Sign In to add comment