Sam's IT blog
57 subscribers
67 photos
3 files
61 links
ИТ блог посвящённый информационным технологиям, системному администрирования и DevOps.

Поддержать канал:
Юмани - 410012521807896

Дзен - https://dzen.ru/samsitblog
Рутуб - https://rutube.ru/channel/38660966/
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
💻Команды быстрого доступа к консолям Windows, которые можно запустить через Выполнить или в командной строке

|Команда     |Что запускает        |
|------------|---------------------|
|ADFS.msc |AD Federation |
|CERTMGR.msc |Cert Management |
|CERTSRV.msc |CA Management |
|CERTTMPL.msc|Certificate Templates|
|COMPMGMT.msc|Computer Management |
|COMEXP.msc |Component Services |
|DSA.msc |AD Users and Comps |
|DFSGUI.msc |DFS Management |
|DFSMGMT.msc |DFS Management R2 |
|DNSMGMT.msc |DNS Management |
|DOMAIN.msc |Domains and Trusts |
|DSSITE.msc |Sites and Services |
|EVENTVWR.msc|Event Viewer |
|GPEDIT.msc |Local Policy |
|GPMC.msc |GP Management Console|
|PKIVIEW.msc |PKI management |
|RSOP.msc |GP Result |
|SECPOL.msc |Local Security Policy|
|SERVICES.msc|Services |
|SCHMMGMT.msc|Schema Management |
|TASKSCHD.msc|Task Scheduler |
|TSCC.msc |TS Configuration |
|NAPCLCFG.msc|RADIUS Policy |
|PERFMON.msc |Performance Monitor |
|STOREXPL.msc|Storage Manager |
|WF.msc |Windows Firewall |


ℹ️Источник

#Windows
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2⚡1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
📱📱Установка Windows Subsystem for Linux (для запуска Linux окружения в Windows)
1. Запускаем команду установки компонентов.
⚠️Если не хотите чтобы сервер сразу перезагрузился, то добавьте -NoRestart в конце команды ниже.⚠️
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux, VirtualMachinePlatform


После перезагрузки выполняем следующий блок команд, которые установят Ubuntu в качестве ОС для подсистемы WSL.
if ((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name InstallationType -ErrorAction SilentlyContinue).InstallationType -like "*Core*") {
Invoke-WebRequest -Uri "https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi" -OutFile ".\wsl_update_x64.msi"
Start-Process "msiexec.exe" -ArgumentList "/i .\wsl_update_x64.msi /quiet" -NoNewWindow -Wait
}
wsl --update
wsl --set-default-version 2
wsl --install -d Ubuntu

Установка закончена, можно запустить в терминале wsl и работать в нативной среде Linux.

📚Если требуется больше информации, то читаем документацию.

🤨Возможные проблемы:
Не включена виртуализация (для ВМ на базе Hyper-V решается вопрос через Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true)

#Windows #WSL #Ubuntu #Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
🖼️Список самых часто используемых команд kubernetes.
- kubectl apply (Применяет конфигурацию из файла. Создаст новый объект или изменит существующий)
- kubectl config get-clusters (показывает информацию о кластрее из kubeconfig)
- kubectl config get-contexts (Displays the current context)
- kubectl create (Создать ресурс)
- kubectl delete (Удалить ресурс)
- kubectl describe (Посмотреть информацию о ресурсе)
- kubectl expose (открыть сетевой доступ к ресурсу)
- kubectl get (Показать ресурс)
- kubectl get pods (Посмотреть список подов)
- kubectl get pods -o wide (посмотреть список подов с доп. инфой)
- kubectl get deployments (показать инфу о развертывании)
- kubectl get services (Показать список сервисов)
- kubectl proxy (создать прокси между localhost и Kubernetes API server)
- kubectl run (Запустить контейнер в поде)
- kubectl version (Показать текущую версию кубера)

📚Документация

#K8s #kubernetes #linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1👀1
Sam's IT blog
Совсем недавно для себя снова открыл Chocolatey. Chocolatey - это пакетный менеджер, который позволяет устанавливать ПО из командной строки. Я пользуюсь скриптом ниже, для установке ПО и обновления Windows вместе с перезагрузкой. Скрипт устанавливает браузер…
This media is not supported in your browser
VIEW IN TELEGRAM
ℹ️ Ранее я пользовался chocolatey для массовой установки ПО, но у него последнее время возникли проблемы. 😕 Репозиторий выглядит заброшенным, пакеты часто далеко несвежие и иногда совсем не устанавливаются. Поэтому перешёл на следующую связку: scoop + winget.

⬇️ scoop - установщик аналогичный (apt / dnf / brew - в других операционных системах). Но как всегда есть нюансы:
1️⃣ Всегда ставит пакеты в ваш профиль по умолчанию, поэтому нужно обязательно использовать флаг --global чтобы ПО было доступно всем пользователям.
2️⃣ Не требует подтверждения установки дополнительным флагом -y.
3️⃣ ‼️Если удалите scoop, удалиться также всё ПО, которое ставили этим пакетным менеджером. ‼️
4️⃣ Автоматически добавляет всё установленное ПО в переменную PATH, так что можно сразу пользоваться не указывая при этом полный путь к программе.

📱 Winget оставил для резервного сценария, когда нужно поставить какое-то ПО, которого нет в репозитории scoop (например, Яндекс Браузер)
Нюансы у winget:
1️⃣ Практически нет коротких флагов, из-за этого скрипты установки превращаются в длинную портянку человекочитаемого текста
2️⃣ Флаги подавления интерактивных запросов работают через раз, из-за чего скрипт зависает на каком-нибудь неподтверждённом лицензионном соглашении

✏️ Ниже скрипт, которым я пользуюсь для следующего сценария:
1. Установка необходимого софта:
- git (нужен для подключения дополнительных репозиториев scoop)
- gdu (консольный клиент для анализа места на диске, аналог ncdu в линукс)
- btop (консольная версия task manager, аналог htop в линукс)
- Pending Reboot (проверяет требуется ли перезагрузить Windows)
- Far Manager
- Yandex Browser
- LibreOffice
- Notepad++
- OpenSSH
- 7-zip
- Powershell 7

2. Открепить MS Edge от панели задач
3. Обновить и перезагрузить

$appname = "microsoft edge"
$main_browser='yandex browser'
#other values googlechrome or 'mozilla firefox (ru)' or vivaldi
write-host "prepare environment"
set-executionpolicy bypass -scope process -force;
[system.net.servicepointmanager]::securityprotocol = [system.net.servicepointmanager]::securityprotocol -bor 3072;
iex "& {$(irm get.scoop.sh)} -runasadmin"
install-packageprovider -name nuget -minimumversion 2.8.5.201 -force;
set-psrepository -name psgallery -installationpolicy trusted;
install-module pswindowsupdate,pendingreboot -force -skippublishercheck;
install-script -name winget-install -force
& winget-install.ps1
write-host "remove $appname from taskbar"
if (((get-ciminstance -classname win32_operatingsystem | select -property muilanguages).muilanguages).tolower() -eq 'ru-ru') {
$task_match='открепить от панели задач'
} else {
$task_match='unpin from taskbar'
}
((new-object -com shell.application).namespace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').items() | where-object {
$_.name -eq $appname
}).verbs() | where-object {
$_.name.tolower().replace('&','') -match $task_match
} | foreach-object {
$_.doit();
$exec = $true;
}
write-host "install software"
scoop install --global 7zip pwsh git gdu btop-lhm far
scoop bucket add extras
scoop install --global extras/libreoffice extras/notepadplusplus
reg import "C:\ProgramData\scoop\apps\7zip\current\install-context.reg"
winget install --name $main_browser "Windows Terminal" --accept-source-agreements --accept-package-agreements --disable-interactivity --source winget
write-host 'install ssh'
get-windowscapability -online -name openssh* | add-windowscapability -online
if (test-path "c:\programdata\scoop\apps\pwsh\current\pwsh.exe") {
$pwsh_path="c:\programdata\scoop\apps\pwsh\current\pwsh.exe"
} elseif (test-path "c:\program files\powershell\7\pwsh.exe") {
$pwsh_path="c:\program files\powershell\7\pwsh.exe"
} else {
$pwsh_path=''
}
if ($pwsh_path) {
new-itemproperty -path "hklm:\software\openssh" -name defaultshell -value $pwsh_path -propertytype string -force
}
get-service sshd | set-service -startuptype 'automatic' -passthru | start-service
write-host "install windows updates"
import-module pswindowsupdate
install-windowsupdate -acceptall -autoreboot

@samitblog

#windows #winget #scoop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤝1
🐧 Как в Linux посмотреть какие команды и кем запускались через sudo.
Если Debian/Ubuntu, то смотрим такой командой.
sudo journalctl _COMM=sudo --no-pager

Если Red Hat/Centos/Rocky Linux
sudo grep "sudo" /var/log/secure

👀 Если в логе указан только ID пользователя, без указания логина, то смотрим файл со списком пользователей кому принадлежит найденый id
grep 1000 /etc/passwd


@samitblog
#linux #security
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👏1🤝1
📱 Как настроить отображение имени хоста в Powershell.
Скопировать функцию ниже
function prompt { "PS [$env:COMPUTERNAME] $($executionContext.SessionState.Path.CurrentLocation)> " }

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

👩‍💻 Для PowerShell версии 5️⃣ (предустановлен с Windows) профиль лежит в этой папке.
%USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"

Для PowerShell версии 7️⃣ (скачивается отдельно с сайта Microsoft или Github) профиль лежит в этой папке.
%USERPROFILE%\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"

@samitblog

#windows #powershell
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1👨‍💻1
📱Microsoft выпустила некоторые основные утилиты Linux в виде exe файлов. Теперь в дополнении к WSL, некоторые популярные утилиты, такие как ls, cat доступны в командной строке. Не знаю насколько это актуально c учётом, что большинство команд и так были доступны в виде алиасов в PowerShell.
https://habr.com/ru/companies/selectel/articles/1043672/

#windows #linux #cmd #powershell #news
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1👌1
🆓 Недавно узнал, что Крипто-Про уже более двух лет официально можно пользоваться бесплатно, если пользуешься сертификатом, который выдала налоговая. Главное условие - перевыпускать сертификат ЭЦП в личном кабинете до его истечения.

🔑 Кроме Крипто Про можно ещё получить ПО VipNet, если это необходимо.

☝️Важный нюанс, чтобы продлить сертификат самостоятельно, нужно выполнить вход в личный кабинет ИП/юрлица через токен, а не пароль/госуслуги.

@samitblog

#эцп #cryptopro #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤝2😎2⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
4️⃣ июня2️⃣0️⃣2️⃣6️⃣ года вышло обновление политики Let's Encrypt куда включили следующий пункт:
You are not a person or entity that is: (a) located in, organized under the
laws of, or ordinarily resident in any country or territory that is the target
of comprehensive U.S. sanctions
; (b) a prohibited or restricted party under
U.S. or other applicable sanctions and export control laws and regulations;
or (c) owned or controlled by or acting on behalf of anyone described in (a)
or (b). You agree to use Let’s Encrypt Certificates and any services
provided by or on behalf of ISRG in compliance with applicable U.S. export
control and sanctions laws and regulations.

🤔Для пользователей из РФ это довольно тревожная новость. Если раньше можно было спокойно автоматически выпускать SSL-сертификаты через certbot для своих сайтов или другой инфраструктуры, то в настоящий момент появляются определённые риски. Сертификат может не обновиться по расписанию и браузер покажет уведомление о не доверенном соединении.

Кто ранее использовал ZeroSSL, как альтернативу Let's Encrypt уже столкнулись ранее подобными ограничениями (невозможно выпустить сертификат для домена в зоне .ru, .su), возможно история повториться.

❓Какие есть варианты решения проблемы?
1️⃣Перейти на другой домен, который не оканчивается на .ru, .su
2️⃣ Перенастроить certbot на ssl.com (российские домены пока не в чёрном списке, инструкция тут)

@samitblog

#ssl #certbot #letsencrypt
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2👍1🔥1👏1🤔1
📱 Как посчитать с каких IP адресов больше всего запросов приходит в nginx?

Это можно сделать одной командой
sudo cut -d' ' -f1 /var/log/nginx/access.log | uniq -c | sort -r

@samitblog

#linux #bash #nginx
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2✍2👍1🔥1
🏅 Как поменять отображаемое имя (displayName) пользователя в Яндекс 360.
Недавно столкнулся с проблемой - нужно было в яндексе поменять отображаемое имя для сотрудника. В стандартной админке admin.yandex.ru, данное поле недоступно для редактирования. Поменять его можно только через API вызов. Вопрос кажется простым, берём документацию и отправляем запрос через curl. Однако, всё не просто.
1️⃣В документации сказано, что api360.yandex.net является устаревшим хостом, но по факту в "актуальном хосте" ресурсы не находятся...
2️⃣Чтобы получить токен - нужно зарегистрировать приложение. Кто бы мог подумать, что регистрация приложения требует верификацию, через госуслуги... Но оказалось, что для одноразовой задачи, можно не проходить верификацию, а просто нажать дополнительную кнопочку, что согласен воспользоваться "недоверенным" приложением.🧐

Далее уже техническая часть. USER ID, ORGANIZATION ID берём из админки и передаём в готовый скрипт ниже. 👇

@samitblog

#yandex #api #bash
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
🖼️Корректная установка Ansible для работы нескольких админов.
По умолчанию, если установить ansible на отдельных хост для работы нескольких сотрудников через apt install ansible, то скачается далеко не самая свежая версия, в которой будут отсутствовать многие возможности.

Если вы используете shared environment без деплоя через pipelines, то правильная установка выполняется скриптом ниже.
sudo apt update
sudo apt install -y python3 python3-venv
sudo mkdir -p /opt/ansible
sudo mkdir -p /usr/share/ansible/roles
sudo python3 -m venv /opt/ansible
sudo /opt/ansible/bin/pip install --upgrade pip
sudo /opt/ansible/bin/pip install ansible
sudo ln -s /opt/ansible/bin/ansible /usr/local/bin/ansible
sudo ln -s /opt/ansible/bin/ansible-config /usr/local/bin/ansible-config
sudo ln -s /opt/ansible/bin/ansible-console /usr/local/bin/ansible-console
sudo ln -s /opt/ansible/bin/ansible-doc /usr/local/bin/ansible-doc
sudo ln -s /opt/ansible/bin/ansible-galaxy /usr/local/bin/ansible-galaxy
sudo ln -s /opt/ansible/bin/ansible-inventory /usr/local/bin/ansible-inventory
sudo ln -s /opt/ansible/bin/ansible-playbook /usr/local/bin/ansible-playbook
sudo ln -s /opt/ansible/bin/ansible-pull /usr/local/bin/ansible-pull
sudo ln -s /opt/ansible/bin/ansible-vault /usr/local/bin/ansible-vault


🗂После этого можно создать папку для хранения плейбуков и редактировать её совместно. Если нужно установить дополнительную роль, то необходимо при установке указать общую папку через -p <folder>. Например, если нужно поставить роль для управления DNS сервером bind, то используем команду ниже.

sudo ansible-galaxy role install -p /usr/share/ansible/roles  systemli.bind9


@samitblog

#ansible #linux #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3⚡1👍1😁1
📱ResourceUnavailable. No applicable app licenses found.
Если увидели такую ошибку при запуске winget или dsc, то нужно просто выполнить сброс настроек через команду
wsreset.exe


@samitblog

#windows #dsc #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
👀2⚡1👍1
👨‍💻Поздравляю всех подписчиков с днём системного администратора! Пусть серверы работаю как часы, а пинг будет без потерь.

@samitblog

#sysadminday
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾4👍3⚡1🤝1🤗1
🔄 Не первый раз разработчики программы Notepad++ выражают солидарность с Украиной. Это означает, что установка данного ПО на серверах с IP адресами из России является очень рискованным.

☝️ Безопасность ИТ-инфраструктуры строиться на доверии ко всем компонентам, особенно к ПО которое устанавливает администратор.

@samitblog

#windows #security
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4👍2⚡1🤬1😨1