Админские угодья
1.46K subscribers
446 photos
40 videos
219 links
Всё для системного администратора

По всем вопросам : @Sofiia_artamonova
Download Telegram
Безопасность Linux
5
📌 Как проверить SSL-сертификат с Bash

Иногда нужно быстро проверить, когда истекает SSL-сертификат у сайта.


echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -dates | grep 'notAfter'


Вывод будет примерно таким:


notAfter=Jun 15 12:00:00 2025 GMT


А если хочешь узнать, сколько дней осталось до окончания сертификата:


end_date=$(echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -enddate | cut -d= -f2)

end_ts=$(date -d "$end_date" +%s)
now_ts=$(date +%s)
echo $(( (end_ts - now_ts) / 86400 )) дней до окончания
4
Трюки терминала Bash

Полезные комбинации клавиш (хоткеи) и небольшие хитрости, которые сделают Вашу работу в Linux более эффективной.

Горячие клавиши" Bash с Ctrl
Ctrl + n — то же самое, что и стрелка вниз.
Ctrl + p — то же самое, что и стрелка вверх.
Ctrl + r — поиск по предыдущим командам из истории команд (history). Продолжайте нажимать Ctrl + r, чтобы искать дальше. Ctrl + Shift + r — поиск в другую сторону.
Ctrl + s — остановить вывод в терминал.
Ctrl + q — восстановить вывод в терминал после Ctrl + s.
Ctrl + a — перейти к началу строки (аналог клавиши Home).
Ctrl + e — перейти к концу строки (аналог клавиши End).
Ctrl + d — если вы ввели что-то, то Ctrl + d удаляет символ под курсором. В противном случае означает конец ввода и завершает текущую сессию Bash.
Ctrl + k — удалить весь текст от курсора до конца строки.
Ctrl + x + backspace — удалить весь текст от начала строки до курсора.
Ctrl + t — переставить символ до курсора на символ под курсором. Нажмите Esc + t для перестановки двух слов до курсора.
Ctrl + w — удалить слово до курсора; затем Ctrl + y, чтобы вставить его.
Ctrl + u — удалить строку перед курсором; Ctrl + y для вставки его.
Ctrl + _ — отменить ввод.
Ctrl + l — очищает окно терминала. То же самое, что и clear.
Ctrl + x + Ctrl + e — запускает редактор, определённый в переменной $EDITOR, для ввода команды. Полезно для многострочных команд.

Изменить заглавные на строчные и наоборот
Esc + u — преобразовать буквы от курсора до конца строки в заглавные буквы.
Esc + l — преобразовать буквы от курсора до конца строки в нижний регистр.
Esc + c — заменить букву под курсором на заглавную.

Запустить предыдущую команду ещё раз
Запустить команду из истории по номеру (например, 53)
!53
!! — запуск последней команды.
sudo !! — запустить предыдущую команду с sudo.

Запускает последнюю команду и меняет какой-то параметр. Например, меняем "aaa" на "bbb":
# Последняя команда: echo 'aaa'
$ ^aaa^bbb

$ echo 'bbb'
bbb


Важно: предыдущая команда заменит только первое вхождение "aaa". Если вы хотите заменить все вхождения, используйте :&:
^aaa^bbb^:&
# или
!!:gs/aaa/bbb/


Запустить последнюю команду, которая начинается с...
Например, до этого в истории команд была команда cat filename:
!cat
# или
!c


— запускает cat filename ещё раз.

Указание файлов по шаблону в Bash
/etc/pa*wd/etc/passwd — символ * означает "несколько любых символов".
/b?n/?at/bin/cat — символ ? означает "один любой символ".
ls -l [a-z]* — вывести список файлов, содержащих только буквы латинского алфавита. В квадратных скобках [] перечисляются символы, которые будут искаться. А символ * после [] означает "хоть сколько раз".
ls {*.sh,*.py} — вывести все .sh и .py файлы. {} используется для группировки нескольких шаблонов по принципу "или".

Полезные переменные окружения Bash
Короткие переменные:
$0 — оболочка командной строки или путь до запускаемого файла.
$1, $2, $3, ... — аргументы запуска скрипта.
$# — число аргументов, переданных в скрипт из терминала.
$? — код завершения последней команды.
$- — текущие опции, установленные для оболочки.
$$ — идентификатор текущего процесса.
$! — идентификатор процесса, завершённого последним.

Более длинные, но тоже полезные переменные:
$DESKTOP_SESSION — текущий менеджер дисплеев.
$EDITOR — редактор текста по умолчанию.
$LANG — используемый системой язык.
$PATH — список директорий, в которых будут искаться исполняемые файлы.
$PWD — текущая директория.
$SHELL — текущая оболочка командной строки.
$USER — имя текущего пользователя.
$HOSTNAME — имя текущего хоста (компьютера).
5🔥2👍1
Команда ip в Linux: Мощный сетевой инструмент

Для системных администраторов Linux и сетевых инженеров команда ip является важным инструментом для настройки и проверки сетевых интерфейсов и таблиц маршрутизации.
3
This media is not supported in your browser
VIEW IN TELEGRAM
Statusnook — это открытое (MIT) self-hosted решение для быстрого развёртывания страницы статуса и мониторинга HTTP-эндпоинтов с оповещениями в Email и Slack.

https://github.com/goksan/statusnook
1👍1
Шпаргалка по маскам подсети CIDR
2
Системные утилиты для безопасного удаления файлов с HDD

Windows
В данном примере мы форматируем том D в файловую систему NTFS, при этом даем операционной системе команду предварительно перезаписать весь раздел нулями 10 раз, используя параметр /p («passes»), задающий количество проходов.
format d: /fs:NTFS /p:10

Linux
Быстро и надежно удаляет один или несколько файлов.
shred -u -n 40 /private/file.txt

В этом примере мы перезаписали файл file.txt случайными данными 40 раз подряд (параметр -n, по умолчанию же shred совершает 25 проходов) и затем удалили его (параметр -u, поскольку по умолчанию shred не удаляет файлы, а сразу перезаписывает).
shred -u -n 40 /private/file.txt /private/file2.txt

Если нам внужно дополнительно скрыть и сам факт «зачистки», то можете воспользоваться параметром -z:
shred -u -z -n 40 /private/file.txt

Единственный недостаток shred — данная утилита не умеет работать с директориями. Поэтому если вам требуется уничтожить содержимое целого каталога с вложенными папками, стоит воспользоваться wipe. В данном примере мы отдали команду рекурсивно (-r) удалить все, что находится в папке private, а также отключили запрос подтверждения удаления папок и файлов (-f), которое wipe выводит по умолчанию. Среди интересных дополнительных опций, поддерживаемых утилитой, стоит выделить принудительное выполнение chmod для каталогов и файлов, защищенных от перезаписи (-c), работу в тихом режиме (-s) и возможность заставить wipe следовать символическим ссылкам (-D, конфликтует с -r).
wipe -rf /private/*

Mac OS
В версиях операционной системы с 10.4 по 10.10 вы могли инициировать перезапись файлов, переместив их в корзину, а затем выбрав в Finder опцию «Очистить корзину необратимо», однако впоследствии Apple от нее отказалась. Вплоть до версии 10.11 для безопасного удаления данных можно было воспользоваться консольной командой srm. В данном примере мы рекурсивно удаляем содержимое папки private (-r), перезаписывая каждый файл случайными данными 7 раз подряд (-m). Также можно выбрать однократную перезапись файлов (-s) или же не указывать этот параметр вовсе — в этом случае утилита выполнит 35 проходов.
srm -rm /private/

В актуальных версиях Mac OS инициировать безопасное удаление файлов с жесткого диска можно с помощью Дисковой утилиты (для этого необходимо нажать на кнопку «Параметры безопасности» и задать количество циклов перезаписи), либо через терминал, используя конструкцию вида. Параметр -P является специфичным для Mac OS и сообщает утилите, что удаляемые файлы необходимо трижды перезаписать.
rm -P /private/file.txt
🔥21
Команды для получения информации о системе в Linux

Если хочешь быстро узнать, что происходит с твоей системой — эти команды помогут:

▪️ uname
Показывает информацию о системе: версию ядра, архитектуру и тип машины.

▪️ uname -r
Только версия работающего ядра Linux.

▪️ uptime
Отображает текущее время, как давно включён компьютер, число пользователей и среднюю нагрузку.

▪️ hostname
Выводит имя хоста (имя машины в сети).

▪️ hostname -i
Показывает IP-адрес текущего хоста.

▪️ last reboot
История перезагрузок системы: когда и как долго работала.

▪️ date
Текущая дата и время.

▪️ timedatectl
Подробности о системных часах и часовом поясе.

▪️ cal
Простой календарь текущего месяца.

▪️ w
Кто сейчас в системе и чем занят.

▪️ whoami
Имя текущего пользователя.

▪️ finger username
Информация о пользователе username (если установлен пакет finger).
🥰21👍1💩1
📌 Горячие клавиши терминала Linux

Общие:
Ctrl+Alt+T - в дистрибутивах, основанных на Ubuntu это сочетание клавиш используется для открытия терминала.
Tab - эта клавиша используется для автодополнения в терминале. Вам достаточно набрать начало какой-нибудь команды, затем нажать её и команда предложит доступные варианты или завершит её если она одна.
Ctrl+L - очистить весь вывод терминала.
Ctrl+S - приостановить вывод терминала.
Ctrl+Q - возобновить вывод если он был приостановлен.
Ctrl+C - отправить команде сигнал SigInt для её завершения.
Ctrl+Z - свернуть текущую команду в фоновый режим.

История команд:
Стрелки вверх и вниз - используются для перемещения вперед и назад по истории команд.
Ctrl+r - можно использовать для поиска по истории команд.
Ctrl+p - предыдущая команда в истории команд.
Ctrl+n - следующая команда в истории команд.
Ctrl+g - если вы находитесь в режиме поиска, завершает поиск.
Ctrl+o - выполнить найденную поиском команду.
Alt+. - использовать последнее слово предыдущей команды.

Перемещение курсора:
Ctrl+a - перейти в начало строки.
Ctrl+e - перейти в конец строки.
Alt+b - перейти влево на одно слово.
Alt+f - перейти в право на одно слово.
Ctrl+b - перейти влево на один символ.
Ctrl+f - перейти вправо на один символ.
Ctrl+xx - перейти в конец или в начало строки.

Редактирование:
Ctrl+u - вырезать строку до позиции курсора.
Alt+Del - удалить слово перед курсором.
Alt+d - удалить слово после курсора.
Ctrl+d - удалить символ под курсором.
Ctrl+h - удалить символ под курсором.
Ctrl+w - вырезать слово под курсором.
Ctrl+k - вырезать строку от позиции курсора до конца строки
Alt+t - поменять текущее слово с предыдущим.
Ctrl+t - поменять местами два символа перед курсором.
Esc+t - поменять местами два слова перед курсором.
Ctrl+y - вставить то, что было вырезано.
Alt+u - сделать верхний регистр символов от позиции курсора до конца текущего слова.
Alt+l - сделать нижний регистр символов от позиции курсора до конца слова.
Alt+c - перевести символ под курсором в верхний регистр и перейти к концу слова.
Alt+r - вернуть строку в исходное состояние.
Ctrl+_ - отменить последнее действие со строкой.
🔥21
Шпаргалка по PowerShell: Команды, операторы и многое другое

Шпаргалка по PowerShell — это версия языка командной строки Windows, которая помогает вам легко выполнять и автоматизировать критически важные задачи в ваших системах. Но как выполнять эти задачи и максимально использовать PowerShell в своей системе Windows?

Мы составили шпаргалку, в которой описаны синтаксис PowerShell и все команды, чтобы помочь вам оптимизировать PowerShell и даже подготовиться к собеседованиям.

https://bookflow.ru/shpargalka-po-powershell-komandy-operatory-i-mnogoe-drugoe/
2
Шпаргалка по PowerShell


Основные команды
- Get-Help <команда> – получить справку по команде
- Get-Command – список доступных команд
- Get-Command -Module <модуль> – команды из конкретного модуля
- Get-Alias – список псевдонимов команд
- Get-Process – список запущенных процессов
- Get-Service – список служб

Навигация по файловой системе
- Get-Location – текущий путь
- Set-Location <путь> – перейти к каталогу
- Get-ChildItem или ls – просмотр содержимого каталога
- New-Item -Path <путь> -Name <имя> -ItemType <тип> – создать файл или папку

Работа с файлами и папками
- Copy-Item -Path <источник> -Destination <назначение> – копировать файл/папку
- Move-Item -Path <источник> -Destination <назначение> – переместить файл/папку
- Remove-Item -Path <путь> – удалить файл/папку
- Rename-Item -Path <путь> -NewName <новое имя> – переименовать файл/папку

Работа с текстом и выводом
- Write-Output "текст" – вывод текста
- Write-Host "текст" – вывод текста на экран
- Read-Host -Prompt "вопрос" – ввод данных от пользователя
- Get-Content <файл> – чтение содержимого файла
- Set-Content <файл> – запись в файл
- Add-Content <файл> – добавление текста в файл

Переменные
- $<имя_переменной> = значение – создание переменной
- $var += значение – добавление к значению переменной
- $null – пустое значение

Условия и циклы
- if (<условие>) { <действие> } – условие if
- foreach ($item in $array) { <действие> } – цикл foreach
- while (<условие>) { <действие> } – цикл while

Работа с процессами и службами
- Start-Process <программа> – запуск программы
- Stop-Process -Name <имя> – завершение процесса
- Start-Service <служба> – запуск службы
- Stop-Service <служба> – остановка службы

Фильтрация и сортировка
- Where-Object { <условие> } – фильтрация объектов
- Sort-Object <свойство> – сортировка объектов

Примеры:
1. Получение списка файлов:

Get-ChildItem -Path "C:\папка"


2. Копирование файла:

Copy-Item -Path "C:\путь\файл.txt" -Destination "D:\копия\файл.txt"


3. Вывод чисел от 1 до 10:

for ($i = 1; $i -le 10; $i++) { Write-Output $i }


4. Фильтрация процессов по имени:

Get-Process | Where-Object { $_.Name -eq "notepad" }
1
Руководство по обеспечению безопасности Linux-сервера

https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
1
📌 Команда stat

Когда нужно быстро глянуть на атрибуты файла — права, владельца, временные метки - мы обычно используем команду ls.

Если тебе нужно больше деталей — как насчёт размера блока, номера inode или даже контекста безопасности?
Используй команду stat.

stat (сокр. от status) — мощная утилита Linux, которая показывает глубокую информацию о файлах и файловых системах.

Она особенно полезна, если нужно точно узнать:

* когда файл в последний раз открывали,
* изменяли содержимое,
* или меняли метаданные (например, права доступа).

Пример:


stat filename.txt
1
Производительность Linux

На схемах представлены: Linux observability tools, Linux static performance analysis tools, Linux benchmarking tools, Linux tuning tools, и Linux sar.
1