Сообщество - Лига Сисадминов

Лига Сисадминов

2 407 постов 18 923 подписчика

Популярные теги в сообществе:

41

Установка Let's Encrypt SSL сертификата в Zimbra [2024]

На сайте с вики зимбры есть отличный гайд https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Ce...

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

Имеем: Zimbra Collaboration Suite 8.7.10 GA 1829 на базе Ubuntu Server 16

Дистрибутив уже пропал в ссылках на офф. сайте, но его можно загуглить по: zcs-8.7.10_GA_1829.UBUNTU16_64.20170524161336.tgz

На самом деле, версия самой зибры не имеет значения, тут скорее ньюанс с самой убунтой.

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

Из гайда:

apt install -y python3 python3-venv libaugeas0

Там этот вариант не подходит, используем:

add-apt-repository ppa:deadsnakes/ppa

apt update

apt install -y python3.8 python3.8-venv libaugeas0

update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

Для проверки, мало ли:

python3 -V

Должны увидеть: Python 3.8.1

Почему именно 3.8? Потому что во-первых на самых свежих версиях питона у меня ничего не взлетело, а во-вторых потому что на данной версии все отработало как нужно)

Далее из гайда:

ln -s /opt/certbot/bin/certbot /usr/local/sbin/certbot

/usr/local/sbin/certbot certonly -d $(hostname --fqdn) --standalone --preferred-chain "ISRG Root X2" --agree-tos --register-unsafely-without-email

И работать это у нас не будет! pyopenssl 23.2.0, который идет в комплекте, не подходит для certbot'a.

Поэтому сначала делаем:

/opt/certbot/bin/pip install -U "pyopenssl==23.1.0"

Далее, при выполнении скрипта из crontab:

/etc/cron.daily/letsencrypt-zimbra

не пройдет верификация сертификата из-за устаревших корневых сертификатов. Лечится это следующим образом:

wget -O /tmp/ISRG-X1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt

cat /tmp/ISRG-X1.pem >> /etc/letsencrypt/live/$(hostname --fqdn)/chain.pem

И уже после этого, можно запускать скрипт из кронтаба, который успешно задеплоит сертификат в зимбру:

/etc/cron.daily/letsencrypt-zimbra

Вот и все. Не забываем рестартнуть сервер:

su zimbra -c '/opt/zimbra/bin/zmcontrol restart'

И радуемся полученному результату.

P.S.: надеюсь заметки из данного поста пригодятся хотя бы одному человеку. Тогда эта простыня текста будет не напрасной.

Показать полностью
19

Капля ностальгии в современном MS Office

Использую MS Word 2019, и тут на глаза попалась всплывающая подсказка к кнопке свойств абзаца. Ба, кого я вижу:

В подсказке окно с вкладками в икспишном оформлении. Я уже и забыл какое оно.

Интересно, как там в других версиях, всё так же олдскульно?

Показать полностью 1
15

Вопрос по OSPF

Добрый вечер многоуважаемые более опытные коллеги. Возник у меня тут вопрос по ОСПФ, базовая концепция его работы ясна, но не ясны детали(мне кажется так будет работать, но я не уверен). А вопрос этот нужно решить срочно, организовать резервный радиоканал, ибо основной уж часто падает. За сим и обращаюсь к вам за помощью. Суть такова:

Вопрос по OSPF

У нас есть маршрутизатор , на нем анонсируется аrеа0(y.y.y.y/16) и аrеа1(x.x.0.1/24). Одним интерфейсом подключенный к area0, а двумя другими, к двум маршрутизаторам area1, которые в той же подсети, х.х.0.2/24, и 0.3/24. Далее к каждому из маршрутизаторов будет подключено по одному маршрутизатору по радио, в той же подсети, но у одного аннонса cost=1, а у другого cost=20. Далее оба маршрутизатора присоединены к одному маршрутизатору 0.6/24.
Вопрос вот в чём. Заработает ли так ОСПФ вообще, и если да то будет ли он гнать траффик через ch1 по умолчанию, но перестроится на ch2, в случае падения ch1?

Огромное всем спасибо, каждый конструктивный ответ дал мне вектор, куда думать. И я хоть и костыльно, но решу проблему и без ОСПФ.

Показать полностью 1

Помогите с темной темой Chrome!

На ноутбуке почему то темная тема на сайтах и никак не меняется

  1. Пробовал просто поменять в настройках > Внешний вид > Режим > Потыркал: Темная/светлая тема - не помогло

  2. Подумал что влияет Win 11 на тему приложений, зашел в Персонализация > Выберите режим и повыбирал туда-сюда светлую и темную темы - не помогает
    3. Нашел флажочную настройку Chrome #enable-force-dark - выставил Disabled - тоже не помогает
    4. Осмотрел настройки специальных возможностей Chrome - там ничего не включено
    -
    Версий больше не осталось :(

0

[решено, заббикс не умеет] ]Zabbix: runas для system.run (win agents)

Есть ли способ запустить скрипт (system.run) на виндовом агенте с нужными credentials (доменные как вариант) помимо установки еще одной службы агента на сервере с нужными правами?

[решено, заббикс не умеет] ]Zabbix: runas для system.run (win agents)

Вторая и тд служба на агенте- идиотизм

Неужели я не могу это сделать/не могу из скрипта обратится в заббикс за кредсами?

Вроде разработчики заббикс умеют в разную аутефикацию....

Показать полностью
13

Как свести с ума коллегу и не только. Автоматическая смена обоев

Что для этого нужно? Надо что бы человек думал, что он видит то, чего нет, и видит только он. Как мы это сделаем? У нас будет 100 копий одной любой картинки для рабочего стола, например этой:

Выберите свое или скачайте это.

Выберите свое или скачайте это.

И одна модифицированная версия этой картинки, например:

"Выпустите меня!"

"Выпустите меня!"

С помощью небольшого кода мы будем совершенно незаметно менять каждые 10 секунд фон. И рано или поздно наша жертва увидит модифицированную версию. Жертва удивится и позовет кого-то (вас) посмотреть, что происходит? Но пока вы подойдете, фон снова станет нормальным как минимум на ближайшие 1000 секунд (или больше, как вы хотите), а маятник крыши жертвы чуть-чуть покачнется. Как сделать это с помощью персонализации и слайд-шоу, знает практически любой пользователь ПК на любительском уровне (кроме вашего бухгалтера), да и не подходит этот способ, потому что фон меняется с анимацией, которая заметна. Мы будем использовать для этого PowerShell и VBScript. Не спешите мотать, все будет максимально просто и разжевано.

  1. Создайте папку в диске D под названием oboi. Внутри нее создайте простой текстовый документ. Скопируйте и вставьте туда этот текст:

    $folderPath = "D:\oboi"

    if (-Not (Test-Path -Path $folderPath)) {

    Write-Host "The specified folder does not exist."

    exit

    }

    Write-Host "Contents of the folder:"

    Get-ChildItem -Path $folderPath | ForEach-Object { Write-Host $_.Name }

    $images = Get-ChildItem -Path $folderPath | Where-Object { $_.Extension -match '^\.(png|jpg|jpeg|bmp)$' -and $_.PSIsContainer -eq $false } | Sort-Object Name

    if ($images.Count -eq 0) {

    Write-Host "No images found in the specified folder."

    exit

    }

    Write-Host "Found $($images.Count) images in the folder."

    $indexFilePath = "D:\oboi\index.txt"

    if (-Not (Test-Path -Path $indexFilePath)) {

    Set-Content -Path $indexFilePath -Value 0

    }

    Add-Type -TypeDefinition @"

    using System;

    using System.Runtime.InteropServices;

    public class Wallpaper {

    public const int SetDesktopWallpaper = 20;

    public const int UpdateIniFile = 0x01;

    public const int SendWinIniChange = 0x02;

    [DllImport("user32.dll", CharSet = CharSet.Auto)]

    private static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni);

    public static void SetWallpaper(string path) {

    SystemParametersInfo(SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange);

    }

    }

    "@

    $changeCount = 0

    while ($true) {

    $currentIndex = [int](Get-Content -Path $indexFilePath)

    $image = $images[$currentIndex]

    $imagePath = $image.FullName

    Write-Host "Selected image: $imagePath"

    [Wallpaper]::SetWallpaper($imagePath)

    Write-Host "Wallpaper changed to: $imagePath"

    $currentIndex = ($currentIndex + 1) % $images.Count

    Set-Content -Path $indexFilePath -Value $currentIndex

    $changeCount++

    if ($changeCount -eq 6) {

    exit

    }

    Start-Sleep -Seconds 10

    }

    Теперь сохраните, и поменяйте название и расширение текстового файла на oboi.ps1. На что обратить внимание в коде? $folderPath = "D:\oboi" - папку в диске D с названием oboi закиньте свои копии обоев и одного "особенного". Start-Sleep -Seconds 10 - менять картинку каждые 10 секунд. if ($changeCount -eq 6) - что бы скрипт не ушел в бесконечность, через 1 минуту (6 раз по 10 секунд) скрипт остановится. Если вы вообще нулевые в коде(как и я) лучше тут ничего не трогать, а если хочется что бы реже показывалась "особенная" картинка, просто увеличивайте количество копий фотографии в папке.

    2. Теперь, создайте еще один текстовый файл и вставьте туда этот код -

    Set objShell = CreateObject("WScript.Shell")

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    If objFSO.FileExists("D:\oboi\oboi.ps1") Then

    objShell.Run "powershell.exe -NoProfile -WindowStyle Hidden -File ""D:\oboi\oboi.ps1""", 0, True

    Else

    WScript.Echo "Script file not found."

    End If

Поменяйте его название и расширение на Run_powershell.vbs Для чего это нужно? Дело в том, что если просто запускать предыдущий скрипт - на долю секунды открывается окошко Powershell, что можно заметить и понять что что то не так. А с помощью второго кода все запустится совершенно незаметно. Если название и расширения файлов вы ввели правильно - они будут выглядеть примерно так -

Оба файла с кодом

Оба файла с кодом

3. Шаг третий, и последний - создать задачу которая автоматически будет запускать наши скрипты. Нажмите на "Пуск" и введите в поиске - "планировщик заданий". Откройте его и нажмите на обе кнопки -

Создать задачу

Создать задачу

Во вкладке "Общие" сделайте два этих действия

Название и приоритет

Название и приоритет

Триггеры, когда начнет работать программа.

Триггеры, когда начнет работать программа.

Что должна сделать программа.

Что должна сделать программа.

И последнее, можно указать вот это -

На всякий случай.

На всякий случай.

Ссылка на яндекс Диск с исходными файлами, как у меня работает - Вот она. Вирусов нет, в файлах код который тут и указан. Максимум где вы можете ошибиться - это в указании пути к файлам. Будьте крайне внимательны)

С помощью этого же кода можно просто крутить видео разбитое по кадрам, например, со сменой кадра один раз в сутки - тоже поможет крыше потечь) Шутите только с теми, кто понимает шутки!

Это мой первый пост такого формата, буду рад советам. Сам все сделал менеджерам, жду пока клюнет.

Да, я видел эту шутку у кого то на Пикабу, но оно было в картинке и я не смог ее найти. Если найдете, дайте ссылку пожалуйста.

Показать полностью 7
47

Ответ на пост «VPN на своём сервере с IP адресом из США за 1$ в месяц»5

На ruweb за 250 рублей можно взять сервер сразу с wireguard, ничего в консоли делать не надо. На 20-30 устройств хватит пропускной способности.

11

Ошибка <The VNP service is not available. Exiting.> Cisco AnyConnect

Источник

Одно из решений по ошибке <The VNP service is not available. Exiting.>

На обычной Win10 перестал запускаться сервис Cisco AnyConnect. Без видимых причин работал 2 года и перестал. В Инете народ жалуется на похожие симптомы. Но чаще всего у них служба Cisco AnyConnect Secure Mobility Agent for Windows находится на момент проблемы в выключенном состоянии:

Поэтому её просто включают. Причин отключения не ищут. У меня служба работала, но зависала. Причина была найдена - бесплатный Касперский блокировал службу. После приостановки защиты Касперского служба ожила. После перезагрузки также всё работает.

Касперский, кстати обычный, бесплатный, работает несколько месяцев без проблем. Нагадил первый раз. Последим дальше.

Заметка не прославляет Циску и не ругает Каспера, просто факты.

Показать полностью 4
Отличная работа, все прочитано!