This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux: 🐧
добавьте немного цвета ! Нажмите клавишу z во время выполнения команды top в терминале.
добавьте немного цвета ! Нажмите клавишу z во время выполнения команды top в терминале.
👍15🥰1👏1
Хотя в основном ядре Linux присутствовали различные элементы поддержки SoC Apple M1 и M2, а также поддержка различных компьютеров Mac, в ядре основной ветки разработки отсутствовали некоторые функции, например, графический драйвер ядра Apple GPU . На более фундаментальном уровне, готовящееся к выпуску ядро Linux 6.17 удовлетворит ещё одно низкоуровневое ожидание от компьютеров Mac на базе Apple Silicon в основном ядре: возможность перезагрузки системы.
https://www.phoronix.com/news/Linux-6.17-Apple-SMC
https://www.phoronix.com/news/Linux-6.17-Apple-SMC
Phoronix
Linux Will Finally Be Able To Reboot Apple M1/M2 Macs With The v6.17 Kernel
While there have been various elements of the Apple M1 and M2 SoC support in the mainline Linux kernel along with support for various Macs, different features have been missing from the upstream kernel such as the Apple GPU kernel graphics driver as one big…
❤2🥰1
Беспарольный SSH и sudo с 1Password на Mac и Linux
https://scottstuff.net/posts/2025/07/04/passwordless-ssh-and-sudo-with-1password
https://scottstuff.net/posts/2025/07/04/passwordless-ssh-and-sudo-with-1password
scottstuff.net
Passwordless SSH and sudo with 1Password on Mac and Linux
I’ll admit: I’m terrible at managing SSH keys. Every time I build a new desktop I end up generating a new SSH key with ssh-keygen and then half-heartedly copy it to authorized_keys on machines that I ssh into. The machines that I use most often have huge…
Основы Systemd — наглядное руководство по Systemd
https://medium.com/@sebastiancarlos/systemds-nuts-and-bolts-0ae7995e45d3
https://medium.com/@sebastiancarlos/systemds-nuts-and-bolts-0ae7995e45d3
Medium
Systemd’s Nuts and Bolts — A Visual Guide to Systemd
If you’re a new or intermediate Linux user or sysadmin, you might have felt an odd fascination with the myth of systemd. I invite you to…
❤7👍1
Forwarded from Системный Администратор (админ)
Скриптик переустановки пароля пользователя MikroTik
Скрипт интересен строкой преобразования кода символа из переменной
👉 @sysodminof
# Скрипт смены пароля пользователя
# только для исполнения в терминале 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)]\")"]]👉 @sysodminof
👍12😁3
Включаем отображение Samba-сервера в сетевом окружении Windows
В последних версиях Windows samba сервера больше не отображаются в сетевом окружении, при этом они нормально работают при прямом подключении к ним. Это связано с полным отказом в Windows протокола SMB1 и невозможностью обнаружить Samba по протоколу NetBIOS.
Современные Windows системы используют для обнаружения устройств WSD (Web Services for Devices) и сегодня мы расскажем, как добавить его поддержку для вашего сервера Samba.
Для включения поддержки WSD нам потребуется пакет wsdd, который штатно присутствует в репозиториях Debian 12 и Ubuntu 22.04, если вы используете другие версии систем, то вам потребуется подключить репозиторий разработчиков, он поддерживает Debian 9 - 11, и Ubuntu 16.04 - 22.04.
Чтобы подключить репозиторий разработчиков сначала скачайте и импортируйте в хранилище ключ:
Теперь подключим сам репозиторий:
Обновим список пакетов и установим нужную нам службу:
Пакет будет автоматически добавлен в автозагрузку и нам останется только запустить его и проверить статус:
По умолчанию служба работает на всех интерфейсах и протоколах, если мы хотим изменить данное поведение, то следует добавить необходимые опции в файл /etc/default/wsdd, в нем находится единственная допустимая опция:
В ней мы должны указать все необходимые параметры запуска согласно документации.
Так, например, если мы хотим ограничить работу службы только интерфейсом ens33 и протоколом IPv4, то добавим:
Либо:
Короткая запись проще, но не такая информативная, поэтому в конфигурационном файле мы бы советовали придерживаться длинной.
После внесения изменений в настройки службу следует перезапустить:
Для нормальной работы службы вам также нужно разрешить в брандмауэре входящие соединения для UDP 3702 и TCP 5357.
Со стороны Windows делать ничего не нужно, Samba-сервера автоматически появятся в вашем сетевом окружении.
В последних версиях Windows samba сервера больше не отображаются в сетевом окружении, при этом они нормально работают при прямом подключении к ним. Это связано с полным отказом в Windows протокола SMB1 и невозможностью обнаружить Samba по протоколу NetBIOS.
Современные Windows системы используют для обнаружения устройств WSD (Web Services for Devices) и сегодня мы расскажем, как добавить его поддержку для вашего сервера Samba.
Для включения поддержки WSD нам потребуется пакет wsdd, который штатно присутствует в репозиториях Debian 12 и Ubuntu 22.04, если вы используете другие версии систем, то вам потребуется подключить репозиторий разработчиков, он поддерживает Debian 9 - 11, и Ubuntu 16.04 - 22.04.
Чтобы подключить репозиторий разработчиков сначала скачайте и импортируйте в хранилище ключ:
wget -O- https://pkg.ltec.ch/public/conf/ltec-ag.gpg.key | gpg --dearmour > /usr/share/keyrings/wsdd.gpgТеперь подключим сам репозиторий:
echo "deb [signed-by=/usr/share/keyrings/wsdd.gpg] https://pkg.ltec.ch/public/ `lsb_release -cs` main" > /etc/apt/sources.list.d/wsdd.listОбновим список пакетов и установим нужную нам службу:
apt update
apt install wsddПакет будет автоматически добавлен в автозагрузку и нам останется только запустить его и проверить статус:
systemctl start wsdd
systemctl status wsddПо умолчанию служба работает на всех интерфейсах и протоколах, если мы хотим изменить данное поведение, то следует добавить необходимые опции в файл /etc/default/wsdd, в нем находится единственная допустимая опция:
WSDD_PARAMS=""В ней мы должны указать все необходимые параметры запуска согласно документации.
Так, например, если мы хотим ограничить работу службы только интерфейсом ens33 и протоколом IPv4, то добавим:
WSDD_PARAMS="--interface ens33 --ipv4only"Либо:
WSDD_PARAMS="-i ens33 -4"Короткая запись проще, но не такая информативная, поэтому в конфигурационном файле мы бы советовали придерживаться длинной.
После внесения изменений в настройки службу следует перезапустить:
systemctl restart wsddДля нормальной работы службы вам также нужно разрешить в брандмауэре входящие соединения для UDP 3702 и TCP 5357.
Со стороны Windows делать ничего не нужно, Samba-сервера автоматически появятся в вашем сетевом окружении.
👍10🔥3❤1🤯1
Forwarded from Системный администратор
Подборка полезных скриптов для Mikrotik
Сгенерировать резервную копию и отправить её по электронной почте
Этот скрипт создаёт файл резервной копии и отправляет его на указанный адрес электронной почты. В теме письма содержится имя маршрутизатора, текущая дата и время.
Обратите внимание, что сервер SMTP должен быть настроен перед использованием этого скрипта. Смотрите настройки в разделе /tool e-mail.
Файл резервной копии содержит конфиденциальную информацию, такую как пароли. Поэтому, чтобы получить доступ к созданным файлам резервной копии, у скрипта или планировщика должна быть политика "sensitive" (чувствительная).
Использование строки в качестве функции
Проверка пропускной способности и добавление ограничений
Этот скрипт проверяет, не превышает ли загрузка на интерфейсе 512 кбит/с, если это так, то добавляется очередь для ограничения скорости до 256 кбит/с.
Заблокировать доступ к определённым веб-сайтам
Этот скрипт полезен, если вы хотите заблокировать некоторые сайты, но не хотите использовать веб-прокси.
В этом примере проверяются записи "Rapidshare" и "youtube" в DNS-кэше, и IP-адреса добавляются в список адресов с именем "restricted". Прежде чем начать, необходимо настроить маршрутизатор для перехвата всех DNS-запросов.
и добавьте брандмауэр
Теперь мы можем написать сценарий и запланировать его выполнение, скажем, каждые 30 секунд.
Код сценария:
📲 Мы в MAX
👉 @i_odmin
Сгенерировать резервную копию и отправить её по электронной почте
Этот скрипт создаёт файл резервной копии и отправляет его на указанный адрес электронной почты. В теме письма содержится имя маршрутизатора, текущая дата и время.
Обратите внимание, что сервер SMTP должен быть настроен перед использованием этого скрипта. Смотрите настройки в разделе /tool e-mail.
/system backup save name=email_backup
/tool e-mail send file=email_backup.backup to="[email protected]" body="See attached file" \
subject="$[/system identity get name] $[/system clock get time] $[/system clock get date] Backup")
Файл резервной копии содержит конфиденциальную информацию, такую как пароли. Поэтому, чтобы получить доступ к созданным файлам резервной копии, у скрипта или планировщика должна быть политика "sensitive" (чувствительная).
Использование строки в качестве функции
:global printA [:parse ":local A; :put \$A;" ];
$printA
Проверка пропускной способности и добавление ограничений
Этот скрипт проверяет, не превышает ли загрузка на интерфейсе 512 кбит/с, если это так, то добавляется очередь для ограничения скорости до 256 кбит/с.
:foreach i in=[/interface find] do={
/interface monitor-traffic $i once do={
:if ($"received-bits-per-second" > 0 ) do={
:local tmpIP [/ip address get [/ip address find interface=$i] address] ;
# :log warning $tmpIP ;
:for j from=( [:len $tmpIP] - 1) to=0 do={
:if ( [:pick $tmpIP $j] = "/") do={
/queue simple add name=$i max-limit=256000/256000 dst-address=[:pick $tmpIP 0 $j] ;
}
}
}
}
}
Заблокировать доступ к определённым веб-сайтам
Этот скрипт полезен, если вы хотите заблокировать некоторые сайты, но не хотите использовать веб-прокси.
В этом примере проверяются записи "Rapidshare" и "youtube" в DNS-кэше, и IP-адреса добавляются в список адресов с именем "restricted". Прежде чем начать, необходимо настроить маршрутизатор для перехвата всех DNS-запросов.
/ip firewall nat
add action=redirect chain=dstnat comment=DNS dst-port=53 protocol=tcp to-ports=53
add action=redirect chain=dstnat dst-port=53 protocol=udp to-ports=53
и добавьте брандмауэр
/ip firewall filter
add chain=forward dst-address-list=restricted action=drop
Теперь мы можем написать сценарий и запланировать его выполнение, скажем, каждые 30 секунд.
Код сценария:
:foreach i in=[/ip dns cache find] do={
:local bNew "true";
:local cacheName [/ip dns cache all get $i name] ;
# :put $cacheName;
:if (([:find $cacheName "rapidshare"] >= 0) || ([:find $cacheName "youtube"] >= 0)) do={
:local tmpAddress [/ip dns cache get $i address] ;
# :put $tmpAddress;
# if address list is empty do not check
:if ( [/ip firewall address-list find list="restricted" ] = "") do={
:log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;
} else={
:foreach j in=[/ip firewall address-list find list="restricted"] do={
:if ( [/ip firewall address-list get $j address] = $tmpAddress ) do={
:set bNew "false";
}
}
:if ( $bNew = "true" ) do={
:log info ("added entry: $[/ip dns cache get $i name] IP $tmpAddress");
/ip firewall address-list add address=$tmpAddress list=restricted comment=$cacheName;
}
}
}
}
👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1👎1🔥1
Forwarded from Bash Советы
🔐 Как найти файлы с открытыми правами (777) - быстро и просто!
Иногда на сервере появляются файлы и каталоги с правами
📁 А если нужно проверить директории:
🔍 Пояснение:
💡 Лучше запускать от root для полной картины.
📲 Мы в MAX
👉@bash_srv
Иногда на сервере появляются файлы и каталоги с правами
777, что представляет угрозу безопасности. Найдём их одной командой:
find / -type f -perm 0777 2>/dev/null
📁 А если нужно проверить директории:
find / -type d -perm 0777 2>/dev/null
🔍 Пояснение:
/ - путь, где искать (можно заменить на /var, /home и т.д.)-type f / -type d — искать только файлы или директории-perm 0777 - права доступа2>/dev/null - убираем лишние ошибки (например, от Permission denied)💡 Лучше запускать от root для полной картины.
📲 Мы в MAX
👉@bash_srv
👍6😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Совет дня по Linux
Редактирование файлов прямо из
Во время просмотра файла в пейджере
После сохранения изменений и выхода из редактора вы увидите обновлённый файл в
Редактирование файлов прямо из
lessВо время просмотра файла в пейджере
less можно нажать клавишу v. Это откроет текущий файл в редакторе, который указан в переменной окружения EDITOR.После сохранения изменений и выхода из редактора вы увидите обновлённый файл в
less.👍17🔥1
Forwarded from Системный Администратор Windows
👋 Привет, админы!
Если не ошибаюсь, осенью 21 года в одном из наших дата-центров после планового обновления клиентских машин начали массово падать сеансы RDP - пользователи жаловались, что после ввода пароля сессия сразу же разрывается. Оказалось, во время апдейта поставился неполностью совместимый патч безопасности, который конфликтовал с включённым на компьютерах аудиторией учетных политик.
🔥 Чтобы быстро отследить все последние установленные обновления на целевой группе машин и при необходимости откатить проблемный патч, я использовал вот такой PowerShell-скрипт:
С помощью этого отчёта мы быстро определили, что именно на всех проблемных ПК установился KB5005565. Чтобы откатить его удалённо, использовал команду:
После перезапуска машин RDP-сессии вернулись в норму. Плюс я добавил правило на WSUS, чтобы этот конкретный патч не раздавался снова до выяснения причины конфликта.
👉 @win_sysadmin
Если не ошибаюсь, осенью 21 года в одном из наших дата-центров после планового обновления клиентских машин начали массово падать сеансы RDP - пользователи жаловались, что после ввода пароля сессия сразу же разрывается. Оказалось, во время апдейта поставился неполностью совместимый патч безопасности, который конфликтовал с включённым на компьютерах аудиторией учетных политик.
🔥 Чтобы быстро отследить все последние установленные обновления на целевой группе машин и при необходимости откатить проблемный патч, я использовал вот такой PowerShell-скрипт:
# Получаем список компьютеров из текстового файла
$computers = Get-Content -Path "C:\Scripts\computers.txt"
# Словарь для хранения списка установленных обновлений
$updateReport = @()
foreach ($computer in $computers) {
try {
# Получаем установленные обновления за последние 7 дней
$recentUpdates = Get-HotFix -ComputerName $computer |
Where-Object { $_.InstalledOn -ge (Get-Date).AddDays(-7) }
foreach ($upd in $recentUpdates) {
$updateReport += [PSCustomObject]@{
Computer = $computer
KBArticle = $upd.HotFixID
InstalledOn = $upd.InstalledOn
}
}
}
catch {
Write-Warning "Не удалось получить обновления с сервера $computer: $_"
}
}
# Сохраняем отчёт в CSV
$csvPath = "C:\Scripts\RecentUpdatesReport.csv"
$updateReport | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8
Write-Host "Отчет сохранен в $csvPath"
С помощью этого отчёта мы быстро определили, что именно на всех проблемных ПК установился KB5005565. Чтобы откатить его удалённо, использовал команду:
Invoke-Command -ComputerName (Get-Content "C:\Scripts\computers.txt") -ScriptBlock {
wusa /uninstall /kb:5005565 /quiet /norestart
}
После перезапуска машин RDP-сессии вернулись в норму. Плюс я добавил правило на WSUS, чтобы этот конкретный патч не раздавался снова до выяснения причины конфликта.
👉 @win_sysadmin
👍6👎3🔥2