Шпаргалки по Linux и безопасности
Короткие справки по командам и понятиям: синтаксис, рабочие примеры, частые ошибки и то, как на это смотрит безопасник. В каждой шпаргалке — ссылки на урок и практику, где команду можно попробовать в настоящем терминале.
Команды
- cd и путиКак перемещаться по файловой системе Linux: cd, cd .., cd ~, cd -, pwd. Чем абсолютный путь отличается от относительного. Что значат . и ..
- chmodКоманда chmod: символьная (u+x, g-w, o=) и восьмеричная запись (755, 644, 600, 700), рекурсивное изменение прав, частые ошибки и chmod 777.
- chownКоманда chown: сменить владельца (chown user file), группу (chown user:group), рекурсивно (-R). Чем chown отличается от chmod и chgrp. Примеры.
- cron и crontabКак работает cron в Linux: формат crontab из пяти полей, примеры расписаний (*/5, 0 3 * * *, @reboot), crontab -e и -l, /etc/cron.d. Cron и безопасность.
- curlШпаргалка по curl: заголовки ответа (-i, -I), подробный вывод (-v), POST-форма и JSON (-d), свои заголовки (-H), cookie (-b, -c), редиректы (-L), скачать файл (-o).
- findКоманда find с примерами: найти файл по имени (-name, -iname), по размеру (-size +100M), по дате (-mtime, -mmin), по правам (-perm), find -exec и -delete.
- grepКоманда grep с примерами: grep -r (рекурсивно), -i (без регистра), -v (исключить), -n, -c, -o, -E и регулярные выражения. Как искать IP и пароли в логах.
- kill и сигналыКак остановить процесс в Linux: kill PID, kill -9, pkill -f, killall. Сигналы SIGTERM, SIGKILL, SIGINT, SIGHUP. Почему kill -9 — крайняя мера.
- lsКоманда ls с примерами: ls -l (подробно), ls -a (скрытые файлы), ls -lh (размеры), ls -lt (по дате), ls -ld (права каталога). Как читать вывод ls -l.
- ps, top и pgrepКак посмотреть запущенные процессы в Linux: ps aux, ps -ef, ps по пользователю, pgrep -fa, top и htop. Как читать вывод ps aux. Секреты в аргументах команд.
- ss и netstatКак узнать, какие порты слушает Linux: ss -tulpn, ss -ltn, фильтры по порту, установленные соединения. Чем 0.0.0.0 отличается от 127.0.0.1. Замена netstat.
- sshКак подключиться по SSH, создать ключ ssh-keygen -t ed25519, добавить его в authorized_keys, настроить ~/.ssh/config и права 700/600. Защита sshd_config.
- sudoКак работает sudo: sudo команда, sudo -i, sudo -u, sudo -l. Чем sudo отличается от su, формат /etc/sudoers и visudo. Опасные правила sudo и GTFOBins.
- systemctl и journalctlШпаргалка по systemctl: status, start, stop, restart, reload, enable, disable, list-units, --failed. Журнал службы через journalctl -u. Unit-файлы и защита служб.
- tail, head и lesstail, head и less с примерами: последние N строк файла, tail -f для логов в реальном времени, tail -F, просмотр больших файлов в less и поиск внутри.
Понятия
- PATH и переменные окруженияЧто такое PATH и переменные окружения в Linux. Как добавить каталог в PATH через export и .bashrc, which и type, env и printenv. Атака подменой PATH.
- SUID, SGID и sticky bitОсобые права в Linux: SUID (4000), SGID (2000), sticky bit (1000). Как они выглядят в ls -l, как найти SUID-файлы через find и почему это путь к root.
- umaskЧто такое umask и как он считает права новых файлов и каталогов. umask 022, 027 и 077 с примерами, как задать umask навсегда в .bashrc.
- Конвейеры и перенаправлениеКонвейеры и перенаправление ввода-вывода в Bash: | (pipe), > и >> (в файл), 2> и 2>&1 (ошибки), < (ввод), /dev/null. Примеры sort | uniq -c.