Большая база заметок о командах 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
Совет по Linux 💡🐧
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
Пример:
Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
$ time <команда>.
Пример:
$ time find / -perm -u=s -type f &>/dev/null
Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
Структура файловой системы в Linux
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
Эта файловая структура помогает упорядочить данные и облегчает навигацию и управление операционной системой.
/bin
: Содержит исполняемые бинарные файлы различных служб, доступные для запуска всем пользователям сервера. Включает базовые команды, такие как echo, cat, cd, pwd, ls и другие./boot
: Содержит файлы загрузчика и ядра операционной системы. Без этих файлов система не сможет запуститься./dev
: Содержит файлы устройств, подключенных к серверу, такие как терминалы (tty*) и специальные устройства, такие как null, random, zero, а также диски и их разделы (vda*)./etc
: Хранит конфигурационные файлы служб по умолчанию. Здесь можно настроить параметры работы различных служб./home
: Предназначена для домашних каталогов пользователей. Здесь создаются домашние директории для локальных пользователей./lib
и /lib64
: Содержат библиотеки, необходимые для работы системных служб и файлы для загрузки системы и модуля ядра. /lib
также является символьной ссылкой на /usr/lib./media
: Автоматически монтирует внешние устройства, такие как USB и CD-ROM./mnt
: Используется для временного монтирования внешних устройств, чаще всего вручную./opt:
Предназначена для установки пользовательского программного обеспечения./proc
: Хранит информацию о процессах и системную информацию в виде «виртуальной файловой системы»./root
: Домашняя папка для корневого пользователя root./run
: Включает данные, обрабатываемые и хранимые в оперативной памяти, такие как PID процессов и информация о ходе их выполнения./sbin
: Содержит исполняемые бинарные файлы системных служб, запуск которых возможен только с правами администратора. Является символьной ссылкой на /usr/
sbin./srv
: Предназначена для общедоступных данных службы, таких как веб-сервер или FTP-сервер. По умолчанию не содержит данных./sys
: Содержит виртуальную файловую систему, в которую экспортируются данные ядра операционной системы и его модулей./tmp
: Используется для хранения временных файлов операционной системой и службами./usr
: Хранит исполняемые файлы, библиотеки и файлы документации для внутренних служб, а также данные программ, установленных пользователями. /bin
, /sbin
, /lib
и /lib64
являются символьными ссылками на соответствующие каталоги внутри /usr
./var
: Содержит часто изменяемые данные, такие как кэши, логи, очереди. Тут хранятся данные сайтов, баз данных, почтового сервера и др.Эта файловая структура помогает упорядочить данные и облегчает навигацию и управление операционной системой.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1
alias — команда, позволяющая создавать более краткие или более привычные псевдонимы для часто используемых команд
Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.
Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:
В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:
В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:
Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.
После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.
Примеры
Простой псевдоним для пользователей операционной системы DOS:
А это пример более сложного псевдонима:
Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.
А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:
Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.
Например, даже такая простая функция, как
не может быть преобразована в псевдоним из-за использования переменной "$1".
Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:
- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему
Деактивация псевдонима
Используйте команду unalias.
Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.
Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:
$ alias <псевдоним>=<команда>
В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:
$ alias <псевдоним>="<команда> <аргумент> ..."
В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:
$ alias <псевдоним> <команда> [аргументы …]
Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.
После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.
Примеры
Простой псевдоним для пользователей операционной системы DOS:
$ alias dir="ls -l"
А это пример более сложного псевдонима:
$ alias topcom='sort ~/.bash_history | uniq -ci | sort -r | less'
Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.
А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:
$ alias mnt='mount | grep -i /dev/[h]d[a..g] | sort'
Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.
Например, даже такая простая функция, как
$ bak () { cp -a $1 $1.bak }
не может быть преобразована в псевдоним из-за использования переменной "$1".
Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:
- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему
Деактивация псевдонима
Используйте команду unalias.
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают протоколы в модели TCP IP?
❤2