Горячие клавиши для работы в терминале Linux
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.
Ctrl + →, Ctrl + ←
или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправо
Ctrl + a, Home Установить курсор в начало строки
Ctrl + e, End Установить курсор в конец строки
Ctrl + xx Переход между двумя последними позициями курсора
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или пути
Tab, tab или Alt + ?(Shift+/) Представление вариантов автодополнения
Backspace, Ctrl + h Удаление символа перед курсором
Ctrl + d Удалить символ за курсором
Ctrl + w или Alt + Backspace Удалить все символы от курсора до пробела слева
Alt + d, Esc + d Удалить символы от курсора до конца слова
Ctrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+w
Alt + \ Удалить любое количество пробелов вместе, где стоит курсор.
Alt + r, Esc + r Отменить все изменения внесенные в строку
Alt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец слова
Alt + u Изменить регистр всех букв от курсора до конца слова на верхний регистр
Alt + l Изменить регистр всех букв от курсора до конца слова на нижний регистр
Alt + t Поменять местами слово под курсором и предыдущее слово
Ctr + t Переместить символ перед курсором под курсор
Ctrl + _(Sift+-) Откат редактирования (Undo)
Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории
↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путей
Ctrl + o Вызвать последнею введенную команду
Alt + . или Esc + . Вставить аргумент команды, выполненной ранее
Alt + < (Shift+,) Повторить первую команду в буфере истории
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминала
Ctrl + s Заморозить терминал
Ctrl + q Продолжить работу терминала
Ctrl + c Прервать работу терминальной утилиты
Ctrl + z Перевести работу терминальной утилиты в фоновый режим
Ctrl + d Выйти из командной оболочки bash
Перемещение по строке
← , → или Ctrl + b, Ctrl + f Смещение курсора на один символ левее или правее.
Ctrl + →, Ctrl + ←
или
Alt + b, Alt + f Смещение курсора на одно слово влево или вправо
Ctrl + a, Home Установить курсор в начало строки
Ctrl + e, End Установить курсор в конец строки
Ctrl + xx Переход между двумя последними позициями курсора
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i Автодополнение команды или пути
Tab, tab или Alt + ?(Shift+/) Представление вариантов автодополнения
Backspace, Ctrl + h Удаление символа перед курсором
Ctrl + d Удалить символ за курсором
Ctrl + w или Alt + Backspace Удалить все символы от курсора до пробела слева
Alt + d, Esc + d Удалить символы от курсора до конца слова
Ctrl + y Вставить слова, которые были удалены с помощью Alt+d, Ctrl+w
Alt + \ Удалить любое количество пробелов вместе, где стоит курсор.
Alt + r, Esc + r Отменить все изменения внесенные в строку
Alt + c Изменить регистр буквы под курсором на заглавный и переместить курсор в конец слова
Alt + u Изменить регистр всех букв от курсора до конца слова на верхний регистр
Alt + l Изменить регистр всех букв от курсора до конца слова на нижний регистр
Alt + t Поменять местами слово под курсором и предыдущее слово
Ctr + t Переместить символ перед курсором под курсор
Ctrl + _(Sift+-) Откат редактирования (Undo)
Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r Поиск ранее введенной команды в истории
↑, ↓ или Ctrl + p, Ctrl + n Перемещение по истории ранее введенных команд и путей
Ctrl + o Вызвать последнею введенную команду
Alt + . или Esc + . Вставить аргумент команды, выполненной ранее
Alt + < (Shift+,) Повторить первую команду в буфере истории
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l Очистка окна терминала
Ctrl + s Заморозить терминал
Ctrl + q Продолжить работу терминала
Ctrl + c Прервать работу терминальной утилиты
Ctrl + z Перевести работу терминальной утилиты в фоновый режим
Ctrl + d Выйти из командной оболочки bash
🔥2❤1
Большая база заметок о командах PowerShell на русском языке
Help, Object, Regex, DataType, Bit, Files, Credential, WinEvent, Firewall, Defender, WindowsUpdate, DISM, Scheduled, Network, Shutdown, LocalAccounts, SMB, ActiveDirectory, repadmin, dcdiag, ntdsutil, GPO, ServerManager, DNS, DHCP, DFS, StorageReplica, Package-Manager, PS2EXE, NSSM, Jobs, SMTP, Hyper-V, VMWare/PowerCLI, Exchange/EMShell, TrueNAS, Veeam, REST API, Telegram, Pode, Selenium, IE, COM, dotNET, Console API, Drawing, ObjectEvent, Sockets, Excel, CSV, XML, JSON, YAML, HTML, SQLite, MySQL, MSSQL, InfluxDB, Telegraf, Elasticsearch, CData, ODBC, PostgreSQL, WMI, Regedit, Performance, SNMP, Zabbix, pki, OpenSSL, OpenVPN, Route, NAT, WireGuard, VpnClient, Proxy, OpenSSH, WinRM, DSC, Git, Ansible.
https://github.com/Lifailon/PS-Commands
Help, Object, Regex, DataType, Bit, Files, Credential, WinEvent, Firewall, Defender, WindowsUpdate, DISM, Scheduled, Network, Shutdown, LocalAccounts, SMB, ActiveDirectory, repadmin, dcdiag, ntdsutil, GPO, ServerManager, DNS, DHCP, DFS, StorageReplica, Package-Manager, PS2EXE, NSSM, Jobs, SMTP, Hyper-V, VMWare/PowerCLI, Exchange/EMShell, TrueNAS, Veeam, REST API, Telegram, Pode, Selenium, IE, COM, dotNET, Console API, Drawing, ObjectEvent, Sockets, Excel, CSV, XML, JSON, YAML, HTML, SQLite, MySQL, MSSQL, InfluxDB, Telegraf, Elasticsearch, CData, ODBC, PostgreSQL, WMI, Regedit, Performance, SNMP, Zabbix, pki, OpenSSL, OpenVPN, Route, NAT, WireGuard, VpnClient, Proxy, OpenSSH, WinRM, DSC, Git, Ansible.
https://github.com/Lifailon/PS-Commands
👍3
Структура каталогов в Linux
Структура каталогов Linux похожа на дерево. Первый каталог в файловой системе метко назван корневым каталогом «/», или можно сказать, что основание иерархии файловой системы начинается с корня. Корневой каталог содержит множество папок и файлов, в которых можно хранить еще больше папок, файлов и т.д. Вот пример того, как выглядит дерево каталогов.
https://bookflow.ru/struktura-katalogov-v-linux/
Структура каталогов Linux похожа на дерево. Первый каталог в файловой системе метко назван корневым каталогом «/», или можно сказать, что основание иерархии файловой системы начинается с корня. Корневой каталог содержит множество папок и файлов, в которых можно хранить еще больше папок, файлов и т.д. Вот пример того, как выглядит дерево каталогов.
https://bookflow.ru/struktura-katalogov-v-linux/
👍2🔥1
Как защитить сервер Linux
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
Шаги
1 - Создайте группу:
2 - Добавьте учетную запись(и) в группу:
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
cat /etc/group | grep "sudo"
Шаги
1 - Создайте группу:
sudo groupadd sudousers
2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL
👍3
Примеры полезного использования команды netsh в Windows
Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.
https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
Команда netsh (от англ. «сетевая оболочка» или network shell) — программа, включенная в линейку продуктов операционных систем Microsoft Windows NT начиная с Windows 2000. Она позволяет осуществлять локальное или удаленное конфигурирование сетевых параметров.
https://bookflow.ru/primery-poleznogo-ispolzovaniya-komandy-netsh-v-windows/
👍2
Наглядное руководство по SSH-туннелям
Автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для более наглядного объяснения того, как это работает, графически показывает потоки трафика.
Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.
https://habr.com/ru/companies/flant/articles/691388/
original https://robotmoon.com/ssh-tunnels/
Автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для более наглядного объяснения того, как это работает, графически показывает потоки трафика.
Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.
https://habr.com/ru/companies/flant/articles/691388/
original https://robotmoon.com/ssh-tunnels/
👍3
Скрипт Bash для для проверки производительности системы в реальном времени, а также для сбора статистики использования за определенное время.
#!/bin/bash
# This script monitors CPU and memory usage
while :
do
# Get the current usage of CPU and memory
cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')
memUsage=$(free -m | awk '/Mem/{print $3}')
# Print the usage
echo "CPU Usage: $cpuUsage%"
echo "Memory Usage: $memUsage MB"
# Sleep for 1 second
sleep 1
done
👍4❤1
Шпаргалка по iptables
IPTables - это служба брандмауэра, которая доступна во многих дистрибутивах Linux. Хотя его модификация может показаться сложной поначалу, эта шпаргалка должна показать вам, насколько он прост в использовании и как быстро вы сможете приступить к работе с вашим брандмауэром.
https://gist.github.com/davydany/0ad377f6de3c70056d2bd0f1549e1017
IPTables - это служба брандмауэра, которая доступна во многих дистрибутивах Linux. Хотя его модификация может показаться сложной поначалу, эта шпаргалка должна показать вам, насколько он прост в использовании и как быстро вы сможете приступить к работе с вашим брандмауэром.
https://gist.github.com/davydany/0ad377f6de3c70056d2bd0f1549e1017
Iptables - Официальная документация
Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) Netfilter для ядер Linux, начиная с версии 2.4. С её помощью администраторы создают и изменяют правила, управляющие фильтрацией и перенаправлением пакетов. Для работы с семейством протоколов IPv6 существует отдельная версия утилиты — Ip6tables. Для использования утилиты Iptables требуются привилегии суперпользователя (root).
https://help.ubuntu.ru/wiki/iptables
Iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) Netfilter для ядер Linux, начиная с версии 2.4. С её помощью администраторы создают и изменяют правила, управляющие фильтрацией и перенаправлением пакетов. Для работы с семейством протоколов IPv6 существует отдельная версия утилиты — Ip6tables. Для использования утилиты Iptables требуются привилегии суперпользователя (root).
https://help.ubuntu.ru/wiki/iptables
👍3❤1
Как защитить сервер Linux
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
Шаги
1 - Создайте группу:
2 - Добавьте учетную запись(и) в группу:
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
Ограничьте, кто может использовать sudo
Почему
sudo позволяет учетным записям выполнять команды от имени других учетных записей, включая root. Мы хотим убедиться, что только нужные нам учетные записи могут использовать sudo.
Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.
Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):
cat /etc/group | grep "sudo"
Шаги
1 - Создайте группу:
sudo groupadd sudousers
2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...
Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.
3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")
4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo
5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL
❤2
Защита от брутфорса и эксплоитов OpenSSH
В последних версиях OpenSSH появилась защита от брутфорса (перебора) паролей, а также от попыток эксплоита. Это очень ценные настройки, которыми разработчики рекомендуют воспользоваться всем.
Нужно отметить, что новая функция OpenSSH фундаментально отличается от fail2ban, sshguard и подобных инструментов, поскольку она не парсит логи и не изменяет правила файрвола, а применяет опции только внутри одной программы, не обращаясь никуда через ядро, что делает её гораздо безопаснее вышеупомянутых утилит.
В июньском коммите один из разработчиков OpenSSH Дэмиен Миллер (Damien Miller) представил новые опции конфигурации sshd(8): PerSourcePenalties и PerSourcePenaltyExemptList. Как написано в коммите, изменения вводят «штраф за нежелательное поведение». В реальности они добавляют привычную опцию для многих веб-приложений — задержку после ввода неправильного пароля (первый патч). А также защиту от введения такой задержки для некоторых клиентов (второй патч).
https://habr.com/ru/companies/globalsign/articles/835316/
В последних версиях OpenSSH появилась защита от брутфорса (перебора) паролей, а также от попыток эксплоита. Это очень ценные настройки, которыми разработчики рекомендуют воспользоваться всем.
Нужно отметить, что новая функция OpenSSH фундаментально отличается от fail2ban, sshguard и подобных инструментов, поскольку она не парсит логи и не изменяет правила файрвола, а применяет опции только внутри одной программы, не обращаясь никуда через ядро, что делает её гораздо безопаснее вышеупомянутых утилит.
В июньском коммите один из разработчиков OpenSSH Дэмиен Миллер (Damien Miller) представил новые опции конфигурации sshd(8): PerSourcePenalties и PerSourcePenaltyExemptList. Как написано в коммите, изменения вводят «штраф за нежелательное поведение». В реальности они добавляют привычную опцию для многих веб-приложений — задержку после ввода неправильного пароля (первый патч). А также защиту от введения такой задержки для некоторых клиентов (второй патч).
https://habr.com/ru/companies/globalsign/articles/835316/
❤3