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

По всем вопросам : @Sofiia_artamonova
Download Telegram
Некоторые варианты поломки DNS

https://jvns.ca/blog/2022/01/15/some-ways-dns-can-break/
1
Как восстановить Windows к исходному состоянию, и почему для этого больше не нужен install.wim

На протяжении многих лет ноутбуки и планшеты Windows комплектовались образом восстановления для отката к заводским настройкам. Windows 10 прервала эту традицию, сэкономив гигабайты дискового пространства.

Сегодня настал черед поговорить о более существенной экономии места на планшетах и ноутбуках (OEM ПК), которая стала возможна благодаря отказу от образа восстановления.

https://telegra.ph/Kak-vosstanovit-Windows-k-ishodnomu-sostoyaniyu-i-pochemu-dlya-ehtogo-bolshe-ne-nuzhen-installwim-07-24
2
adduser — команда, упрощающая создание учетных записей пользователей в основанных на Debian дистрибутивах

Команда adduser используется в дистрибутиве Debian для упрощения создания учетных записей пользователей, а также автоматической проверки их соотвествия политике упомянутого дистрибутива. Она реализована в виде обертки для таких утилит, как useradd, passwd и chfn и использует дополнительный файл конфигурации /etc/adduser.conf для хранения параметров, относящихся к политике дистрибутива Debian.

Примечание: в дистрибутивах, не имеющих отношения к Debian, команда adduser полностью аналогична команде useradd (если быть точнее, она представлена обычной символьной ссылкой на утилиту useradd).

Базовый синтаксис команды adduser:

# adduser

В результате исполнения данной команды выполняются следующие операции:

1- Создается учетная запись пользователя с именем .
2- Создается домашняя директория пользователя /home/, в которую копируются файлы из директории /etc/skel.
3- Создается группа пользователей с именем, соотвествующим имени нового пользователя, причем сам этот пользователь добавляется в нее.
4- Выводится запрос ввода пароля для учетной записи пользователя.
5- Выводится запрос ввода дополнительной информации, относящейся к учетной записи пользователя.
Несложно догадаться, что для выполнения практически всех описанных действий может использоваться приведенная ниже последовательность команд на основе более распространенных утилит:

# useradd -m -U
# passwd
# chfn


Еще одним вариантом использования рассматриваемой команды является добавление существующего пользователя в новую группу пользователей. В этом случае используется следующий синтаксис:

# adduser

Данная команда также может быть заменена на более сложную команду на основе более распространенной утилиты usermod:

# usermod -G , ...,

Вторая команда является более сложной, но при этом и более гибкой, ведь она позволяет добавить пользователя сразу в несколько новых групп.

Примеры использования
Создание учетной записи пользователя iodminbook
# adduser iodminbook

Добавление пользователя iodminbook в группу testgroup
# adduser iodminbook testgroup
This media is not supported in your browser
VIEW IN TELEGRAM
Удаление строк, соответствующих шаблону, в Vim

:g/pattern/d — удалить строки, соответствующие шаблону
:g!/pattern/d — удалить строки, не соответствующие шаблону

https://vimtricks.com/p/remove-lines-matching-a-pattern-in-vim/
2
Профилировщик памяти для Linux

Heaptrack отслеживает все выделения памяти и аннотирует эти события с помощью трассировки стека. Специальные инструменты анализа позволяют интерпретировать профиль памяти кучи, чтобы:

⚫️найти «горячие точки», которые необходимо оптимизировать, чтобы уменьшить объем памяти приложения
⚫️найти утечки памяти, т. е. места, где выделяется память, которая никогда не деаллоцируется
⚫️найти «горячие точки» выделения, то есть места в коде, которые вызывают большое количество вызовов выделения памяти
⚫️находить временные выделения, то есть выделения, за которыми непосредственно следует их деаллокация

https://github.com/KDE/heaptrack
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Инструменты сетевого администрирования Linux
3
Полезные командлеты Windows PowerShell

Get-Help – показывает справку по командлету, функции и общую справку по Windows PowerShell. Справка бывает нескольких типов: краткая, детальная, полная и вывод только примеров;
Update-Help — загружает и устанавливает новые файлы справки, т.е. обновление справки;
Get-Command – командлет поиска нужной команды, можно искать как по глаголу, так и по существительному, также возможно использование маски, если Вы не знаете точное наименование глагола или существительного;
Get-Alias – показывает псевдонимы, все или конкретной команды;
Get-PSDrive – показывает подключенные диски;
Get-Member – выводит свойства и методы, которые есть у объекта;
Get-WindowsFeature – выводит сведения о доступных ролях и компонентах сервера;
Install-WindowsFeature (эквивалентен Add-WindowsFeature) — устанавливает роли или компоненты на указанный сервер;
Uninstall-WindowsFeature (эквивалентен Remove-WindowsFeature) – удаляет роли или компонента сервера;
Get-History — возвращает список команд, введенных в ходе текущей сессии.
1
Команда ip в Linux: Мощный сетевой инструмент

Для системных администраторов Linux и сетевых инженеров команда ip является важным инструментом для настройки и проверки сетевых интерфейсов и таблиц маршрутизации.
Шпаргалка по командам Linux🐧
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
SRE Roadmap

Дорожная карта, чтобы стать SRE (концепции > инструменты)

https://github.com/teivah/sre-roadmap
👍51
Как увеличить размер каталога /tmp/

Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
# mount -t tmpfs tmpfs /tmp -o size=1024M,mode=1777,remount

Теперь проверим, есть ли у нас каталог в фстабе:
# cat/etc/fstab

Если нет, создаем, если существует то выполняем следующую команду:
# none /tmp tmpfs size=1024M,mode=1777,rw 0 0

Теперь готов каталог/tmp/ с размером, указанным в операторе “size” размером 1024 mb.
👍51
Утилиты linux

rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов;
-u — не перезаписывать более новые файлы;
-l — копирует символьные ссылки;
-L — копирует содержимое ссылок;
-p — сохраняет права для файлов;
-t — сохраняет время модификации;
-e — использовать другой транспорт, например, ssh;
[-z] — cжимает файлы перед передачей;
—recursive — перебирать директории рекурсивно;
—exclude — Исключить файлы по шаблону;

Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ [email protected]:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh

ss
-l или —listening — посмотреть только прослушиваемые порты;
-p или —program — показать имя программы и ее PID;
-t или —tcp — показать tcp порты;
-u или —udp показать udp порты;
-n или —numeric показывать ip адреса в числовом виде.

Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту

ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom

mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру

free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)

top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу

dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет

netstat
netstat -pnltu — посмотреть список используемых портов
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Как работают протоколы в модели TCP IP?
👍31
Как проанализировать производительность DNS сервера с помощью WireShark?

На прошлой неделе я находился во Владивостоке и сервера DNS, который мне в отеле выдавались точкой доступа Wi-Fi, работали из рук вон плохо. Часть необходимых мне ресурсов были не доступны, другая часть открывалась медленно. Впервые ощутил насколько важный элемент сервер DNS и как с медленно и некорректно работающим сервером плохо жить и работать. Далее

https://telegra.ph/Kak-proanalizirovat-proizvoditelnost-DNS-servera-s-pomoshchyu-WireShark-01-23
🔥3
Скриптик переустановки пароля пользователя MikroTik

# Скрипт смены пароля пользователя
# только для исполнения в терминале ROS
# by Sertik 09/06/2020

{
:global EnterString do={
:local cont 0; :local string ""
:while ($cont!=13) do={
:local key ([:terminal inkey])
:if ($key!=13) do={
:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
:set string ("$string"."$char")}
:set cont $key
}
:return $string}
;
:put "Please, enter Username:"
:local RegUser [$EnterString];
:put "";
:if ([:len [/user find disabled=no name=$RegUser]]!=0) do={:put "Ok, a user with this name was found"; :put "";
:put "Please, enter new password for this user:"
:local newPass [$EnterString];
[/user remove $RegUser];
[/user add name=$RegUser password=$newPass group=full];
:put "";
:put "The user has been re-created, the password has been changed";
:put ("New user`s password: "."$newPass");
:put "Don't forget to set up access restrictions based on ip addresses";
} else={:put ("User "."$RegUser "."not found"); :put "";
}
}

Скрипт интересен строкой преобразования кода символа из переменной $key, сграбленного с клавиатуры терминала, в сам символ.

:local char [[:parse "(\"\\$[:pick "0123456789ABCDEF" (($key >> 4) & 0xF)]$[:pick "0123456789ABCDEF" ($key & 0xF)]\")"]]
1
50 базовых команд Windows с примерами

Изучите основные команды windows, которые помогут вам в устранении неполадок, настройке и сборе информации о системе. 50 базовых команд Windows с примерами.

https://bookflow.ru/50-bazovyh-komand-windows-s-primerami/
2
📌 Как работает DNS
2
Как активировать debug режим в bash?


1. Использование опции -x
Запустите скрипт с опцией -x, чтобы bash выводил каждую команду перед её выполнением.


bash -x script.sh


Или добавьте set -x в самом скрипте, чтобы начать отладку с этого места:


#!/bin/bash
set -x
# команды скрипта
set +x # остановка отладки


2. Использование опции -v
Опция -v заставляет bash выводить команды, которые он читает, но ещё не исполнил. Это полезно для отладки синтаксиса.


bash -v script.sh


Также можно добавить set -v в скрипте для включения вывода на определённом участке:


#!/bin/bash
set -v
# команды скрипта
set +v # остановка вывода


3. Использование режима отладки -xv
Для максимально подробной отладки можно использовать обе опции сразу — -x и -v:


bash -xv script.sh


4. Использование trap для пошаговой отладки
Команда trap позволяет запускать отладочные действия на определённых сигналах или ошибках. Например, чтобы пошагово отслеживать выполнение команд, можно использовать:


trap 'echo "Команда: $BASH_COMMAND"' DEBUG


Это полезно для сложных сценариев, где нужно понять, какая именно команда вызывает ошибку.

5. Отладка с помощью PS4
Переменная PS4 позволяет настроить префикс вывода отладки. Это полезно, если вы хотите видеть номер строки и другую информацию:


export PS4='+ $(basename $0):${LINENO}: '
bash -x script.sh
4