



<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Z IT Wzięte</title>
	<atom:link href="https://zitwziete.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://zitwziete.org/</link>
	<description></description>
	<lastBuildDate>Fri, 08 May 2026 12:27:35 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://zitwziete.org/wp-content/uploads/2021/10/cropped-logo1-bez-tla-biale-32x32.png</url>
	<title>Z IT Wzięte</title>
	<link>https://zitwziete.org/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Płatnik nie startuje po aktualizacji metryki? Fix z ZUS nie pomaga?</title>
		<link>https://zitwziete.org/platnik-nie-startuje-po-aktualizacji-metryki-fix-z-zus-nie-pomaga/</link>
					<comments>https://zitwziete.org/platnik-nie-startuje-po-aktualizacji-metryki-fix-z-zus-nie-pomaga/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Fri, 08 May 2026 12:27:33 +0000</pubDate>
				<category><![CDATA[Fixit]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[Wtopy]]></category>
		<category><![CDATA[płatnik]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[problem]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1500</guid>

					<description><![CDATA[<p>Maj 2026 — ZUS wdrożył metrykę 325 i znów zaczęło się piekło. Program Płatnik odmawia posłuszeństwa przy starcie, autoaktualizacja się wysypuje, a oficjalny P2StartFix nie zawsze ratuje sytuację. Jeśli trafiłeś tu w desperacji — dobrze trafiłeś. Poniżej konkretna instrukcja, co zrobić, gdy standardowe metody zawodzą.</p>
<p>Artykuł <a href="https://zitwziete.org/platnik-nie-startuje-po-aktualizacji-metryki-fix-z-zus-nie-pomaga/">Płatnik nie startuje po aktualizacji metryki? Fix z ZUS nie pomaga?</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Maj 2026 — ZUS wdrożył metrykę 325 i znów zaczęło się piekło. Program Płatnik odmawia posłuszeństwa przy starcie, autoaktualizacja się wysypuje, a oficjalny P2StartFix nie zawsze ratuje sytuację. Jeśli trafiłeś tu w desperacji — dobrze trafiłeś. Poniżej konkretna instrukcja, co zrobić, gdy standardowe metody zawodzą.</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Co się stało?</h2>



<p>4 maja 2026 r. Zakład Ubezpieczeń Społecznych wdrożył metrykę 325 dla programu Płatnik w wersji 10.02.002. Miała być pobierana automatycznie przy starcie programu. W teorii — elegancko. W praktyce — od 5 maja użytkownicy masowo zgłaszali problemy z pobraniem pakietu aktualizacji. Program albo zawieszał się przy starcie, albo rzucał błędem połączenia, albo po prostu odmawiał dalszej pracy.</p>



<p>ZUS szybko opublikował komunikat o „ograniczeniach w pobieraniu aktualizacji&#8221; i zaproponował rozwiązanie: plik&nbsp;<strong>P2StartFix2.exe</strong>, który miał naprawić sytuację.</p>



<h2 class="wp-block-heading">P2StartFix2 — oficjalny fix od ZUS</h2>



<p>ZUS udostępnił narzędzie naprawcze P2StartFix2.exe. Instrukcja jest prosta:</p>



<ol class="wp-block-list">
<li>Pobierz plik P2StartFix2.exe ze strony ZUS (link poniżej).</li>



<li>Zamknij program Płatnik.</li>



<li>Uruchom P2StartFix2.exe <strong>jako administrator</strong>.</li>



<li>Potwierdź zgodę na wykonanie aktualizacji — kliknij OK.</li>



<li>Potwierdź zakończenie — ponownie OK.</li>



<li>Uruchom Płatnika i sprawdź, czy aktualizacja przechodzi.</li>
</ol>



<p>Link do pobrania P2StartFix2 i pełnego instalatora Płatnika: <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<strong><a href="https://www.zus.pl/firmy/program-platnik/pobierz">Pobierz program Płatnik 10.02.002 — oficjalna strona ZUS</a></strong></p>



<p>U wielu osób to wystarczy. Ale nie u wszystkich.</p>



<h2 class="wp-block-heading">Gdy P2StartFix2 nie pomaga — ręczna aktualizacja metryki</h2>



<p>Na forach i w grupach na Facebooku poświęconych Płatnikowi pojawiło się mnóstwo zgłoszeń, że P2StartFix2 nie rozwiązuje problemu. Na części komputerów fix przechodzi bez błędu, a Płatnik i tak nie rusza. Na innych wyskakuje komunikat o błędzie ładowania certyfikatu. Znam to z autopsji — obsługuję kilka firm i na dwóch stanowiskach fix po prostu nie zadziałał.</p>



<p><strong>Rozwiązanie: ręczne pobranie metryki i wgranie jej z dysku.</strong></p>



<h3 class="wp-block-heading">Krok po kroku:</h3>



<p><strong>1. Pobierz paczkę z metryką ze strony ZUS</strong></p>



<p>Wejdź na stronę  serwera dystrybucyjnego ZUS: <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong><a href="https://pobierz.zus.pl/dystrybucja/slowniki/">https://pobierz.zus.pl/dystrybucja/slowniki/</a></strong></p>



<p><strong>2. Rozpakuj archiwum</strong></p>



<p>Wypakuj pobrany plik ZIP do wybranego folderu — np.&nbsp;<code>C:\Temp\metryka</code>. Wewnątrz znajdziesz plik&nbsp;<strong>metryka.xml</strong>.</p>



<p><strong>3. Wgraj metrykę ręcznie w Płatniku</strong></p>



<ul class="wp-block-list">
<li>Uruchom Płatnik i zaloguj się.</li>



<li>Z górnego menu wybierz: <strong>Administracja → Aktualizuj komponenty programu — z dysku&#8230;</strong></li>



<li>Otworzy się okno „Aktualizacja programu i danych płatnika&#8221;.</li>



<li>Kliknij <strong>„Pobierz aktualizacje&#8221;</strong> (tak, ta nazwa jest myląca — chodzi o import z dysku).</li>



<li>Wskaż plik <strong>metryka.xml</strong> z folderu, do którego rozpakowałeś archiwum.</li>



<li>Poczekaj na zakończenie procesu.</li>
</ul>



<p>Jeśli wszystko pójdzie dobrze, zobaczysz status&nbsp;<strong>„Zaktualizowano&#8221;</strong>. Gdyby dane były już aktualne, pojawi się status&nbsp;<strong>„Aktualne&#8221;</strong>.</p>



<p><strong>4. Konwersja bazy danych</strong></p>



<p>Po wgraniu nowej metryki program może poprosić o konwersję bazy danych. To normalne — szczególnie po metryce z 24 kwietnia, która wprowadzała zmiany w formularzach ZUS DRA i ZUS RCA. Zaloguj się jako&nbsp;<strong>Administrator</strong>&nbsp;Płatnika (nie zwykły Użytkownik) i postępuj zgodnie z komunikatami.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;<strong>Zanim cokolwiek zrobisz — wykonaj kopię zapasową bazy danych!</strong>&nbsp;Zapisz też, gdzie ta baza leży na dysku i jakie jest hasło dostępu. Bez tego w razie problemów nie odtworzysz danych.</p>
</blockquote>



<h2 class="wp-block-heading">Dlaczego autoaktualizacja nie działa?</h2>



<p>To pytanie wraca przy każdej nowej metryce. Problem polega na tym, że mechanizm autoaktualizacji Płatnika opiera się na komunikacji z serwerami ZUS, które przy masowym pobieraniu po prostu nie wytrzymują obciążenia. Dodatkowo metryka 325 była podpisana certyfikatem, który u części użytkowników powodował problemy weryfikacji — szczególnie w środowiskach korzystających z podpisu osobistego (e-dowód).</p>



<p>ZUS sam przyznał, że metryka 325 miała rozwiązać problem użytkowników e-dowodu z pobieraniem danych. Paradoksalnie, jej wdrożenie wygenerowało nowe problemy.</p>



<h2 class="wp-block-heading">Uwaga na false-positive antywirusów</h2>



<p>W paczce z metryką 325 plik&nbsp;<code>KOD_About.exe.zip</code>&nbsp;jest fałszywie wykrywany przez niektóre silniki antywirusowe. To znany problem — plik pochodzi z oficjalnego serwera ZUS i nie jest zagrożeniem. Jeśli Twój antywirus blokuje pobranie, tymczasowo dodaj wyjątek dla folderu, do którego pobierasz paczkę.</p>



<p>PS. Niektórzy twierdzą ze cały ZUS to Malware <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Program Płatnik to narzędzie, z którego korzystają setki tysięcy firm w Polsce. Niestety, prawie każde wdrożenie nowej metryki kończy się falą problemów. Kluczowa lekcja jest taka:&nbsp;<strong>nie polegaj wyłącznie na autoaktualizacji</strong>. Trzymaj pod ręką link do strony ZUS z plikiem metryki i wiedz, jak wgrać ją ręcznie. To umiejętność, która będzie Ci służyć przy każdej kolejnej aktualizacji.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Przydatne linki:</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.zus.pl/firmy/program-platnik/pobierz">Pobierz program Płatnik 10.02.002 — ZUS</a></li>



<li><a href="https://www.zus.pl/o-zus/komunikaty">Komunikaty techniczne ZUS</a></li>



<li><a href="https://www.zus.pl/pl/jak-zaktualizowac-slowniki-i-komponenty-w-programie-platnik">Instrukcja aktualizacji komponentów — ZUS</a></li>



<li><a href="https://forumplatnika.pl/">Forum użytkowników Płatnika</a></li>
</ul>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/platnik-nie-startuje-po-aktualizacji-metryki-fix-z-zus-nie-pomaga/">Płatnik nie startuje po aktualizacji metryki? Fix z ZUS nie pomaga?</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/platnik-nie-startuje-po-aktualizacji-metryki-fix-z-zus-nie-pomaga/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Adobe Reader ma problem z podpisem Certum</title>
		<link>https://zitwziete.org/adobe-reader-ma-problem-z-podpisem-certum/</link>
					<comments>https://zitwziete.org/adobe-reader-ma-problem-z-podpisem-certum/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 17:33:45 +0000</pubDate>
				<category><![CDATA[Fixit]]></category>
		<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[certum]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[podpis]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[waidacja]]></category>
		<category><![CDATA[weryfikacja]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1490</guid>

					<description><![CDATA[<p>Otwierasz PDF podpisany kwalifikowanym certyfikatem Certum, a Adobe Reader pokazuje żółty trójkąt i komunikat „Poprawność podpisu nieznana" („Validity unknown")? Spokojnie — w 90% przypadków to nieaktualna lista zaufanych dostawców i fix zajmuje dwie minuty. Poniżej rozkładam temat na czynniki pierwsze, bo „problem z weryfikacją" może oznaczać 4–5 zupełnie różnych rzeczy, a leczenie każdego jest inne.</p>
<p>Artykuł <a href="https://zitwziete.org/adobe-reader-ma-problem-z-podpisem-certum/">Adobe Reader ma problem z podpisem Certum</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Otwierasz PDF podpisany kwalifikowanym certyfikatem Certum, a Adobe Reader pokazuje żółty trójkąt i komunikat „Poprawność podpisu nieznana&#8221; („Validity unknown&#8221;)?</strong>&nbsp;Spokojnie — w 90% przypadków to nieaktualna lista zaufanych dostawców i fix zajmuje dwie minuty. Poniżej rozkładam temat na czynniki pierwsze, bo „problem z weryfikacją&#8221; może oznaczać 4–5 zupełnie różnych rzeczy, a leczenie każdego jest inne.</p>



<h2 class="wp-block-heading" id="tldr">TL;DR — szybki fix w 2 minuty</h2>



<ol class="wp-block-list">
<li>W Adobe Readerze:&nbsp;<code>Edycja → Preferencje → Menedżer zaufania</code></li>



<li>Sekcja&nbsp;<strong>Adobe AATL</strong>&nbsp;→ kliknij&nbsp;<em>„Uaktualnij teraz&#8221;</em></li>



<li>Sekcja&nbsp;<strong>EUTL</strong>&nbsp;(European Union Trusted Lists) → też&nbsp;<em>„Uaktualnij teraz&#8221;</em></li>



<li>Zamknij Reader, otwórz PDF ponownie</li>
</ol>



<p>Jeśli to nie pomogło — czytaj dalej, bo masz jedną z mniej oczywistych przyczyn.</p>



<h2 class="wp-block-heading" id="dlaczego">Dlaczego Adobe pokazuje „Validity unknown&#8221; przy Certumie</h2>



<p>Adobe Reader nie ufa certyfikatowi „bo jest podpisany przez Certum&#8221; — Adobe ufa&nbsp;<strong>liście</strong>, na której Certum (i inne kwalifikowane CA) się znajduje. Te listy są dwie:</p>



<ul class="wp-block-list">
<li><strong>AATL (Adobe Approved Trust List)</strong>&nbsp;— własna lista Adobe, aktualizowana automatycznie mniej więcej co 14 dni. Certum jest na niej od kilku lat.</li>



<li><strong>EUTL (European Union Trusted Lists)</strong>&nbsp;— lista UE z dostawcami kwalifikowanymi z każdego państwa członkowskiego. Od 2016 roku to&nbsp;<em>właściwa</em>&nbsp;lista dla podpisów kwalifikowanych w UE — siedzą tam NCCert, KIR Szafir, EuroCert i Certum.</li>
</ul>



<p>Jeśli któraś z list nigdy się u Ciebie nie zaktualizowała (świeża instalacja, długo wyłączony komputer, polityka firmowa blokująca aktualizacje) — Reader nie ma jak zweryfikować ścieżki zaufania i pokazuje „nieznana poprawność&#8221;. To&nbsp;<strong>nie</strong>&nbsp;znaczy, że podpis jest zły. To znaczy, że Twoja kopia Adobe nie wie, kim jest Certum.</p>



<h2 class="wp-block-heading" id="aatl-eutl">Fix #1 — aktualizacja AATL i EUTL</h2>



<p>Klasyk i pierwsza rzecz do sprawdzenia. Krok po kroku:</p>



<ol class="wp-block-list">
<li>Otwórz Adobe Reader (DC lub Acrobat)</li>



<li><code>Edycja → Preferencje</code>&nbsp;(Mac:&nbsp;<code>Acrobat → Preferencje</code>)</li>



<li>Wybierz kategorię&nbsp;<strong>Menedżer zaufania</strong></li>



<li>Sekcja&nbsp;<em>Aktualizacje automatyczne dla certyfikatów zaufania zatwierdzonych przez Adobe (AATL)</em>&nbsp;→ przycisk&nbsp;<strong>„Uaktualnij teraz&#8221;</strong></li>



<li>Tuż obok jest druga sekcja&nbsp;<em>European Union Trusted Lists (EUTL)</em>&nbsp;→ też&nbsp;<strong>„Uaktualnij teraz&#8221;</strong></li>



<li>Upewnij się, że obie opcje&nbsp;<em>„Załaduj zaufane certyfikaty…&#8221;</em>&nbsp;są zaznaczone</li>



<li>OK, zamknij Reader, otwórz dokument ponownie</li>
</ol>



<p>U 9 na 10 osób temat zamyka się w tym miejscu.</p>



<h2 class="wp-block-heading" id="addressbook">Fix #2 — uszkodzony trust store (addressbook.acrodata)</h2>



<p>Znany bug Adobe: przy aktualizacji AATL/EUTL niektóre certyfikaty zawierające w danych binarnych sekwencję&nbsp;<code>FE FF</code>&nbsp;potrafią „spuchnąć&#8221; w lokalnym truststore i wszystkie podpisy oparte o nie nagle są&nbsp;<em>invalid</em>. Objawy: podpis jeszcze wczoraj się weryfikował, dziś już nie, a aktualizacja list nic nie daje.</p>



<p>Lekarstwo — wykasowanie skorumpowanego pliku książki adresowej:</p>



<ol class="wp-block-list">
<li>Najpierw:&nbsp;<code>Pomoc → Sprawdź aktualizacje</code>&nbsp;i zaktualizuj Reader do najnowszej wersji</li>



<li>Zamknij Adobe Reader (sprawdź, czy nie wisi w tle — Task Manager / Activity Monitor)</li>



<li>Skasuj plik&nbsp;<code>addressbook.acrodata</code>:
<ul class="wp-block-list">
<li><strong>Windows:</strong>&nbsp;<code>%APPDATA%\Adobe\Acrobat\DC\Security\addressbook.acrodata</code><br>(czyli&nbsp;<code>C:\Users\&lt;TwojUser&gt;\AppData\Roaming\Adobe\Acrobat\DC\Security\</code>)</li>



<li><strong>macOS:</strong>&nbsp;<code>~/Library/Application Support/Adobe/Acrobat/DC/Security/addressbook.acrodata</code></li>
</ul>
</li>



<li>Uruchom Reader ponownie</li>



<li>Wróć do&nbsp;<code>Menedżer zaufania</code>&nbsp;i zrób&nbsp;<strong>świeży</strong>&nbsp;update AATL i EUTL</li>
</ol>



<p>Plik&nbsp;<code>addressbook.acrodata</code>&nbsp;Adobe odbuduje sam przy starcie. Jeśli masz tam ręcznie zaimportowane certyfikaty (rzadkie, ale się zdarza w środowiskach korporacyjnych) — najpierw zrób kopię.</p>



<h2 class="wp-block-heading" id="timestamp">Fix #3 — brak znacznika czasu (TSA)</h2>



<p>Kolejny scenariusz: dokument był podpisany rok temu, certyfikat już dawno wygasł, a Reader pokazuje, że „podpis był ważny w momencie weryfikacji&#8221; — co jest oczywistym fałszem, bo podpis był ważny w momencie&nbsp;<em>złożenia</em>, nie weryfikacji. Tu wchodzi&nbsp;<strong>znacznik czasu</strong>&nbsp;z kwalifikowanej TSA (Time Stamping Authority).</p>



<p>Jeśli dokument&nbsp;<strong>ma</strong>&nbsp;osadzony qualified timestamp, ale Reader go nie używa — przełącz tryb weryfikacji:</p>



<ol class="wp-block-list">
<li><code>Preferencje → Podpisy → Weryfikacja → Więcej</code></li>



<li>W sekcji&nbsp;<em>Czas weryfikacji</em>&nbsp;wybierz:&nbsp;<strong>„Bezpieczny czas (znacznik czasowy)&#8221;</strong>&nbsp;zamiast „Bieżący czas&#8221;</li>



<li>OK, otwórz dokument ponownie</li>
</ol>



<p>Jeśli dokument&nbsp;<strong>nie ma</strong>&nbsp;timestampu — to wina podpisującego, nie Twoja. Przy podpisach kwalifikowanych powinno się ZAWSZE używać TSA (Certum udostępnia&nbsp;<code>time.certum.pl</code>, KIR Szafir ma własną, EuroCert też). proCertum SmartSign domyślnie podpisuje z timestampem, ale w starszych wersjach trzeba to było zaznaczyć ręcznie w opcjach.</p>



<h2 class="wp-block-heading" id="cades-pades">Fix #4 — to nie jest PAdES, to CAdES</h2>



<p>Tu zaczyna się ciekawie. W Polsce wciąż się zdarza, że ktoś podpisuje PDF narzędziem, które generuje&nbsp;<strong>osobny plik podpisu</strong>&nbsp;(typowo&nbsp;<code>.xades</code>&nbsp;lub&nbsp;<code>.cades</code>) zamiast osadzić podpis w samym PDF. Adobe Reader takiego podpisu nie zweryfikuje, bo nawet go nie widzi — w PDF-ie nie ma żadnego pola podpisu.</p>



<p>Skróty:</p>



<ul class="wp-block-list">
<li><strong>PAdES</strong>&nbsp;(PDF Advanced Electronic Signatures) — podpis osadzony bezpośrednio w PDF.&nbsp;<em>Tylko ten</em>&nbsp;Adobe weryfikuje natywnie.</li>



<li><strong>CAdES</strong>&nbsp;(CMS Advanced Electronic Signatures) — podpis w osobnym pliku&nbsp;<code>.p7s</code>&nbsp;/&nbsp;<code>.cades</code>&nbsp;obok dokumentu, albo wbudowany w zewnętrzną kopertę.</li>



<li><strong>XAdES</strong>&nbsp;— wariant XML, też nie dla Adobe.</li>
</ul>



<p>Jeśli dostałeś PDF + osobny&nbsp;<code>.xades</code>/<code>.cades</code>&nbsp;— weryfikujesz to&nbsp;<strong>podpisywarką</strong>&nbsp;(np. proCertum SmartSign, Szafir, mObywatel — w zależności od formatu), nie Adobe Readerem. proCertum SmartSign domyślnie podpisuje PDF-y w PAdES, ale przy starszych konfiguracjach trzeba to wymusić w ustawieniach formatu podpisu.</p>



<h2 class="wp-block-heading" id="modyfikacja">Fix #5 — dokument zmodyfikowany po podpisie</h2>



<p>Komunikat:&nbsp;<em>„Podpis jest ważny, ale dokument został zmieniony po podpisaniu&#8221;</em>. Czasem to świadoma zmiana, ale częściej — zwykła nieuwaga:</p>



<ul class="wp-block-list">
<li>Ktoś otworzył podpisany formularz, wypełnił kolejne pole i zapisał — podpis nie zezwalał na takie zmiany przyrostowe</li>



<li>Ktoś przerzucił PDF przez konwerter online lub edytor i ten&nbsp;<em>przepisał</em>&nbsp;plik, niszcząc strukturę podpisu</li>



<li>PDF został „zoptymalizowany&#8221; jakimś narzędziem typu Smallpdf — i tyle</li>
</ul>



<p>Lekarstwo: poproś nadawcę o oryginalną, niemodyfikowaną kopię. Tej zepsutej już nie naprawisz — to fundamentalna własność podpisu cyfrowego, a nie błąd.</p>



<h2 class="wp-block-heading" id="protected-mode">Fix #6 — Protected Mode blokuje OCSP/CRL</h2>



<p>Adobe Reader w trybie chronionym (Protected Mode, domyślnie włączony na Windowsie) czasami nie może uderzyć na zewnętrzne serwery sprawdzające status certyfikatu (OCSP/CRL). Najczęściej widać to przy podpisywaniu, rzadziej przy weryfikacji — ale jeśli żaden poprzedni fix nie zadziałał, warto sprawdzić.</p>



<p><code>Preferencje → Zabezpieczenia (rozszerzone)</code>&nbsp;→ odznacz&nbsp;<em>„Włącz tryb chroniony przy uruchamianiu&#8221;</em>, restart Readera. Jeśli temat zniknie — wrzuć potem do białej listy serwery Certum (<code>*.certum.pl</code>,&nbsp;<code>*.certum.eu</code>) zamiast trzymać Protected Mode wyłączony na stałe.</p>



<h2 class="wp-block-heading" id="diagnostyka">Diagnostyka — jak ustalić, co konkretnie boli Readera</h2>



<p>Zamiast strzelać, otwórz panel diagnostyczny:</p>



<ol class="wp-block-list">
<li>Lewy panel Reader → ikona&nbsp;<strong>panelu podpisów</strong>&nbsp;(pióro)</li>



<li>Rozwiń wpis podpisu</li>



<li><strong>Pokaż szczegóły zatwierdzenia</strong>&nbsp;(Show Signature Properties)</li>
</ol>



<p>Reader pokaże dokładnie, gdzie ma problem — najczęściej zobaczysz jedno z:</p>



<ul class="wp-block-list">
<li><em>„The signer&#8217;s identity is unknown because it has not been included in your list of trusted certificates&#8221;</em>&nbsp;→ fix #1 (AATL/EUTL)</li>



<li><em>„The certificate chain could not be built&#8221;</em>&nbsp;→ fix #1 lub #2 (addressbook)</li>



<li><em>„Signature is valid, but the document has been altered or corrupted&#8221;</em>&nbsp;→ fix #5 (modyfikacja)</li>



<li><em>„Revocation status could not be determined&#8221;</em>&nbsp;→ fix #6 (Protected Mode / sieć)</li>



<li><em>„The signature includes an embedded timestamp but it could not be verified&#8221;</em>&nbsp;→ fix #3 (timestamp)</li>
</ul>



<h2 class="wp-block-heading" id="podsumowanie">Podsumowanie — w jakiej kolejności sprawdzać</h2>



<p>Standardowy flow troubleshootingowy:</p>



<ol class="wp-block-list">
<li>Update AATL + EUTL (90% przypadków zamyka się tutaj)</li>



<li>Update samego Readera + skasowanie&nbsp;<code>addressbook.acrodata</code>&nbsp;+ ponowny update list</li>



<li>Sprawdzenie panelu szczegółów podpisu — co konkretnie zgłasza Reader</li>



<li>W zależności od komunikatu — timestamp, format podpisu, tryb chroniony, modyfikacja dokumentu</li>
</ol>



<p>Większość zgłoszeń serwisowych w stylu „Adobe nie chce mi sprawdzić podpisu&#8221; rozwiązuje się na pierwszym kroku. Te bardziej upierdliwe — na drugim. Reszta to już konkretne, identyfikowalne problemy, a nie ogólne „nie działa&#8221;.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/adobe-reader-ma-problem-z-podpisem-certum/">Adobe Reader ma problem z podpisem Certum</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/adobe-reader-ma-problem-z-podpisem-certum/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zabbix na LAN vs Zabbix Proxy &#8211; dwa modele, które warto znać</title>
		<link>https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/</link>
					<comments>https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 12:39:47 +0000</pubDate>
				<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[zabbix]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1481</guid>

					<description><![CDATA[<p>Jak stawiać Zabbbixa u siebie w LAN, a jak np zainstalować go u klienta ? </p>
<p>Artykuł <a href="https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/">Zabbix na LAN vs Zabbix Proxy &#8211; dwa modele, które warto znać</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Zabbix jest elastyczny. Możesz go postawić na jednym serwerze i monitorować wszystko w jednej sieci. Możesz też rozciągnąć monitoring na dziesiątki lokalizacji, gdzie serwer Zabbix nigdy nie widzi sieci klienta bezpośrednio. W tym artykule porównuję dwa konkretne scenariusze wdrożenia: Zabbix działający lokalnie na LAN-ie oraz Zabbix z active proxy postawionym u klienta, gdzie to proxy inicjuje połączenie do serwera — a nie odwrotnie.</p>



<h2 class="wp-block-heading">Scenariusz 1: Zabbix na LAN — wszystko w jednej sieci</h2>



<p>To najprostszy i najczęstszy model. Serwer Zabbix stoi w tej samej sieci co monitorowane hosty. Agenty na serwerach raportują bezpośrednio do serwera Zabbix, który zbiera dane, przetwarza triggery, wysyła alerty i wyświetla dashboardy.</p>



<h3 class="wp-block-heading">Jak to wygląda w praktyce</h3>



<pre class="wp-block-code"><code>&#91;Host 1] ──┐
&#91;Host 2] ──┤── LAN ──── &#91;Zabbix Server + Frontend + DB]
&#91;Host 3] ──┘</code></pre>



<p>Serwer Zabbix odpytuje agentów (passive checks) lub agenty same wysyłają dane (active checks). Wszystko dzieje się w jednym segmencie sieci. Nie ma firewalli po drodze, nie ma NAT-u, nie ma opóźnień WAN.</p>



<h3 class="wp-block-heading">Konfiguracja</h3>



<p>Minimalna. Instalujesz serwer Zabbix, stawiasz bazę (PostgreSQL lub MySQL), wdrażasz agentów na hostach. W&nbsp;<code>zabbix_agentd.conf</code>&nbsp;ustawiasz:</p>



<p>ini</p>



<pre class="wp-block-code"><code>Server=192.168.1.10          # IP serwera Zabbix (passive checks)
ServerActive=192.168.1.10    # IP serwera Zabbix (active checks)
Hostname=web-server-01       # unikalna nazwa hosta</code></pre>



<p>I gotowe. Agent raportuje, serwer zbiera. Żadnego proxy, żadnych tuneli, żadnych komplikacji.</p>



<h3 class="wp-block-heading">Zalety</h3>



<ul class="wp-block-list">
<li><strong>Prostota</strong>&nbsp;— jeden serwer, jedna baza, jedna instancja do zarządzania.</li>



<li><strong>Niskie opóźnienia</strong>&nbsp;— dane z agentów trafiają do serwera natychmiast, bo wszystko jest na LAN-ie.</li>



<li><strong>Passive i active checks bez ograniczeń</strong>&nbsp;— serwer ma bezpośredni dostęp do agentów, więc działają oba tryby. Możesz korzystać z remote commands do automatycznego restartowania usług.</li>



<li><strong>SNMP, IPMI, HTTP bez problemów</strong>&nbsp;— serwer odpytuje urządzenia sieciowe bezpośrednio, bez pośredników.</li>



<li><strong>Łatwy troubleshooting</strong>&nbsp;— jedna maszyna, jeden log, jedno miejsce do sprawdzenia.</li>
</ul>



<h3 class="wp-block-heading">Wady</h3>



<ul class="wp-block-list">
<li><strong>Skala ograniczona do jednej lokalizacji</strong>&nbsp;— jeśli masz drugi oddział albo sieć klienta, ten model nie wystarczy.</li>



<li><strong>Brak redundancji</strong>&nbsp;— padnie serwer Zabbix, padnie monitoring. W małych środowiskach to akceptowalne, w większych — nie.</li>



<li><strong>Brak separacji</strong>&nbsp;— serwer Zabbix widzi wszystko i ma dostęp do wszystkiego. W kontekście bezpieczeństwa i segmentacji sieci to niekoniecznie pożądane.</li>
</ul>



<h3 class="wp-block-heading">Kiedy stosować</h3>



<p>Jedna firma, jedna serwerownia, jeden LAN. Monitorujesz swoje serwery, switche, NAS-y, UPS-y. Masz pełną kontrolę nad siecią. Nie musisz monitorować niczego zdalnie. To scenariusz dla 80% małych i średnich wdrożeń.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Scenariusz 2: Zabbix z active proxy u klienta</h2>



<p>Tu zaczyna się ciekawiej. Masz centralny serwer Zabbix — np. w swoim DC albo na VPS-ie. Klient ma swoją sieć, za NAT-em, za firewallem, do której nie masz (i nie chcesz mieć) bezpośredniego dostępu. U klienta stawiasz Zabbix proxy w trybie&nbsp;<strong>active</strong>. To proxy inicjuje wszystkie połączenia do serwera — serwer nigdy nie łączy się do proxy. Serwer nawet nie musi znać IP proxy.</p>



<p>W tym modelu Serwer zabixa sam nigdy nie komunikuje się z Proxy u klienta. To Proxy wysyła dane na ip serwera w świat (czśto na wysokim porcie), a jeśli np firewall na serwerze przyjmuje dane tylko z podanych ip  to <strong>to jest najbezpieczeniejsze co można wymyślić</strong> poza VPN . </p>



<h3 class="wp-block-heading">Jak to wygląda w praktyce</h3>



<pre class="wp-block-code"><code>Sieć klienta (za NAT/firewall):                    Twój DC:
┌──────────────────────────┐                ┌──────────────────┐
│ &#91;Host 1] ──┐             │                │                  │
│ &#91;Host 2] ──┤── LAN ── &#91;Zabbix Proxy] ──────────► &#91;Zabbix Server]  │
│ &#91;Host 3] ──┘   (active)  │   port 10051   │  + Frontend + DB │
│ &#91;Switch] ──┘             │                │                  │
└──────────────────────────┘                └──────────────────┘
         ← proxy inicjuje połączenie →
         ← serwer NIE łączy się do proxy →</code></pre>



<p>Kluczowa sprawa:&nbsp;<strong>active proxy sam puka do serwera</strong>. Pobiera konfigurację (jakie hosty monitorować, jakie itemy zbierać) i odsyła zebrane dane. Serwer nie musi mieć routingu do sieci klienta. Firewall u klienta musi przepuścić tylko jeden port wychodzący (domyślnie 10051 TCP) do serwera Zabbix.</p>



<h3 class="wp-block-heading">Konfiguracja proxy</h3>



<p>Na maszynie u klienta instalujesz Zabbix proxy. W&nbsp;<code>zabbix_proxy.conf</code>:</p>



<p>ini</p>



<pre class="wp-block-code"><code>ProxyMode=0                          # 0 = active (domyślne)
Hostname=klient-abc-proxy            # musi się zgadzać z nazwą w frontendzie
Server=zabbix.twojafirma.pl:10051   # adres Twojego serwera Zabbix
DBName=/tmp/zabbix_proxy.db          # SQLite wystarczy dla małych wdrożeń
ConfigFrequency=120                  # co ile sekund pobierać konfigurację
DataSenderFrequency=5                # co ile sekund wysyłać dane
ProxyOfflineBuffer=72                # ile godzin trzymać dane przy braku łączności</code></pre>



<p>Na frontendzie serwera Zabbix:&nbsp;<strong>Administration → Proxies → Create proxy</strong>&nbsp;— wpisujesz nazwę&nbsp;<code>klient-abc-proxy</code>, tryb Active. Nie musisz podawać żadnego IP proxy.</p>



<h3 class="wp-block-heading">Konfiguracja agentów u klienta</h3>



<p>Agenty wskazują na lokalne IP proxy, nie na serwer Zabbix:</p>



<p>ini</p>



<pre class="wp-block-code"><code>Server=192.168.10.50           # IP proxy w sieci klienta
ServerActive=192.168.10.50     # IP proxy w sieci klienta
Hostname=klient-abc-dc01       # unikalna nazwa hosta</code></pre>



<p>Agent nie wie, że rozmawia z proxy a nie z serwerem — protokół jest identyczny.</p>



<h3 class="wp-block-heading">Przepływ danych</h3>



<ol class="wp-block-list">
<li><strong>Proxy → Serwer</strong>: Proxy łączy się z serwerem co&nbsp;<code>ConfigFrequency</code>&nbsp;sekund i pobiera konfigurację (lista hostów, itemów, triggerów do monitorowania).</li>



<li><strong>Agenty → Proxy</strong>: Agenty w sieci klienta raportują dane do proxy (LAN, bez wychodzenia na zewnątrz).</li>



<li><strong>Proxy → Serwer</strong>: Proxy buforuje dane lokalnie i wysyła je do serwera co&nbsp;<code>DataSenderFrequency</code>&nbsp;sekund.</li>



<li><strong>Serwer przetwarza</strong>: Triggery, eventy, alerty — to wszystko dzieje się na serwerze. Proxy jest tylko kolektorem danych.</li>
</ol>



<p>Serwer&nbsp;<strong>nigdy nie inicjuje połączenia</strong>&nbsp;do proxy. Proxy puka do serwera. To fundamentalna różnica, która rozwiązuje problem NAT-u, firewalli i braku bezpośredniego dostępu do sieci klienta.</p>



<h3 class="wp-block-heading">Co się dzieje, gdy padnie łącze?</h3>



<p>Proxy buforuje dane lokalnie. Parametr&nbsp;<code>ProxyOfflineBuffer</code>&nbsp;(domyślnie 1 godzina) określa, jak długo proxy trzyma dane, gdy nie może połączyć się z serwerem. Ustawiasz np. 72 godziny — i proxy przeżyje weekend bez łączności. Gdy połączenie wróci, proxy wyśle zaległe dane i serwer je przetworzy.</p>



<p>W trybie&nbsp;<code>ProxyBufferMode=hybrid</code>&nbsp;(od Zabbix 7.0) proxy trzyma dane w pamięci dla szybkości, a gdy pamięć się zapełni — zrzuca na dysk. Najlepsze z obu światów.</p>



<h3 class="wp-block-heading">Zalety</h3>



<ul class="wp-block-list">
<li><strong>Firewall-friendly</strong>&nbsp;— jedyne wymaganie: port wychodzący z proxy do serwera. Żadnych portów przychodzących u klienta, żadnego VPN-a, żadnego otwierania dziur.</li>



<li><strong>Serwer nie ma dostępu do sieci klienta</strong>&nbsp;— i to jest feature, nie bug. Separacja jest pełna. Serwer nie może skanować sieci klienta, nie może łączyć się z hostami. Dane płyną tylko w jedną stronę: od proxy do serwera.</li>



<li><strong>Buforowanie offline</strong>&nbsp;— awaria łącza nie oznacza utraty danych. Proxy trzyma metryki lokalnie i dosyła je po przywróceniu połączenia.</li>



<li><strong>Skalowalność</strong>&nbsp;— jeden serwer Zabbix, dziesiątki proxy u różnych klientów. Każde proxy zbiera dane ze swojego segmentu, serwer centralizuje wszystko.</li>



<li><strong>Odciążenie serwera</strong>&nbsp;— proxy wykonuje preprocessing danych i skanowanie sieci (discovery) lokalnie. Serwer dostaje gotowe dane.</li>



<li><strong>Prosta konfiguracja sieciowa</strong>&nbsp;— nie musisz znać publicznego IP proxy, nie musisz konfigurować port forwarding u klienta. Proxy samo się łączy.</li>
</ul>



<h3 class="wp-block-heading">Wady</h3>



<ul class="wp-block-list">
<li><strong>Brak remote commands</strong>&nbsp;— serwer nie może wysłać komendy do hosta przez active proxy, bo nie ma do niego bezpośredniego połączenia. Od Zabbix 7.0 active agent potrafi odbierać remote commands, ale wymaga to dodatkowej konfiguracji.</li>



<li><strong>Opóźnienie w danych</strong>&nbsp;— dane nie trafiają na serwer natychmiastowo. Jest bufor, jest&nbsp;<code>DataSenderFrequency</code>. W praktyce opóźnienie to kilka sekund, ale nie jest zerowe.</li>



<li><strong>Opóźnienie w konfiguracji</strong>&nbsp;— po zmianie itemów na serwerze proxy musi pobrać nową konfigurację. Domyślnie&nbsp;<code>ConfigFrequency=3600</code>&nbsp;(1 godzina!). Warto zmniejszyć do 120-300 sekund. Można też wymusić ręcznie:&nbsp;<code>zabbix_proxy -R config_cache_reload</code>.</li>



<li><strong>Dodatkowy komponent</strong>&nbsp;— proxy to kolejna maszyna do utrzymania, kolejna baza danych, kolejny serwis do monitorowania (tak — monitoruj swoje proxy).</li>



<li><strong>Brak passive checks z serwera</strong>&nbsp;— serwer nie może odpytać agenta przez proxy w trybie active. Agenty muszą pracować w trybie active checks.</li>
</ul>



<h3 class="wp-block-heading">Kiedy stosować</h3>



<p>Monitorujesz infrastrukturę klientów jako usługę (MSP/MSSP). Masz wiele oddziałów za NAT-em. Klient nie chce (słusznie) otwierać VPN-a do Twojego serwera. Potrzebujesz centralnego dashboardu dla wielu lokalizacji. Chcesz separacji — serwer nie powinien mieć dostępu do sieci klienta.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Porównanie: LAN vs Active Proxy</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Cecha</th><th>Zabbix na LAN</th><th>Zabbix + Active Proxy</th></tr></thead><tbody><tr><td>Złożoność wdrożenia</td><td>Niska</td><td>Średnia</td></tr><tr><td>Firewall/NAT</td><td>Nie przeszkadza</td><td>Rozwiązany — proxy łączy się na zewnątrz</td></tr><tr><td>Serwer ma dostęp do sieci klienta</td><td>Tak (pełny)</td><td>Nie (zero)</td></tr><tr><td>Kierunek połączenia</td><td>Serwer <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2194.png" alt="↔" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Agent</td><td>Proxy → Serwer (jednokierunkowy)</td></tr><tr><td>Passive checks</td><td>Tak</td><td>Nie (tylko active)</td></tr><tr><td>Remote commands</td><td>Tak</td><td>Ograniczone</td></tr><tr><td>Buforowanie offline</td><td>Nie</td><td>Tak (do 72h+)</td></tr><tr><td>Skalowalność lokalizacji</td><td>Jedna</td><td>Wiele</td></tr><tr><td>Opóźnienie danych</td><td>Brak</td><td>Kilka sekund</td></tr><tr><td>Koszt</td><td>1 serwer</td><td>1 serwer + N proxy</td></tr><tr><td>Monitoring SNMP/IPMI</td><td>Bezpośredni z serwera</td><td>Przez proxy (lokalnie)</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Który model wybrać?</h2>



<p>To nie jest kwestia „lepszy/gorszy&#8221;. To kwestia kontekstu.</p>



<p>Jeśli monitorujesz&nbsp;<strong>swoją</strong>&nbsp;infrastrukturę, w&nbsp;<strong>jednej</strong>&nbsp;lokalizacji, na&nbsp;<strong>jednym</strong>&nbsp;LAN-ie — stawiasz serwer Zabbix i nie komplikujesz sobie życia. Proxy jest zbędne.</p>



<p>Jeśli monitorujesz infrastrukturę&nbsp;<strong>klientów</strong>, zarządzasz&nbsp;<strong>wieloma lokalizacjami</strong>, albo potrzebujesz monitoringu&nbsp;<strong>bez VPN-a i bez otwierania portów u klienta</strong>&nbsp;— active proxy to jedyna sensowna droga. Proxy puka do Twojego serwera, wysyła dane, a serwer nigdy nie widzi sieci klienta. Bezpiecznie, skalowalne, firewall-friendly.</p>



<p>W praktyce oba modele mogą współistnieć. Serwer Zabbix monitoruje lokalny LAN bezpośrednio, a jednocześnie odbiera dane z proxy rozsianych po lokalizacjach klientów. To nie jest albo-albo — to kwestia dopasowania architektury do potrzeb.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/">Zabbix na LAN vs Zabbix Proxy &#8211; dwa modele, które warto znać</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/zabbix-na-lan-vs-zabbix-proxy-dwa-modele-ktore-warto-znac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>QNAP – uprawnienia folderów zmieniają się same?</title>
		<link>https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/</link>
					<comments>https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Tue, 24 Mar 2026 21:50:45 +0000</pubDate>
				<category><![CDATA[Sprzęt]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[uprawnienia]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1452</guid>

					<description><![CDATA[<p>Ustawiasz uprawnienia na folderach QNAP, wszystko działa, a na drugi dzień znowu masz problem z dostępem? Użytkownicy nie mogą zapisywać plików do folderów, w których wczoraj jeszcze mogli? Klasyczny scenariusz – ustawiasz RW na Folder, wychodzisz, wracasz rano i uprawnienia wróciły do stanu wyjściowego.</p>
<p>Artykuł <a href="https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/">QNAP – uprawnienia folderów zmieniają się same?</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p></p>



<p>Ustawiasz uprawnienia na folderach QNAP, wszystko działa, a na drugi dzień znowu masz problem z dostępem? Użytkownicy nie mogą zapisywać plików do folderów, w których wczoraj jeszcze mogli? Klasyczny scenariusz – ustawiasz RW na Folder, wychodzisz, wracasz rano i uprawnienia wróciły do stanu wyjściowego.</p>



<p>Zanim zaczniesz resetować NAS-a, przeinstalowywać firmware albo grzebać w ACL-ach – sprawdź crontab. Bardzo prawdopodobne, że winowajcą jest systemowe zadanie&nbsp;<code>ImR_all</code>, które co noc nadpisuje Twoje uprawnienia.</p>



<h2 class="wp-block-heading">Co to jest ImR_all i dlaczego psuje uprawnienia</h2>



<p>W domyślnej konfiguracji QNAP w crontabie znajdziesz wpis:</p>



<pre class="wp-block-code"><code><strong>0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia</strong></code></pre>



<p>To zadanie uruchamia się&nbsp;<strong>codziennie o 3:00 w nocy</strong>&nbsp;i wykonuje &#8222;miękki&#8221; reset indeksowania oraz uprawnień na folderze&nbsp;<code>/Qmultimedia</code>&nbsp;(alias do&nbsp;<code>/share/MD0_DATA/Multimedia</code>). Jest to element systemu Multimedia Console, który odpowiada za indeksowanie plików multimedialnych – zdjęć, filmów, muzyki.</p>



<p>Problem polega na tym, że&nbsp;<code>ImR_all</code>&nbsp;potrafi&nbsp;<strong>nadpisać uprawnienia</strong>, które ręcznie ustawiłeś na folderach i podfolderach w obrębie Multimedia. Efekt – Twoje niestandardowe ACL-e i ustawienia dostępu wracają do stanu &#8222;domyślnego&#8221; każdej nocy.</p>



<h2 class="wp-block-heading">Objawy problemu</h2>



<p>Jeśli widzisz którykolwiek z tych objawów, prawdopodobnie&nbsp;<code>ImR_all</code>&nbsp;jest winowajcą:</p>



<ul class="wp-block-list">
<li>Uprawnienia na folderze Multimedia resetują się po nocy</li>



<li>Użytkownicy tracą dostęp do podfolderów, który dzień wcześniej działał</li>



<li>Zmiana uprawnień w panelu QTS nie &#8222;trzyma się&#8221; dłużej niż kilka godzin</li>



<li>W File Station lub przez SMB nagle pojawia się &#8222;Access Denied&#8221; na folderach, które wcześniej były dostępne</li>



<li>Po ręcznym ustawieniu uprawnień przez SSH (<code>chmod</code>, <code>setfacl</code>) zmiany znikają następnego dnia</li>
</ul>



<h2 class="wp-block-heading">Rozwiązanie – wyłączenie ImR_all w crontabie</h2>



<p>Rozwiązanie jest proste – trzeba zakomentować lub usunąć wpis&nbsp;<code>ImR_all</code>&nbsp;z crontaba. Wymaga to dostępu SSH do NAS-a.</p>



<h3 class="wp-block-heading">Krok 1: Włącz SSH na QNAP</h3>



<ol class="wp-block-list">
<li>Zaloguj się do panelu QTS jako administrator</li>



<li>Przejdź do <strong>Panel sterowania → Usługi sieciowe i plików → Telnet/SSH</strong></li>



<li>Zaznacz <strong>Zezwalaj na połączenie SSH</strong></li>



<li>Ustaw port (domyślnie 22, ale rozważ zmianę na niestandardowy, np. 2222, jeśli NAS jest dostępny z internetu)</li>



<li>Kliknij <strong>Zastosuj</strong></li>
</ol>



<h3 class="wp-block-heading">Krok 2: Połącz się z NAS przez SSH</h3>



<p>Z komputera z Windows użyj PuTTY lub wbudowanego terminala:</p>



<p>bash</p>



<pre class="wp-block-code"><code>ssh admin@ADRES_IP_QNAP</code></pre>



<p>Na macOS / Linux po prostu otwórz terminal i wpisz powyższe polecenie. Zaloguj się danymi administratora QNAP.</p>



<h3 class="wp-block-heading">Krok 3: Zrób backup crontaba</h3>



<p>Zanim cokolwiek zmienisz – kopia zapasowa:</p>



<p>bash</p>



<pre class="wp-block-code"><code>cp /etc/config/crontab /etc/config/crontab.backup</code></pre>



<h3 class="wp-block-heading">Krok 4: Edytuj crontab</h3>



<p>Otwórz plik crontaba w edytorze:</p>



<p>bash</p>



<pre class="wp-block-code"><code>vi /etc/config/crontab</code></pre>



<p>Znajdź linię:</p>



<pre class="wp-block-code"><code>0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia</code></pre>



<p>Zakomentuj ją, dodając&nbsp;<code>#</code>&nbsp;na początku linii:</p>



<pre class="wp-block-code"><code>#0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia</code></pre>



<p><strong>Szybka ściągawka vi:</strong></p>



<ul class="wp-block-list">
<li>Naciśnij <code>i</code> żeby wejść w tryb edycji</li>



<li>Dodaj <code>#</code> na początku linii</li>



<li>Naciśnij <code>Esc</code></li>



<li>Wpisz <code>:wq</code> i naciśnij <code>Enter</code> żeby zapisać i wyjść</li>
</ul>



<h3 class="wp-block-heading">Krok 5: Załaduj nowy crontab i zrestartuj cron</h3>



<p>To kluczowy krok – samo zapisanie pliku nie wystarczy. QNAP wymaga jawnego załadowania crontaba:</p>



<p>bash</p>



<pre class="wp-block-code"><code>crontab /etc/config/crontab &amp;&amp; /etc/init.d/crond.sh restart</code></pre>



<h3 class="wp-block-heading">Krok 6: Zweryfikuj zmianę</h3>



<p>Sprawdź, czy Twoja zmiana została zastosowana:</p>



<p>bash</p>



<pre class="wp-block-code"><code>crontab -l | grep ImR_all</code></pre>



<p>Jeśli wszystko poszło dobrze, powinieneś zobaczyć zakomentowaną linię z&nbsp;<code>#</code>&nbsp;na początku lub brak wyniku (jeśli usunąłeś linię zamiast komentować).</p>



<h2 class="wp-block-heading">Dlaczego zmiana w crontabie wymaga dodatkowego kroku</h2>



<p>Na standardowym Linuxie edytujesz crontab poleceniem&nbsp;<code>crontab -e</code>&nbsp;i zmiany od razu działają. Na QNAP jest inaczej – system trzyma &#8222;źródło prawdy&#8221; w pliku&nbsp;<code>/etc/config/crontab</code>&nbsp;i trzeba je jawnie załadować poleceniem&nbsp;<code>crontab /etc/config/crontab</code>.</p>



<p>Co więcej –&nbsp;<strong>nie używaj&nbsp;<code>crontab -e</code>&nbsp;na QNAP</strong>. Zmiany wprowadzone tą komendą są tymczasowe i znikną przy następnym restarcie lub aktualizacji systemu, bo QTS nadpisze je zawartością z&nbsp;<code>/etc/config/crontab</code>.</p>



<p>Poprawna procedura to zawsze:</p>



<ol class="wp-block-list">
<li>Edytuj <code>/etc/config/crontab</code></li>



<li>Załaduj: <code>crontab /etc/config/crontab</code></li>



<li>Restart crona: <code>/etc/init.d/crond.sh restart</code></li>
</ol>



<h2 class="wp-block-heading">Czy wyłączenie ImR_all jest bezpieczne?</h2>



<p>Tak, z jednym zastrzeżeniem.&nbsp;<code>ImR_all</code>&nbsp;odpowiada za odświeżanie indeksu multimediów. Jeśli korzystasz z wbudowanych aplikacji QNAP do przeglądania multimediów (Multimedia Station, Photo Station, Video Station), wyłączenie tego zadania sprawi, że nowo dodane pliki nie będą automatycznie indeksowane w nocy.</p>



<p><strong>Praktycznie nie ma to żadnego znaczenia</strong>, jeśli:</p>



<ul class="wp-block-list">
<li>Używasz Multimedia Console z włączonym automatycznym indeksowaniem (to osobny mechanizm)</li>



<li>Korzystasz z Plex, Jellyfin lub innego zewnętrznego serwera mediów (mają własne indeksowanie)</li>



<li>Nie korzystasz z wbudowanych aplikacji multimedialnych QNAP</li>



<li>Multimedia Console jest wyłączona</li>
</ul>



<p>Nawet jeśli korzystasz z natywnych aplikacji QNAP – ręczne indeksowanie jest dostępne z poziomu Multimedia Console (przycisk &#8222;Reindex&#8221;).</p>



<h2 class="wp-block-heading">Dodatkowe porady – naprawianie uprawnień po szkodach</h2>



<p>Jeśli&nbsp;<code>ImR_all</code>&nbsp;zdążył już namieszać w Twoich uprawnieniach, oto jak je naprawić.</p>



<h3 class="wp-block-heading">Sprawdzenie aktualnych uprawnień z SSH</h3>



<p>bash</p>



<pre class="wp-block-code"><code>getfacl /share/MD0_DATA/Multimedia
ls -la /share/MD0_DATA/Multimedia/</code></pre>



<h3 class="wp-block-heading">Reset uprawnień na folderze Multimedia</h3>



<p>Jeśli uprawnienia są kompletnie rozwalone, możesz je zresetować:</p>



<p>bash</p>



<pre class="wp-block-code"><code># Usuń wszystkie ACL
setfacl -R --remove-all /share/MD0_DATA/Multimedia/*

# Ustaw właściciela i grupę
chown -R admin:administrators /share/MD0_DATA/Multimedia

# Ustaw uprawnienia
chmod -R 770 /share/MD0_DATA/Multimedia</code></pre>



<p>Następnie w panelu QTS przejdź do&nbsp;<strong>Prawa dostępu → Foldery współdzielone → Multimedia → Edytuj uprawnienia</strong>&nbsp;i ponownie ustaw dostęp dla użytkowników/grup. Zaznacz opcję&nbsp;<strong>&#8222;Zastosuj i zastąp wszystkie istniejące uprawnienia&#8221;</strong>.</p>



<h3 class="wp-block-heading">Użycie set_volume_mode</h3>



<p>QNAP ma też wbudowane narzędzie do resetowania trybu uprawnień na wolumenie:</p>



<p>bash</p>



<pre class="wp-block-code"><code>/sbin/set_volume_mode</code></pre>



<p>Uruchom je bez parametrów, żeby zobaczyć dostępne opcje. Pozwala to przełączyć wolumin między trybem uprawnień Linuxowych a Windows ACL.</p>



<h2 class="wp-block-heading">Co jeszcze warto sprawdzić w crontabie</h2>



<p>Skoro już jesteś w crontabie, rzuć okiem na inne wpisy, które mogą wpływać na działanie NAS-a. Domyślny crontab QNAP zawiera kilka ciekawych pozycji:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Wpis</th><th>Co robi</th></tr></thead><tbody><tr><td><code>/sbin/vs_refresh</code></td><td>Odświeża konfigurację Video Station</td></tr><tr><td><code>/sbin/clean_reset_pwd</code></td><td>Czyści tymczasowe hasła po resecie</td></tr><tr><td><code>/etc/init.d/nss2_dusg.sh</code></td><td>Przelicza użycie dysku (co 15 min)</td></tr><tr><td><code>/sbin/qfstrim</code></td><td>TRIM na SSD (ważne, nie wyłączaj)</td></tr><tr><td><code>/etc/init.d/idmap.sh dump</code></td><td>Dump mapowania ID (raz w tygodniu)</td></tr><tr><td><code>/sbin/notice_log_tool</code></td><td>Rotacja logów</td></tr><tr><td><code>/etc/init.d/storage_usage.sh</code></td><td>Statystyki użycia pamięci (co 10 min)</td></tr></tbody></table></figure>



<p><strong>Nie wyłączaj tych zadań</strong>&nbsp;bez dobrego powodu – są potrzebne do prawidłowego działania systemu.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Problem z samoczynnie zmieniającymi się uprawnieniami na QNAP to klasyczny przypadek &#8222;nic nie ruszałem, a samo się zepsuło&#8221;. W rzeczywistości QNAP co noc uruchamia zadanie&nbsp;<code>ImR_all</code>, które resetuje uprawnienia na folderze Multimedia.</p>



<p>Rozwiązanie:</p>



<ol class="wp-block-list">
<li>Włącz SSH</li>



<li>Edytuj <code>/etc/config/crontab</code></li>



<li>Zakomentuj linię z <code>ImR_all</code></li>



<li>Załaduj crontab: <code>crontab /etc/config/crontab &amp;&amp; /etc/init.d/crond.sh restart</code></li>



<li>Gotowe – uprawnienia zostaną takie, jakie ustawisz</li>
</ol>
<p>Artykuł <a href="https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/">QNAP – uprawnienia folderów zmieniają się same?</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/qnap-i-uprawnienia-zmieniaja-sie-same/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dlaczego Twój backup jest bezwartościowy, jeśli jest podłączony do sieci</title>
		<link>https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/</link>
					<comments>https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 21:45:42 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1387</guid>

					<description><![CDATA[<p>Ransomware szyfruje dane, lekarze wracają do długopisu, a przywracanie systemów trwa tygodniami. Ale problem nie leży tam, gdzie myślisz. Problem to backup podłączony do sieci i antywirus z 2015 roku.</p>
<p>Artykuł <a href="https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/">Dlaczego Twój backup jest bezwartościowy, jeśli jest podłączony do sieci</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Anno domini 2026. Polskie szpitale padają jak domino. Ransomware szyfruje dane, lekarze wracają do długopisu, a przywracanie systemów trwa tygodniami. Ale problem nie leży tam, gdzie myślisz. Problem to backup podłączony do sieci &#8230;</strong></p>



<h2 class="wp-block-heading">Ransomware nie szyfruje tego, czego nie widzi</h2>



<p>Zacznijmy od podstaw. Ransomware to program, który szyfruje pliki na dyskach, do których ma dostęp. Klucz do zrozumienia tego zdania: <strong>do których ma dostęp</strong>.</p>



<p>Jeśli Twój backup leży na udziale sieciowym, na NAS-ie zamontowanym przez SMB, na dysku podpiętym 24/7 do serwera — ransomware zaszyfruje go razem z resztą. Nie dlatego, że jest „sprytny&#8221;. Dlatego, że ma do niego ścieżkę sieciową. Dokładnie tak samo, jak Ty otwierasz ten udział w Eksploratorze plików.</p>



<p>I to jest dokładnie to, co dzieje się w większości ataków. Według danych branżowych, 94% ataków ransomware obejmuje próbę zniszczenia kopii zapasowych. Atakujący wiedzą, że backup to jedyna rzecz, która stoi między nimi a okupem. Więc celują w niego jako pierwszy krok.</p>



<p>W przypadku ataków  w  2026 — najprawdopodobniej przywracanie systemów trwało tygodniami. Tysiące komputerów do postawienia od zera. Gdyby istniała kopia odłączona od sieci, czas odtworzenia liczyłby się w godzinach, nie tygodniach.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Czym jest backup air-gapped i dlaczego działa</h2>



<p>Air-gapped backup to kopia zapasowa, która jest <strong>fizycznie odłączona od infrastruktury</strong> — nie ma do niej ścieżki sieciowej, nie jest zamontowana jako dysk, nie jest widoczna dla żadnego systemu w sieci. Ransomware nie może zaszyfrować czegoś, do czego nie ma połączenia. Proste.</p>



<p>Jak to wygląda w praktyce? Kilka wariantów od najprostszego do najbardziej zaawansowanego:</p>



<h3 class="wp-block-heading">Dysk zewnętrzny USB z rotacją</h3>



<p>Najprostsza forma air-gap. Dwa lub trzy dyski zewnętrzne USB, podłączane na czas backupu i fizycznie odłączane po zakończeniu. Rotacja codzienna lub tygodniowa — jeden dysk podłączony, reszta w szafie (najlepiej w innym pomieszczeniu lub budynku).</p>



<p>Koszt: 200–500 zł za dysk. Skuteczność: 100% ochrony przed ransomware sieciowym.</p>



<h3 class="wp-block-heading">Taśmy LTO</h3>



<p>Klasyka w większych środowiskach. Taśma po zapisaniu trafia na półkę — fizycznie nie ma połączenia z niczym. LTO-9 to 18 TB na taśmę (45 TB po kompresji). Droższa inwestycja początkowa (napęd LTO-9 to kilkanaście tysięcy złotych), ale koszt nośnika niski i niezawodność ogromna.</p>



<h3 class="wp-block-heading">Dedykowany serwer backupowy z izolacją sieciową</h3>



<p>Serwer backupowy, który łączy się z infrastrukturą produkcyjną tylko w oknie backupowym — przez ściśle kontrolowane reguły firewalla. Poza oknem backupowym: zero połączeń. Bardziej zaawansowane rozwiązanie, wymaga kompetencji sieciowych, ale daje wygodę automatyzacji przy zachowaniu izolacji.</p>



<h3 class="wp-block-heading">Backup w chmurze z immutability</h3>



<p>Usługi takie jak Backblaze B2, Wasabi czy AWS S3 z Object Lock pozwalają ustawić niezmienność (immutability) — zapisane dane nie mogą być nadpisane ani usunięte przez określony czas, nawet jeśli atakujący przejmie klucze dostępowe. To nie jest klasyczny air-gap, ale daje podobny efekt: ransomware nie jest w stanie zniszczyć tych kopii.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Reguła 3-2-1-1-0 — minimum, nie ideał</h2>



<p>Branżowy standard to reguła <strong>3-2-1-1-0</strong>:</p>



<ul class="wp-block-list">
<li><strong>3</strong> kopie danych (produkcja + dwie kopie zapasowe)</li>



<li><strong>2</strong> różne typy nośników (np. dysk + taśma, dysk + chmura)</li>



<li><strong>1</strong> kopia off-site (poza lokalizacją główną)</li>



<li><strong>1</strong> kopia air-gapped lub immutable</li>



<li><strong>0</strong> błędów przy weryfikacji odtwarzalności</li>
</ul>



<p>Ten ostatni punkt jest krytyczny i najczęściej pomijany. Backup, którego nigdy nie testowałeś, nie jest backupem. Jest obietnicą, która może się nie spełnić. Testuj odtwarzanie regularnie — minimum raz na kwartał.</p>



<p>Kopia na NAS-ie podłączonym do tej samej sieci co reszta infrastruktury <strong>nie spełnia żadnego z tych punktów</strong>, poza byciem „drugą kopią&#8221;. To nie jest backup — to złudzenie bezpieczeństwa.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Antywirus: dlaczego „jakiś darmowy&#8221; nie wystarczy</h2>



<p>Druga warstwa, która regularnie zawodzi w atakowanych organizacjach, to ochrona endpointów. Statystyki za 2025 rok mówią jasno:</p>



<ul class="wp-block-list">
<li>41% udanych ataków na placówki medyczne wynikało ze znanych, ale niezałatanych luk bezpieczeństwa</li>



<li>33% ataków wykorzystywało exploity na znane podatności</li>



<li>42% placówek nie miało odpowiedniej liczby specjalistów monitorujących systemy</li>
</ul>



<p>To nie jest historia o superzaawansowanych hakerach. To historia o Windows Server bez aktualizacji od pół roku, o koncie admina z hasłem „admin123&#8243;, o antywirusie, którego nikt nie otworzył od dnia instalacji.</p>



<h3 class="wp-block-heading">Co powinien robić porządny system ochrony endpointów</h3>



<p>Profesjonalny antywirus klasy endpoint protection (np. ESET PROTECT, Bitdefender GravityZone, Microsoft Defender for Endpoint) to nie jest „skanowanie plików jak w 2005 roku&#8221;. To wielowarstwowy system, który:</p>



<ul class="wp-block-list">
<li><strong>Analiza behawioralna</strong> — wykrywa ransomware po zachowaniu (masowe szyfrowanie plików, zmiana rozszerzeń), nawet jeśli sam plik jest zupełnie nowy i nieznany</li>



<li><strong>Ochrona przed exploitami</strong> — blokuje techniki wykorzystywane do przejmowania kontroli nad systemem przez luki w oprogramowaniu</li>



<li><strong>Sandboxing</strong> — podejrzane pliki uruchamiane są w izolowanym środowisku zanim dotrą do użytkownika</li>



<li><strong>Centralna konsola zarządzania</strong> — widoczność na całą infrastrukturę z jednego miejsca, alertowanie, wymuszanie polityk</li>



<li><strong>EDR (Endpoint Detection &amp; Response)</strong> — ciągłe monitorowanie aktywności na endpointach, możliwość retrospektywnego przeszukiwania zdarzeń, izolowanie zainfekowanych maszyn</li>
</ul>



<h3 class="wp-block-heading">Ale nawet najlepszy antywirus nie pomoże, jeśli…</h3>



<ul class="wp-block-list">
<li>…nikt nie patrzy na alerty. Średni czas wykrycia incydentu w ochronie zdrowia to ponad 200 dni. Dwieście dni, w trakcie których atakujący swobodnie eksplorują sieć.</li>



<li>…nie ma segmentacji sieci. Jeśli jeden zainfekowany komputer w rejestracji ma dostęp do serwera z bazą pacjentów, to atak na stację roboczą = atak na krytyczne dane.</li>



<li>…systemy nie są aktualizowane. Exploit na podatność sprzed 6 miesięcy to nie jest „zaawansowany atak&#8221;. To odpalenie gotowego narzędzia.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Segmentacja sieci — trzecia warstwa, o której nikt nie mówi</h2>



<p>Segmentacja to podział sieci na odizolowane strefy, tak żeby kompromitacja jednego segmentu nie oznaczała kompromitacji całej infrastruktury.</p>



<p>W praktyce: komputer w rejestracji nie powinien mieć dostępu do serwera z backupami. Drukarka sieciowa nie powinna widzieć kontrolera domeny. Sieć Wi-Fi dla gości nie powinna mieć żadnej ścieżki do sieci wewnętrznej.</p>



<p>Jak to zrobić tanio? VLAN-y na zarządzalnym switchu i reguły firewalla. Zarządzalny switch to koszt od kilkuset złotych. Konfiguracja VLAN-ów to kwestia kilku godzin dla kompetentnego informatyka.</p>



<p>Segmentacja sprawia, że nawet jeśli ransomware dostanie się do jednej stacji roboczej, jego rozprzestrzenienie się na resztę sieci jest zablokowane lub znacząco utrudnione.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Plan odtwarzania — bo kiedy, nie czy</h2>



<p>Disaster Recovery Plan (DRP) to dokument, który odpowiada na jedno pytanie: <strong>co robimy, kiedy wszystko padnie?</strong></p>



<p>Nie musi to być 50-stronicowy elaborat. Minimum, które ma sens:</p>



<ol class="wp-block-list">
<li><strong>Lista systemów krytycznych</strong> z kolejnością przywracania (co najpierw? Serwer DHCP/DNS? Kontroler domeny? System ERP? Poczta?)</li>



<li><strong>Lokalizacja backupów</strong> — gdzie fizycznie leżą nośniki, kto ma do nich dostęp, jakie są dane logowania</li>



<li><strong>Procedura odtwarzania</strong> krok po kroku dla każdego krytycznego systemu</li>



<li><strong>Lista kontaktowa</strong> — kto dzwoni do kogo, kto ma uprawnienia do podjęcia decyzji</li>



<li><strong>Regularne testy</strong> — minimum raz na kwartał odtwórz coś z backupu. Najlepiej cały system na maszynie testowej</li>
</ol>



<p>Szpital z DRP przywraca krytyczne usługi w godzinach. Szpital bez DRP wzywa Wojska Obrony Terytorialnej i spędza tygodnie na stawianiu tysiąca komputerów od zera. To nie hipoteza — to dokładnie to, co się wydarzyło w Szczecinie w marcu 2026.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Double extortion — dlaczego prewencja ma znaczenie</h2>



<p>Od 2024 roku standardem w atakach ransomware jest podwójne wymuszenie (double extortion): atakujący najpierw kradną dane, potem je szyfrują. Nawet jeśli masz backup i odtworzysz systemy w godzinach, grożą wyciekiem wykradzionych danych.</p>



<p>To jest argument <strong>za</strong> inwestowaniem w ochronę, nie przeciw. Air-gapped backup chroni przed utratą danych i długim przestojem. Ale przed kradzieżą danych chroni tylko prewencja: porządny antywirus z EDR, segmentacja sieci, szybka detekcja anomalii, monitoring.</p>



<p>Wielowarstwowe podejście (defense in depth):</p>



<ul class="wp-block-list">
<li><strong>Warstwa 1: Prewencja</strong> — antywirus, aktualizacje, segmentacja, szkolenia użytkowników</li>



<li><strong>Warstwa 2: Detekcja</strong> — EDR, monitoring, alerty, SIEM</li>



<li><strong>Warstwa 3: Odtwarzanie</strong> — backup air-gapped, DRP, testowane procedury</li>
</ul>



<p>Żadna warstwa nie jest niezawodna sama w sobie. Ale ich kombinacja sprawia, że atak ransomware staje się incydentem do obsłużenia, a nie katastrofą na tygodnie.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Checklist: co sprawdzić u siebie</h2>



<p>Trzy pytania, na które Twój informatyk (lub Ty sam) powinien umieć odpowiedzieć natychmiast:</p>



<ol class="wp-block-list">
<li><strong>Gdzie jest kopia zapasowa odłączona od sieci?</strong> Jeśli odpowiedź brzmi „na NAS-ie&#8221; albo „na dysku podłączonym do serwera&#8221; — nie masz backupu air-gapped. Masz drugą kopię danych, która padnie razem z resztą.</li>



<li><strong>Jaki system ochrony endpointów jest wdrożony i kto monitoruje alerty?</strong> Jeśli odpowiedź brzmi „Windows Defender z domyślnymi ustawieniami&#8221; albo „nie wiem&#8221; — masz problem. Nie chodzi o markę, chodzi o to, czy ktoś aktywnie zarządza ochroną i reaguje na incydenty.</li>



<li><strong>Kiedy ostatnio testowaliśmy odtwarzanie z backupu?</strong> Jeśli odpowiedź brzmi „nigdy&#8221; albo „nie pamiętam&#8221; — Twój backup to Schrödingerowska kopia: jednocześnie działa i nie działa, dopóki nie sprawdzisz.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Ransomware nie musi oznaczać tygodni przestoju. Trzy rzeczy decydują o tym, czy atak będzie incydentem czy katastrofą:</p>



<ol class="wp-block-list">
<li><strong>Backup odłączony od sieci</strong> — bo ransomware nie zaszyfruje tego, czego nie widzi</li>



<li><strong>Porządny antywirus z aktywnym zarządzaniem</strong> — bo większość ataków wykorzystuje znane podatności i banalne wektory</li>



<li><strong>Przetestowany plan odtwarzania</strong> — bo w trakcie kryzysu nie ma czasu na improwizację</li>
</ol>



<p></p>



<p>Dobrą wiadomością jest to, że zabezpieczenie się nie wymaga milionowego budżetu. Dysk USB z rotacją, profesjonalny antywirus, segmentacja na VLAN-ach, przetestowany plan odtwarzania. To są rzeczy, które kompetentny informatyk wdroży w każdej firmie — od gabinetu lekarskiego po średnie przedsiębiorstwo.</p>



<p>Zrób to zanim będzie za późno.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/">Dlaczego Twój backup jest bezwartościowy, jeśli jest podłączony do sieci</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/dlaczego-twoj-backup-jest-bezwartosciowy-jesli-jest-podlaczony-do-sieci/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Claude Code – 1 milion tokenów kontekstu i tryb głosowy</title>
		<link>https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/</link>
					<comments>https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 15 Mar 2026 19:15:40 +0000</pubDate>
				<category><![CDATA[AI Howto]]></category>
		<category><![CDATA[ai]]></category>
		<category><![CDATA[claude]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[porady]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=1001</guid>

					<description><![CDATA[<p>Claude Code właśnie dostał dwie funkcje, na które czekali chyba wszyscy użytkownicy: okno kontekstowe rozszerzone do&#160;1 miliona tokenów&#160;oraz natywny&#160;voice mode&#160;– tryb głosowy, w którym mówisz do terminala zamiast pisać. Brzmi jak rewolucja? Sprawdźmy. Problem: amnezja w połowie zadania Jeśli używałeś Claude Code na większym projekcie, znasz ten scenariusz. Ładujesz codebase, odpalasz łańcuch tool calli – [&#8230;]</p>
<p>Artykuł <a href="https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/">Claude Code – 1 milion tokenów kontekstu i tryb głosowy</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Claude Code właśnie dostał dwie funkcje, na które czekali chyba wszyscy użytkownicy: okno kontekstowe rozszerzone do&nbsp;<strong>1 miliona tokenów</strong>&nbsp;oraz natywny&nbsp;<strong>voice mode</strong>&nbsp;– tryb głosowy, w którym mówisz do terminala zamiast pisać. Brzmi jak rewolucja? Sprawdźmy.</p>



<h2 class="wp-block-heading">Problem:  amnezja w połowie zadania</h2>



<p>Jeśli używałeś Claude Code na większym projekcie, znasz ten scenariusz. Ładujesz codebase, odpalasz łańcuch tool calli – czytanie plików, analiza, edycja, testy. Claude radzi sobie świetnie. Aż nagle w terminalu pojawia się komunikat:</p>



<pre class="wp-block-code"><code>Claude is compacting the conversation...</code></pre>



<p>I od tego momentu zaczyna się jazda. Claude &#8222;zapomina&#8221; decyzje architektoniczne podjęte 20 minut temu. Czyta te same pliki ponownie. Czasami wręcz sprzecza się sam ze sobą – implementacja z kroku 5 nie pasuje do tego, co zrobił w kroku 2, bo krok 2 wyleciał z kontekstu.</p>



<p>To był prawdziwy ból dupy przy dłuższych sesjach. Przy oknie 200K tokenów użyteczna przestrzeń to jakieś 150K po odjęciu bufora na kompakcję. Dla małego projektu – ok. Dla repo z backendem, frontendem i testami? Za mało.</p>



<h2 class="wp-block-heading">Rozwiązanie: 1M tokenów kontekstu – bez dopłat</h2>



<p>13 marca 2026 Anthropic ogłosił, że okno kontekstowe o wielkości <strong>1 miliona tokenów</strong> jest teraz ogólnie dostępne dla modeli <strong>Opus 4.6</strong> i <strong>Sonnet 4.6</strong>. Bez beta headerów, bez specjalnych flag, bez dopłat za długi kontekst.</p>



<p>Najważniejsze fakty:</p>



<ul class="wp-block-list">
<li><strong>Standardowa cena</strong> – za 900K tokenów płacisz dokładnie tyle samo za token co za 9K. Opus 4.6: $5/$25 za milion tokenów (input/output). Sonnet 4.6: $3/$15.</li>



<li><strong>Pełne rate limity</strong> – długie requesty mają taki sam throughput jak krótkie. W becie było inaczej.</li>



<li><strong>600 plików multimedialnych per request</strong> – wcześniej limit wynosił 100 obrazów lub stron PDF. Teraz 6x więcej.</li>



<li><strong>Bez beta headera</strong> – jeśli wcześniej go używałeś, API go po prostu ignoruje. Nie musisz nic zmieniać w kodzie.</li>



<li><strong>Dostępne na Claude Platform, Azure Foundry i Google Cloud Vertex AI.</strong></li>



<li><strong>Claude Code na planach Max, Team i Enterprise</strong> – Opus 4.6 automatycznie dostaje 1M kontekstu. Bez konfiguracji.</li>
</ul>



<h2 class="wp-block-heading">Co to oznacza w praktyce?</h2>



<p>Przy 200K tokenów użyteczna przestrzeń to ~150K. Przy 1M masz ~830K tokenów na faktyczną pracę. To wystarczy na tysiące plików źródłowych, pełne trace&#8217;y tool calli i długie sesje debugowania –&nbsp;<strong>bez kompakcji</strong>.</p>



<p>Anthropic podaje konkretną liczbę: od wdrożenia 1M kontekstu zanotowano&nbsp;<strong>15% spadek zdarzeń kompakcji</strong>&nbsp;wśród użytkowników Claude Code. To nie benchmark – to pomiar z realnego użycia.</p>



<p>Co się zmienia w codziennej pracy:</p>



<ul class="wp-block-list">
<li><strong>Cały codebase w jednej sesji</strong> – nie musisz już wybierać, które pliki załadować. Ładujesz wszystko.</li>



<li><strong>Łańcuchy tool calli bez utraty kontekstu</strong> – Claude przeszukuje logi, bazy danych, kod źródłowy, proponuje fix – i nie zapomina, co znalazł na początku.</li>



<li><strong>Dłuższe sesje bez restartu</strong> – wielogodzinne sesje agentowe, które wcześniej wymagały ręcznego <code>/compact</code>, teraz trzymają się kupy.</li>
</ul>



<p>Ciekawy jest też benchmark. Na teście MRCR v2 (Multi-Round Coreference Resolution) w wariancie 1M tokenów Opus 4.6 osiąga&nbsp;<strong>76%</strong>, podczas gdy Sonnet 4.5 – tylko 18,5%. To jakościowa różnica w tym, ile kontekstu model faktycznie potrafi wykorzystać bez &#8222;context rot&#8221; – degradacji jakości przy dużych ilościach danych.</p>



<h2 class="wp-block-heading">Context awareness – Claude wie, ile mu zostało</h2>



<p>Modele Opus 4.6 i Sonnet 4.6 mają wbudowaną&nbsp;<strong>świadomość kontekstu</strong>&nbsp;(context awareness). Po każdym tool callu Claude dostaje informację w stylu:</p>



<pre class="wp-block-code"><code>Token usage: 35000/1000000; 965000 remaining</code></pre>



<p>Dzięki temu model sam wie, ile miejsca mu zostało i może planować pracę odpowiednio. Nie zgaduje – wie. To jak zegarek na egzaminie zamiast strzelania, ile czasu minęło.</p>



<h2 class="wp-block-heading">Jak włączyć 1M w Claude Code?</h2>



<p>Jeśli jesteś na planie&nbsp;<strong>Max, Team lub Enterprise</strong>&nbsp;– nie musisz nic robić. Opus 4.6 automatycznie używa 1M kontekstu.</p>



<p>Sprawdzenie aktualnego modelu:</p>



<pre class="wp-block-code"><code>/model</code></pre>



<p>Jeśli chcesz wymusić 1M na konkretnym modelu (np. przez alias):</p>



<pre class="wp-block-code"><code>opus&#91;1m]
sonnet&#91;1m]</code></pre>



<p>Jeśli z jakiegoś powodu&nbsp;<strong>nie chcesz</strong>&nbsp;1M kontekstu:</p>



<p>bash</p>



<pre class="wp-block-code"><code>export CLAUDE_CODE_DISABLE_1M_CONTEXT=1</code></pre>



<p>To usuwa warianty 1M z model pickera.</p>



<h2 class="wp-block-heading">Voice mode – koduj głosem (ale po angielsku)</h2>



<p>3 marca 2026 Anthropic zaczął roll-out natywnego trybu głosowego w Claude Code. Na razie dostępny dla ~5% użytkowników, ale roll-out rozszerza się z każdym tygodniem.</p>



<h3 class="wp-block-heading">Jak to działa?</h3>



<pre class="wp-block-code"><code>/voice</code></pre>



<p>Wpisujesz tę komendę w terminalu. Od teraz:</p>



<ol class="wp-block-list">
<li><strong>Przytrzymaj spację</strong> – mów</li>



<li><strong>Puść spację</strong> – transkrypcja leci do promptu</li>



<li>Claude wykonuje polecenie jak zwykle</li>
</ol>



<p>Tryb push-to-talk. Proste. Możesz też miksować – napisać pół prompta na klawiaturze, a resztę powiedzieć głosem. Transkrypcja wchodzi w miejsce kursora.</p>



<h3 class="wp-block-heading">Kiedy to ma sens?</h3>



<ul class="wp-block-list">
<li><strong>Opisywanie bugów</strong> – mówienie &#8222;sprawdź dlaczego ten API call zwraca 500 w produkcji, podejrzewam że middleware autentykacji łapie wyjątek i zwraca pusty obiekt&#8221; jest 3x szybsze niż pisanie tego samego.</li>



<li><strong>Sesje refaktoringu</strong> – mówisz co chcesz, Claude pisze kod. Dwie z czterech faz pracy (myślenie → wyrażenie intencji → pisanie kodu → review) nie wymagają klawiatury.</li>



<li><strong>Przerwy od klawiatury</strong> – po 6 godzinach kodowania ręce potrzebują odpoczynku. Głos pozwala kontynuować bez przerwy w pracy.</li>
</ul>



<h3 class="wp-block-heading">Ograniczenie: tylko angielski</h3>



<p>I tu jest haczyk.&nbsp;<strong>Voice mode działa na razie tylko po angielsku.</strong>&nbsp;Silnik STT (speech-to-text) domyślnie transkrybuje na angielski. Jeśli mówisz po polsku, transkrypcja albo się sypie, albo produkuje bezsensowny tekst angielski.</p>



<p>Na GitHubie Claude Code jest już otwarty issue (#33170) z prośbą o dodanie konfiguracji języka – ustawienie&nbsp;<code>voiceLanguage</code>&nbsp;w settings.json. Na razie nie istnieje. Społeczność wnioskuje o coś w stylu:</p>



<p>json</p>



<pre class="wp-block-code"><code>{
  "voiceEnabled": true,
  "voiceLanguage": &#91;"en", "pl"]
}</code></pre>



<p>Ale oficjalnie – silnik pod spodem (prawdopodobnie Whisper) wspiera wiele języków. Problem w tym, że Claude Code po prostu nie daje opcji wyboru języka. Na razie jedyne obejście to zewnętrzne narzędzia do dyktowania (Wispr Flow, Superwhisper, AquaVoice), które transkrybują w dowolnym języku i wklejają tekst do terminala.</p>



<p><strong>Protip:</strong>&nbsp;Nawet po angielsku – precyzyjne nazwy plików, ścieżki i zmienne lepiej wpisywać ręcznie. Voice sprawdza się świetnie do wyrażania intencji (&#8222;refactor the auth middleware to use RBAC&#8221;), kiepsko do precyzyjnych identyfikatorów.</p>



<h2 class="wp-block-heading">Dla kogo to jest?</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Funkcja</th><th>Plan</th><th>Automatycznie?</th></tr></thead><tbody><tr><td>1M kontekst (Claude Code)</td><td>Max, Team, Enterprise</td><td>Tak</td></tr><tr><td>1M kontekst (API)</td><td>Tier 4+ lub custom rate limits</td><td>Tak (GA, bez headera)</td></tr><tr><td>Voice mode</td><td>Wszyscy z Claude Code</td><td>Roll-out (~5% → 100%)</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Dwie zmiany, które realnie wpływają na codzienną pracę z Claude Code:</p>



<p><strong>1M tokenów kontekstu</strong>&nbsp;– koniec z kompakcją w połowie zadania, koniec z &#8222;Claude zapomniał co robiliśmy&#8221;. Cały codebase, pełne trace&#8217;y, wielogodzinne sesje – w jednym oknie.</p>



<p><strong>Voice mode</strong>&nbsp;– szybsze wyrażanie intencji, mniej pisania, ale na razie tylko po angielsku. Jeśli pracujesz w angielskim środowisku – game changer. Jeśli chcesz mówić po polsku – poczekaj lub użyj zewnętrznego narzędzia do dyktowania.</p>



<p>Czy Claude Code przestanie się gubić? Z 5x większym oknem kontekstowym – znacząco rzadziej. Nie jest to gwarancja (context rot istnieje nawet przy 1M tokenów), ale różnica między 200K a 1M jest jak różnica między kartką A4 a flipchartem. Więcej miejsca = mniej zgubionego kontekstu = lepsza praca.</p>



<p></p>



<p>Źródła</p>



<ul class="wp-block-list">
<li>Ogłoszenie 1M GA: <a href="https://claude.com/blog/1m-context-ga">claude.com/blog/1m-context-ga</a></li>



<li>Dokumentacja context windows: <a href="https://platform.claude.com/docs/en/build-with-claude/context-windows">platform.claude.com/docs/en/build-with-claude/context-windows</a></li>



<li>Claude Code docs – model config: <a href="https://code.claude.com/docs/en/model-config">code.claude.com/docs/en/model-config</a></li>



<li>Issue: voice language config: <a href="https://github.com/anthropics/claude-code/issues/33170">github.com/anthropics/claude-code/issues/33170</a></li>
</ul>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/">Claude Code – 1 milion tokenów kontekstu i tryb głosowy</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/claude-code-1-milion-tokenow-kontekstu-i-tryb-glosowy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Skaner Bezpieczeństwa dla Firm</title>
		<link>https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/</link>
					<comments>https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Fri, 13 Feb 2026 09:38:45 +0000</pubDate>
				<category><![CDATA[Komputery]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[cert]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wartoznac]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=993</guid>

					<description><![CDATA[<p>Większość firm nie ma pojęcia o "zapomnianych" subdomenach, nieaktualnych certyfikatach czy otwartych portach... nie bądź jak te firmy </p>
<p>Artykuł <a href="https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/">Skaner Bezpieczeństwa dla Firm</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">moje.cert.pl – darmowy skaner bezpieczeństwa Twojej domeny od CERT Polska</h2>



<p>Prowadzisz stronę internetową, mały sklep online albo firmowy serwis? Zastanawiałeś się kiedyś, czy ktoś właśnie nie testuje Twoich zabezpieczeń? CERT Polska uruchomił serwis&nbsp;<strong>moje.cert.pl</strong>&nbsp;– bezpłatną platformę, która pozwala każdemu przeskanować swoje domeny pod kątem podatności, wycieków danych i zagrożeń sieciowych. Oto co powinieneś o niej wiedzieć.</p>



<h2 class="wp-block-heading">Czym jest moje.cert.pl?</h2>



<p>Serwis moje.cert.pl to projekt zespołu CERT Polska działającego w ramach NASK (Państwowy Instytut Badawczy). Platforma wystartowała testowo pod koniec 2024 roku, a w lutym 2025 została oficjalnie udostępniona publicznie. Od tamtej pory zyskała już prawie 16 tysięcy zarejestrowanych użytkowników i przeskanowała ponad 3,3 miliona domen, subdomen i adresów IP, wykrywając ponad pół miliona podatności i błędnych konfiguracji.</p>



<p>Jak ujął to Marcin Dudek, kierownik CERT Polska – jest to rozwiązanie unikalne na skalę światową, ponieważ tak kompleksowe narzędzie diagnostyczne nie było dotychczas udostępniane bezpłatnie i publicznie w żadnym innym kraju.</p>



<h2 class="wp-block-heading">Co dokładnie oferuje serwis?</h2>



<h3 class="wp-block-heading">Skanowanie bezpieczeństwa domen</h3>



<p>Sercem platformy jest narzędzie&nbsp;<strong>Artemis</strong>&nbsp;– autorski skaner bezpieczeństwa rozwijany przez CERT Polska. Artemis wykorzystuje znane narzędzia open source (m.in. nuclei, sqlmap) i zawiera kilkadziesiąt modułów sprawdzających różne aspekty bezpieczeństwa strony. System wykrywa między innymi:</p>



<ul class="wp-block-list">
<li>podatności SQL Injection umożliwiające kradzież całej bazy danych,</li>



<li>błędne konfiguracje serwerów,</li>



<li>brak mechanizmów SPF i DMARC (ochrona przed fałszywymi e-mailami),</li>



<li>podatności na zdalne wykonanie kodu,</li>



<li>inne luki wiążące się z wysokim ryzykiem.</li>
</ul>



<p>Skanowanie jest cykliczne — domyślnie co dwa miesiące, ale interwał można zmienić w ustawieniach. Wyniki trafiają wyłącznie do administratora danej domeny i nie są nigdzie upubliczniane.</p>



<h3 class="wp-block-heading">Monitoring wycieków haseł</h3>



<p>Serwis monitoruje wycieki danych z wielu źródeł — komercyjnych (m.in. Recorded Future), publicznych baz wycieków oraz materiałów pozyskanych przez CERT Polska w ramach pracy operacyjnej (np. hasła wykradzione przez złośliwe oprogramowanie). Jeśli w Twojej domenie pojawi się wyciek, otrzymasz natychmiastowy alert.</p>



<h3 class="wp-block-heading">Powiadomienia o zagrożeniach sieciowych</h3>



<p>System n6, zintegrowany z platformą, codziennie przetwarza miliony zdarzeń, identyfikując infekcje złośliwym oprogramowaniem, hostowanie szkodliwych treści oraz podatności aplikacji dostępnych publicznie z internetu. Administratorzy sieci otrzymują powiadomienia o problemach w swoich zasobach.</p>



<h3 class="wp-block-heading">Komunikaty o zagrożeniach</h3>



<p>Od maja 2025 w serwisie dostępna jest zakładka z ostrzeżeniami dotyczącymi polskiej cyberprzestrzeni i alertami o podatnościach. Komunikaty są widoczne bezpośrednio w panelu, przez kanał RSS, a po wyrażeniu zgody — także wysyłane e-mailem.</p>



<h3 class="wp-block-heading">Infrastruktura organizacji (nowość 2026)</h3>



<p>Najnowsza funkcja pozwala spojrzeć na swoją infrastrukturę oczami potencjalnego atakującego. System identyfikuje publicznie widoczne zasoby organizacji: subdomeny, użyte technologie, panele administracyjne, otwarte porty — w tym te zapomniane lub niezgłoszone. Dzięki temu administrator może ograniczyć powierzchnię ataku, ukrywając lub dodatkowo zabezpieczając niepotrzebnie eksponowane elementy.</p>



<h2 class="wp-block-heading">Dla kogo jest moje.cert.pl?</h2>



<p>Platforma jest zaprojektowana z myślą o szerokim gronie odbiorców:</p>



<ul class="wp-block-list">
<li><strong>Osoby prywatne</strong> posiadające własne strony internetowe mogą szybko sprawdzić, czy ich witryna jest bezpieczna.</li>



<li><strong>Małe i średnie firmy</strong> zyskują dostęp do narzędzi diagnostycznych, które do niedawna były zarezerwowane dla dużych organizacji z własnymi działami IT security.</li>



<li><strong>Instytucje publiczne</strong> mogą monitorować bezpieczeństwo nawet bardzo złożonych środowisk — bez ponoszenia dodatkowych kosztów.</li>



<li><strong>Organizacje sektorowe</strong> (np. z sektora finansowego) mogą dodatkowo skorzystać z szybszej identyfikacji i reagowania na zagrożenia specyficzne dla ich branży.</li>
</ul>



<h2 class="wp-block-heading">Jak zacząć?</h2>



<ol class="wp-block-list">
<li>Wejdź na <a href="https://moje.cert.pl/">moje.cert.pl</a> i zarejestruj konto.</li>



<li>Dodaj swoje domeny — system wymaga weryfikacji, że jesteś ich właścicielem lub administratorem (np. przez rekord DNS lub plik na serwerze).</li>



<li>Zamów skanowanie i poczekaj na wyniki.</li>



<li>Jeśli korzystasz z zapory sieciowej, warto dodać do białej listy adresy IP skanerów CERT Polska (lista jest dostępna w FAQ serwisu), aby wyniki były kompletne.</li>
</ol>



<h2 class="wp-block-heading">Dlaczego warto?</h2>



<p>Statystyki mówią same za siebie — wśród pierwszych 1800 przeskanowanych domen system wykrył ponad 30 tysięcy podatności, z czego ponad tysiąc stanowiło wysokie ryzyko. Do tego ponad 34 tysiące przypadków wycieków haseł. Wiele z tych problemów było nieznanych administratorom do momentu otrzymania raportu.</p>



<p>Każda wykryta i usunięta podatność to potencjalny incydent bezpieczeństwa, którego udało się uniknąć. A biorąc pod uwagę, że narzędzie jest całkowicie bezpłatne — naprawdę nie ma powodu, żeby z niego nie skorzystać.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Serwis moje.cert.pl to jedno z najciekawszych polskich narzędzi cyberbezpieczeństwa ostatnich lat. Łączy w sobie zaawansowane skanowanie podatności, monitoring wycieków danych, alerty o zagrożeniach sieciowych i mapowanie infrastruktury — wszystko w jednym miejscu i za darmo. Jeśli masz jakąkolwiek stronę internetową lub administrujesz siecią firmową, zarejestruj się i sprawdź, jak Twoja infrastruktura wygląda z perspektywy atakującego. Może się okazać, że nie jest tak bezpieczna, jak myślisz.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><em>Źródła: CERT Polska, NASK, Ministerstwo Cyfryzacji</em></p>
<p>Artykuł <a href="https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/">Skaner Bezpieczeństwa dla Firm</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/skaner-bezpieczenstwa-dla-firm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ntfy – Darmowe powiadomienia push z serwera na telefon</title>
		<link>https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/</link>
					<comments>https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 21:18:54 +0000</pubDate>
				<category><![CDATA[Poradniki]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tutoriale]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[powiadomienia]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=988</guid>

					<description><![CDATA[<p>Alerty ze serwera lub ze skryptów na smartfon bez żadnych kosztów i konfiguracji. Genialny patent.</p>
<p>Artykuł <a href="https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/">ntfy – Darmowe powiadomienia push z serwera na telefon</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Chcesz dostawać alerty z Zabbix prosto na telefon? Masz dość sprawdzania maili z monitoringu?</strong> ntfy.sh to darmowy serwis powiadomień push, który wysyła alerty z serwera Linux bezpośrednio na smartfon – bez rejestracji, bez konfiguracji SMTP, bez opłat za SMS.</p>



<p><strong>Powiadomienia push z serwera na telefon </strong>– zarówno przez integrację z Zabbix, jak i w własnych skryptach bash.</p>



<h2 class="wp-block-heading">Czym jest ntfy i jak działa?</h2>



<p>ntfy (czytaj: &#8222;notify&#8221;) to <strong>darmowy serwis powiadomień push</strong> oparty o prosty protokół HTTP. Zamiast konfigurować serwer SMTP czy płacić za bramkę SMS, wysyłasz jedno żądanie curl:</p>



<pre class="wp-block-code"><code>curl -d "Backup zakończony" ntfy.sh/moj-serwer-xyz123</code></pre>



<p><strong>Jedna komenda = powiadomienie push na telefonie.</strong> Bez konta, bez tokena, bez konfiguracji serwera.</p>



<p>Bajecznie proste do zastosowania praktycznie we wszytkim. </p>



<h3 class="wp-block-heading">Dlaczego ntfy zamiast powiadomień email czy SMS?</h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Metoda</th><th>Opóźnienie</th><th>Koszt</th><th>Konfiguracja</th></tr></thead><tbody><tr><td>Email</td><td>1-15 minut</td><td>Darmowy</td><td>Wymaga SMTP</td></tr><tr><td>SMS (smsapi, twilio)</td><td>Sekundy</td><td>~0.07 PLN/sms</td><td>API + konto</td></tr><tr><td><strong>ntfy</strong></td><td><strong>Sekundy</strong></td><td><strong>Darmowy</strong></td><td><strong>Tylko curl</strong></td></tr></tbody></table></figure>



<p>Dla administratora serwera Linux czy VPS to game changer – <strong>alerty ze serwera na smartfon</strong> bez żadnych kosztów i konfiguracji.</p>



<h3 class="wp-block-heading"></h3>



<h2 class="wp-block-heading">Konfiguracja aplikacji mobilnej</h2>



<ol class="wp-block-list">
<li>Pobierz aplikację <strong>ntfy</strong>:</li>
</ol>



<ul class="wp-block-list">
<li>Android: <a href="https://play.google.com/store/apps/details?id=io.heckel.ntfy">Google Play</a> lub F-Droid</li>



<li>iOS: <a href="https://apps.apple.com/app/ntfy/id1625396347">App Store</a></li>
</ul>



<ol class="wp-block-list">
<li>Kliknij <strong>+</strong> i wpisz nazwę tematu (np. <code>serwer-prod-x7k9m2</code>)</li>



<li>Gotowe – każdy POST na <code>ntfy.sh/serwer-prod-x7k9m2</code> ląduje na telefonie</li>
</ol>



<p><strong>Ważne:</strong> Używaj losowych nazw tematów! Tematy są publiczne – kto zna nazwę, może subskrybować.</p>



<h2 class="wp-block-heading">Integracja ntfy z Zabbix – powiadomienia push zamiast email</h2>



<p>Standardowe <strong>powiadomienia Zabbix przez email</strong> są wolne i często ignorowane. SMS-y kosztują. ntfy daje <strong>natychmiastowe alerty na telefon za darmo</strong>.</p>



<h3 class="wp-block-heading">Krok 1: Skrypt alertów dla Zabbix</h3>



<p>Sprawdź katalog alertscripts:</p>



<pre class="wp-block-code"><code>grep AlertScriptsPath /etc/zabbix/zabbix_server.conf
# Domyślnie: /usr/lib/zabbix/alertscripts</code></pre>



<p>Utwórz plik <code>/usr/lib/zabbix/alertscripts/ntfy.sh</code>:</p>



<pre class="wp-block-code"><code>#!/bin/bash

# ========== KONFIGURACJA ==========
# Wpisz własną, unikalną nazwę tematu!
NTFY_TOPIC="zabbix-TWOJ-UNIKALNY-STRING"
# ==================================

TO="$1"
SUBJECT="$2"
MESSAGE="$3"

# Mapowanie severity Zabbix na priorytety ntfy
case "$SUBJECT" in
    *Disaster*|*DISASTER*)
        PRIORITY="urgent"
        TAGS="rotating_light,disaster"
        ;;
    *High*|*HIGH*)
        PRIORITY="high"
        TAGS="warning,high"
        ;;
    *Average*|*AVERAGE*)
        PRIORITY="default"
        TAGS="orange_circle,average"
        ;;
    *Warning*|*WARNING*)
        PRIORITY="low"
        TAGS="yellow_circle,warning"
        ;;
    *OK*|*Resolved*)
        PRIORITY="low"
        TAGS="white_check_mark,resolved"
        ;;
    *)
        PRIORITY="default"
        TAGS="bell"
        ;;
esac

# Wysłanie powiadomienia push
curl -s \
    -H "Title: ${SUBJECT}" \
    -H "Priority: ${PRIORITY}" \
    -H "Tags: ${TAGS}" \
    -d "${MESSAGE}" \
    "https://ntfy.sh/${NTFY_TOPIC}"

exit 0</code></pre>



<p>Nadaj uprawnienia:</p>



<pre class="wp-block-code"><code>chmod +x /usr/lib/zabbix/alertscripts/ntfy.sh
chown zabbix:zabbix /usr/lib/zabbix/alertscripts/ntfy.sh</code></pre>



<p>Test (jako user zabbix):</p>



<pre class="wp-block-code"><code>sudo -u zabbix /usr/lib/zabbix/alertscripts/ntfy.sh "" "&#91;HIGH] Test alert" "Testowe powiadomienie z Zabbix"</code></pre>



<h3 class="wp-block-heading">Krok 2: Media Type w Zabbix</h3>



<p><strong>Alerts → Media types → Create media type</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parametr</th><th>Wartość</th></tr></thead><tbody><tr><td>Name</td><td><code>ntfy</code></td></tr><tr><td>Type</td><td><code>Script</code></td></tr><tr><td>Script name</td><td><code>ntfy.sh</code></td></tr><tr><td>Script parameters</td><td><code>{ALERT.SENDTO}</code></td></tr><tr><td></td><td><code>{ALERT.SUBJECT}</code></td></tr><tr><td></td><td><code>{ALERT.MESSAGE}</code></td></tr></tbody></table></figure>



<h3 class="wp-block-heading">Krok 3: Trigger Action</h3>



<p><strong>Alerts → Actions → Trigger actions → Create action</strong></p>



<p><strong>Zakładka Action:</strong></p>



<ul class="wp-block-list">
<li>Name: <code>Powiadomienia push ntfy</code></li>



<li>Conditions: <code>Trigger severity >= Warning</code></li>
</ul>



<p><strong>Zakładka Operations:</strong></p>



<p>Default subject:</p>



<pre class="wp-block-code"><code>&#91;{TRIGGER.SEVERITY}] {HOST.NAME}: {TRIGGER.NAME}</code></pre>



<p>Default message:</p>



<pre class="wp-block-code"><code>Host: {HOST.NAME}
Problem: {TRIGGER.NAME}
Severity: {TRIGGER.SEVERITY}
Czas: {EVENT.DATE} {EVENT.TIME}</code></pre>



<p>W sekcji Operations → Add:</p>



<ul class="wp-block-list">
<li>Send to users: wybierz użytkowników</li>



<li>Send only to: <code>ntfy</code></li>
</ul>



<p><strong>Zakładka Recovery operations</strong> – analogicznie dla powiadomień o rozwiązaniu problemu.</p>



<h3 class="wp-block-heading">Krok 4: Media dla użytkownika</h3>



<p><strong>Users → [Twój user] → Media → Add</strong></p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Pole</th><th>Wartość</th></tr></thead><tbody><tr><td>Type</td><td><code>ntfy</code></td></tr><tr><td>Send to</td><td><code>default</code></td></tr><tr><td>Enabled</td><td>✓</td></tr></tbody></table></figure>



<p><strong>Gotowe!</strong> Zabbix wykrywa problem → <strong>push notification leci na telefon</strong>.</p>



<h2 class="wp-block-heading">Powiadomienia push w skryptach Bash</h2>



<p>ntfy idealnie nadaje się do <strong>alertów ze skryptów</strong> – backup, monitoring dysku, cronjob, deployment.</p>



<h3 class="wp-block-heading">Alert po zakończeniu backupu</h3>



<pre class="wp-block-code"><code>#!/bin/bash

NTFY_TOPIC="backup-serwer-abc123"

notify() {
    curl -s \
        -H "Title: $1" \
        -H "Priority: $2" \
        -H "Tags: $3" \
        -d "$4" \
        "https://ntfy.sh/${NTFY_TOPIC}"
}

notify "Backup started" "low" "arrow_forward" "Rozpoczynam backup na $(hostname)"

if tar -czf /backup/data-$(date +%Y%m%d).tar.gz /data 2&gt;/tmp/backup.err; then
    SIZE=$(ls -lh /backup/data-$(date +%Y%m%d).tar.gz | awk '{print $5}')
    notify "&#x2705; Backup OK" "default" "white_check_mark" "Rozmiar: ${SIZE}"
else
    notify "&#x274c; Backup FAILED" "urgent" "x" "Błąd: $(cat /tmp/backup.err)"
    exit 1
fi</code></pre>



<h3 class="wp-block-heading">Monitoring miejsca na dysku</h3>



<p><strong>Alert gdy dysk się zapełnia</strong> – klasyczny przypadek użycia dla administratora VPS:</p>



<pre class="wp-block-code"><code>#!/bin/bash
# Cron: */30 * * * * /usr/local/bin/disk-check.sh

NTFY_TOPIC="monitoring-xyz789"
THRESHOLD=85

df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{print $5 " " $6}' | while read output; do
    usage=$(echo $output | awk '{print $1}' | sed 's/%//')
    partition=$(echo $output | awk '{print $2}')

    if &#91; $usage -ge $THRESHOLD ]; then
        curl -s \
            -H "Title: &#x26a0; Brak miejsca na dysku" \
            -H "Priority: high" \
            -H "Tags: warning,disk" \
            -d "Partycja $partition zapełniona w ${usage}% na $(hostname)" \
            "https://ntfy.sh/${NTFY_TOPIC}"
    fi
done</code></pre>



<h3 class="wp-block-heading">Alert o logowaniu SSH</h3>



<p><strong>Powiadomienie push gdy ktoś loguje się na serwer</strong> – przydatne do monitorowania bezpieczeństwa:</p>



<p>Utwórz <code>/usr/local/bin/ssh-notify.sh</code>:</p>



<pre class="wp-block-code"><code>#!/bin/bash

&#91; "$PAM_TYPE" != "open_session" ] &amp;&amp; exit 0

curl -s \
    -H "Title: &#x1f510; SSH: ${PAM_USER}@$(hostname)" \
    -H "Priority: high" \
    -H "Tags: lock,ssh" \
    -d "User: ${PAM_USER}
Z adresu: ${PAM_RHOST}
Czas: $(date '+%Y-%m-%d %H:%M:%S')" \
    "https://ntfy.sh/ssh-TWOJ-TOPIC"

exit 0</code></pre>



<pre class="wp-block-code"><code>chmod +x /usr/local/bin/ssh-notify.sh</code></pre>



<p>Dodaj na końcu <code>/etc/pam.d/sshd</code>:</p>



<pre class="wp-block-code"><code>session optional pam_exec.so /usr/local/bin/ssh-notify.sh</code></pre>



<h3 class="wp-block-heading">Uniwersalna funkcja do skryptów</h3>



<p>Dodaj do <code>~/.bashrc</code> lub <code>/etc/profile.d/ntfy.sh</code>:</p>



<pre class="wp-block-code"><code>export NTFY_TOPIC="moj-serwer-default"

ntfy() {
    local msg="$1"
    local title="${2:-Alert}"
    local priority="${3:-default}"

    curl -s \
        -H "Title: ${title}" \
        -H "Priority: ${priority}" \
        -d "${msg}" \
        "https://ntfy.sh/${NTFY_TOPIC}"
}

ntfy-ok()    { ntfy "$1" "&#x2705; ${2:-OK}" "default"; }
ntfy-warn()  { ntfy "$1" "&#x26a0; ${2:-Warning}" "high"; }
ntfy-error() { ntfy "$1" "&#x274c; ${2:-Error}" "urgent"; }</code></pre>



<p>Użycie:</p>



<pre class="wp-block-code"><code>ntfy "Zadanie zakończone" "Mój skrypt"
ntfy-ok "Deployment finished"
ntfy-error "Baza danych nie odpowiada" "DB Alert"</code></pre>



<h2 class="wp-block-heading">Priorytety powiadomień</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Priorytet</th><th>Header</th><th>Efekt na telefonie</th></tr></thead><tbody><tr><td>Minimalny</td><td><code>min</code></td><td>Ciche, bez wibracji</td></tr><tr><td>Niski</td><td><code>low</code></td><td>Bez dźwięku</td></tr><tr><td>Normalny</td><td><code>default</code></td><td>Standardowe powiadomienie</td></tr><tr><td>Wysoki</td><td><code>high</code></td><td>Dźwięk + wysoki priorytet</td></tr><tr><td>Pilny</td><td><code>urgent</code></td><td><strong>Przebija tryb &#8222;nie przeszkadzać&#8221;</strong></td></tr></tbody></table></figure>



<p>Dla alertów Zabbix z severity Disaster używaj <code>urgent</code> – telefon zadzwoni nawet w nocy.</p>



<h2 class="wp-block-heading">Tagi i emoji</h2>



<p>Tagi zamieniają się na emoji w powiadomieniu:</p>



<pre class="wp-block-code"><code>curl -H "Tags: warning,server,fire" -d "CPU 98%!" ntfy.sh/moj-topic</code></pre>



<p>Przydatne tagi: <code>warning</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>white_check_mark</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>x</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>rotating_light</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a8.png" alt="🚨" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>fire</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>computer</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4bb.png" alt="💻" class="wp-smiley" style="height: 1em; max-height: 1em;" />, <code>lock</code> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Akcja po kliknięciu</h2>



<p>Link otwierany po tapnięciu w powiadomienie:</p>



<pre class="wp-block-code"><code>curl \
    -H "Click: https://zabbix.firma.pl/tr_events.php?eventid=${EVENT_ID}" \
    -H "Title: Problem na serwerze" \
    -d "Kliknij aby otworzyć w Zabbix" \
    ntfy.sh/zabbix-alerts</code></pre>



<h2 class="wp-block-heading">Limity publicznego serwera ntfy.sh</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parametr</th><th>Limit</th></tr></thead><tbody><tr><td>Wiadomości dziennie</td><td>250 per IP</td></tr><tr><td>Rozmiar załącznika</td><td>15 MB</td></tr><tr><td>Retencja</td><td>12 godzin</td></tr></tbody></table></figure>



<p>Dla typowego <strong>monitoringu serwera VPS</strong> to więcej niż wystarczy.</p>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>ntfy.sh to najprostszy sposób na <strong>powiadomienia push z serwera Linux na telefon</strong>:</p>



<ul class="wp-block-list">
<li><strong>Zero konfiguracji</strong> – tylko curl</li>



<li><strong>Natychmiastowe alerty</strong> – push w sekundę</li>



<li><strong>Integracja z Zabbix</strong> – 10 minut i działa</li>



<li><strong>Działa w skryptach bash</strong> – jedna linijka kodu</li>



<li><strong>Darmowy</strong> – bez rejestracji, bez limitu który boli</li>



<li>W dokumentacji znajdziecie wszysto. jak tego użyć <strong>od Basha aż do Powershell</strong></li>
</ul>



<p>Koniec sprawdzania maili. Ustaw ntfy, telefon Cię powiadomi.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><strong>Linki:</strong></p>



<ul class="wp-block-list">
<li>Strona: <a href="https://ntfy.sh">ntfy.sh</a></li>



<li>Dokumentacja: <a href="https://docs.ntfy.sh">docs.ntfy.sh</a></li>



<li>GitHub: <a href="https://github.com/binwiederhier/ntfy">github.com/binwiederhier/ntfy</a></li>
</ul>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/">ntfy – Darmowe powiadomienia push z serwera na telefon</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/ntfy-darmowe-powiadomienia-push-z-serwera-na-telefon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dlaczego tmux i skróty tmux to Game Changer dla Agentów AI</title>
		<link>https://zitwziete.org/tmux/</link>
					<comments>https://zitwziete.org/tmux/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Sun, 18 Jan 2026 17:13:39 +0000</pubDate>
				<category><![CDATA[AI Howto]]></category>
		<category><![CDATA[ai]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=984</guid>

					<description><![CDATA[<p>Kodujesz, czując flow i wspierając się modelami jak Claude czy Gemini – pewnie znasz ten ból. Odpalasz trzeciego agenta AI,   a Twój VS Code zaczyna działać jak pokaz slajdów. Wentylatory w laptopie chcą odlecieć, a Ty tracisz rytm.... czas na TMUX</p>
<p>Artykuł <a href="https://zitwziete.org/tmux/">Dlaczego tmux i skróty tmux to Game Changer dla Agentów AI</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Jeśli siedzisz w <strong>Vibe Coding</strong> – czyli kodujesz, czując flow i wspierając się modelami jak <strong>Claude</strong> czy <strong>Gemini</strong> – pewnie znasz ten ból. Odpalasz trzeciego agenta AI,   a Twój <strong>VS Code</strong> zaczyna działać jak pokaz slajdów. Wentylatory w laptopie chcą odlecieć, a Ty tracisz rytm.</p>



<p>Dziś wytłumaczę Ci, dlaczego graficzne edytory zabijają wydajność przy pracy z AI i dlaczego&nbsp;<strong>tmux</strong>&nbsp;w czystym terminalu to absolutny &#8222;must-have&#8221;. Poznasz też najważniejsze&nbsp;<strong>skróty tmux</strong>, które zmienią Twoją pracę.</p>



<h2 class="wp-block-heading">Dlaczego Twój VS Code &#8222;zamula&#8221;? (Proste wyjaśnienie techniczne)</h2>



<p>Zacznijmy od fundamentów. Dlaczego Twój komputer dławi się przy VS Code, a w terminalu &#8222;lata&#8221;?</p>



<p>Sekret tkwi w budowie programu.&nbsp;<strong>VS Code</strong>&nbsp;jest zbudowany na technologii&nbsp;<strong>Electron</strong>. Mówiąc najprościej: każde okno edytora to w praktyce&#8230;&nbsp;<strong>osobna, ukryta przeglądarka internetowa (Chrome)</strong>.</p>



<p>Gdy uruchamiasz w nim agenty AI:</p>



<ol start="1" class="wp-block-list">
<li><strong>Marnujesz zasoby:</strong> Komputer musi &#8222;rysować&#8221; każdą literkę logów jako element graficzny strony www. To pożera gigantyczne ilości RAM-u.</li>



<li><strong>Ryzykujesz awarię:</strong> Procesy są zależne od interfejsu graficznego. Jeśli okno się &#8222;zlaguje&#8221;, Twoje połączenie z API OpenAI czy Anthropic może zostać zerwane.</li>
</ol>



<p><strong>Czysty terminal + tmux</strong>&nbsp;działa inaczej. Tu nie ma renderowania grafiki. Jest czysty tekst wysyłany bezpośrednio do jądra systemu.</p>



<ul class="wp-block-list">
<li><strong>Efekt?</strong> Zużycie pamięci spada drastycznie.</li>



<li><strong>Procesor?</strong> Odpoczywa, zajmując się tylko logiką AI, a nie rysowaniem ładnych ramek.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Tmux – Co to jest i dlaczego ratuje życie?</h2>



<p><strong>Tmux</strong>&nbsp;(Terminal Multiplexer) to narzędzie, które zmienia jedno okno konsoli w wielozadaniowe centrum dowodzenia. Pozwala podzielić ekran na wiele paneli, zupełnie jakbyś miał kilka monitorów w jednym oknie.</p>



<p>Ale tmux ma jedną supermoc, której nie ma żaden VS Code:&nbsp;<strong>Nieśmiertelność Sesji</strong>.</p>



<h3 class="wp-block-heading">Magia &#8222;Detach&#8221; i &#8222;Attach&#8221; – Efekt Terminatora</h3>



<p>To najważniejszy powód, dla którego warto porzucić terminal w edytorze. W VS Code, gdy zamkniesz okno – zabijasz wszystkie procesy.</p>



<p>W tmuxie wygląda to tak:</p>



<ol start="1" class="wp-block-list">
<li>Uruchamiasz 3 agenty AI, które &#8222;mielą&#8221; dane.</li>



<li>Wciskasz skrót <strong>Detach</strong> (odłączenie).</li>



<li><strong>Zamykasz całkowicie okno terminala.</strong> Możesz nawet wylogować się z systemu.</li>



<li>Idziesz na kawę, wracasz za 4 godziny.</li>



<li>Otwierasz terminal, wpisujesz jedno z <strong>tmux polecenia</strong> i&#8230; <strong>wszystko tam jest</strong>.</li>
</ol>



<p>Procesy nigdy nie przestały działać. Kursor mruga dokładnie w tym miejscu, gdzie go zostawiłeś. To idealne rozwiązanie, by zostawić agenty pracujące w tle, nie obciążając pulpitu otwartymi oknami.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Niezbędnik: Skróty tmux dla Vibe Codingu</h2>



<p>Nie musisz być hakerem z filmu, żeby tego używać. Wystarczy Ci dosłownie kilka kombinacji. W tmuxie kluczem jest tzw.&nbsp;<strong>Prefix</strong>. Domyślnie to&nbsp;<code>Ctrl</code>&nbsp;+&nbsp;<code>b</code>. Najpierw wciskasz to, puszczasz, a potem odpowiednią literę.</p>



<p>Oto najważniejsze&nbsp;<strong>skróty tmux</strong>, które musisz znać:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Akcja</td><td>Skrót (po Ctrl+b)</td><td>Zastosowanie przy AI</td></tr></thead><tbody><tr><td><strong>Podział Pionowy</strong></td><td><code>%</code>&nbsp;(Shift + 5)</td><td>Kod po lewej, logi agenta po prawej.</td></tr><tr><td><strong>Podział Poziomy</strong></td><td><code>"</code>&nbsp;(cudzysłów)</td><td>Świetne, by na dole ekranu mieć podgląd błędów.</td></tr><tr><td><strong>Zmiana Panela</strong></td><td><code>Strzałki</code></td><td>Szybki skok między procesami bez myszki.</td></tr><tr><td><strong>Nowe Okno</strong></td><td><code>c</code></td><td>Czysta karta na nowy eksperyment.</td></tr><tr><td><strong>Odłączenie (Detach)</strong></td><td><code>d</code></td><td>Zostawiasz agenty w tle i bezpiecznie wychodzisz.</td></tr></tbody></table></figure>



<p>Dla osoby nietechnicznej kluczowe jest zrozumienie hierarchii w tmuxie, bo to ona miesza w głowie na początku. Musimy to wytłumaczyć obrazowo:</p>



<ol start="1" class="wp-block-list">
<li><strong>Sesja (Session):</strong> To Twój cały wirtualny komputer.</li>



<li><strong>Okno (Window):</strong> To jak <strong>karta w przeglądarce</strong>. Masz jedną na ekranie, reszta jest ukryta.</li>



<li><strong>Panel (Pane):</strong> To <strong>podział ekranu</strong>. W jednym oknie (karcie) możesz mieć np. 4 panele.</li>
</ol>



<p>Oto rozszerzona sekcja do artykułu, nasycona słowami kluczowymi pod SEO (<code>skróty tmux</code>,&nbsp;<code>okna tmux</code>,&nbsp;<code>panele tmux</code>).</p>



<h1 class="wp-block-heading">Panele, Okna i Zarządzanie Chaosem</h1>



<p>ZIT radzi: Nie ucz się tego na pamięć. Wydrukuj to sobie albo wrzuć do zakładek. W&nbsp;<code>tmux</code>&nbsp;wszystko zaczyna się od&nbsp;<strong>Prefixu</strong>&nbsp;(domyślnie&nbsp;<code>Ctrl</code>&nbsp;+&nbsp;<code>b</code>).&nbsp;<strong>Najpierw wciskasz Prefix, puszczasz go, a potem wciskasz skrót.</strong></p>



<h2 class="wp-block-heading">1. Panele (Panes) – Twoja przestrzeń robocza</h2>



<p>To tutaj dzieje się magia Vibe Codingu. Dzielisz ekran, żeby widzieć kod i logi agenta AI jednocześnie.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Skrót (po Ctrl+b)</td><td>Co to robi?</td><td>Przykład użycia przy AI</td></tr></thead><tbody><tr><td><strong><code>%</code></strong>&nbsp;(Shift + 5)</td><td><strong>Podział pionowy</strong>(lewo/prawo)</td><td>Po lewej kodujesz, po prawej leci agent.</td></tr><tr><td><strong><code>"</code></strong>&nbsp;(cudzysłów)</td><td><strong>Podział poziomy</strong>(góra/dół)</td><td>Idealne, żeby na dole puścić mały podgląd zużycia RAM-u.</td></tr><tr><td><strong><code>z</code></strong>&nbsp;(Zoom)</td><td><strong>Powiększ panel na cały ekran</strong></td><td>Masz błąd na 100 linijek? Wciskasz&nbsp;<code>z</code>, czytasz, wciskasz znowu&nbsp;<code>z</code>&nbsp;i wracasz do układu.</td></tr><tr><td><strong><code>x</code></strong></td><td><strong>Zamknij panel</strong></td><td>Zabija panel (bezpieczniejsze niż wpisywanie&nbsp;<code>exit</code>).</td></tr><tr><td><strong><code>Strzałki</code></strong></td><td><strong>Nawigacja</strong></td><td>Przeskakujesz między panelami góra/dół/lewo/prawo.</td></tr><tr><td><strong><code>Space</code></strong>&nbsp;(Spacja)</td><td><strong>Zmiana układu</strong></td><td>Automatycznie zmienia układ paneli (np. z pionowego na kafelki).</td></tr><tr><td><strong><code>{</code></strong>&nbsp;lub&nbsp;<strong><code>}</code></strong></td><td><strong>Przesuń panel</strong></td><td>Zamienia panele miejscami (gdy wolisz mieć logi jednak po lewej).</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">2. Okna (Windows) – Jak karty w przeglądarce</h2>



<p>Gdy na jednym ekranie masz już za dużo paneli (np. backend, frontend, baza danych), czas otworzyć nowe &#8222;czyste&#8221; okno.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Skrót (po Ctrl+b)</td><td>Co to robi?</td><td>Przykład użycia przy AI</td></tr></thead><tbody><tr><td><strong><code>c</code></strong></td><td><strong>Create (Utwórz nowe okno)</strong></td><td>Otwiera czystą kartę pod nowy projekt lub proces.</td></tr><tr><td><strong><code>,</code></strong>&nbsp;(przecinek)</td><td><strong>Zmień nazwę okna</strong></td><td><strong>Kluczowe!</strong>&nbsp;Zmień &#8222;bash&#8221; na &#8222;Backend&#8221; albo &#8222;Claude&#8221;. Utrzymasz porządek.</td></tr><tr><td><strong><code>w</code></strong></td><td><strong>Lista okien (Podgląd)</strong></td><td>Wyświetla interaktywną listę wszystkich okien i sesji. Wybierasz strzałkami.</td></tr><tr><td><strong><code>n</code></strong></td><td><strong>Next (Następne)</strong></td><td>Przełącza na kolejne okno.</td></tr><tr><td><strong><code>p</code></strong></td><td><strong>Previous (Poprzednie)</strong></td><td>Wraca do poprzedniego okna.</td></tr><tr><td><strong><code>&amp;</code></strong></td><td><strong>Zamknij okno</strong></td><td>Zabija całe okno ze wszystkimi panelami w środku.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">3. Sesje i Tryb &#8222;Boga&#8221; (Zarządzanie)</h2>



<p>To są polecenia, które decydują o życiu i śmierci Twoich procesów.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><td>Skrót (po Ctrl+b)</td><td>Co to robi?</td><td>Dlaczego to ważne?</td></tr></thead><tbody><tr><td><strong><code>d</code></strong></td><td><strong>Detach (Odłącz)</strong></td><td>Wychodzisz z Matrixa, ale Matrix działa dalej. Zostawiasz agenty w tle.</td></tr><tr><td><strong><code>:</code></strong>&nbsp;(dwukropek)</td><td><strong>Wiersz poleceń</strong></td><td>Otwiera pasek na dole, gdzie możesz wpisywać komendy tmuxa.</td></tr><tr><td><strong><code>?</code></strong></td><td><strong>Pomoc</strong></td><td>Wyświetla listę wszystkich dostępnych skrótów (gdy zapomnisz).</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Podstawowe tmux polecenia</h2>



<p>Skróty działają wewnątrz, ale czasem musisz zarządzać sesjami &#8222;z zewnątrz&#8221;. Oto lista komend, które wpisujesz w zwykłym terminalu:</p>



<ul class="wp-block-list">
<li><strong><code>tmux</code></strong> – Uruchamia nową sesję. Twój start.</li>



<li><strong><code>tmux ls</code></strong> – Wyświetla listę wszystkich sesji działających w tle. Sprawdzasz, czy Twoje agenty nadal żyją.</li>



<li><strong><code>tmux attach</code></strong> – <strong>Absolutnie najważniejsze polecenie.</strong> Pozwala wrócić do ostatniej sesji (np. po tym, jak zamknąłeś terminal). To Twój powrót do pracy.</li>



<li><strong><code>tmux kill-server</code></strong> – Ostateczne rozwiązanie. Zamyka wszystko i czyści pamięć.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Podsumowanie</h2>



<p>Jeśli poważnie myślisz o pracy z AI i chcesz utrzymać wysokie tempo (Vibe Coding), przestań polegać na ciężkich edytorach do uruchamiania procesów.</p>



<p><strong>VS Code służy do pisania kodu. Tmux służy do jego życia.</strong></p>



<p>To rozdzielenie sprawi, że Twój sprzęt odetchnie, a Ty zyskasz kontrolę nad chaosem, jaki generują autonomiczne agenty. Mniej lagów, więcej &#8222;vibe&#8217;u&#8221;.</p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/tmux/">Dlaczego tmux i skróty tmux to Game Changer dla Agentów AI</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/tmux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365</title>
		<link>https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/</link>
					<comments>https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/#respond</comments>
		
		<dc:creator><![CDATA[ZITWziete]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 21:25:17 +0000</pubDate>
				<category><![CDATA[Fixit]]></category>
		<category><![CDATA[Komputery]]></category>
		<category><![CDATA[moje 0.02 pln]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[porady]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[windows11]]></category>
		<guid isPermaLink="false">https://zitwziete.org/?p=978</guid>

					<description><![CDATA[<p>Rok 2026,  chmury, AI, Azure ... i Microsoft który nie potrafi zrobić porządku z outlookiem. Problem który thunderbirdy rozwiązały lata teamu dalej trawi outlooka ... problem rozmiaru pliku z danymi ... </p>
<p>Artykuł <a href="https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/">Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Rok 2026,  chmury, AI, Azure &#8230; i Microsoft który nie potrafi zrobić porządku z outlookiem. Problem który thunderbirdy rozwiązały lata teamu dalej trawi outlooka &#8230; problem rozmiaru pliku z danymi &#8230; </p>



<p>Dostajemy komunikat iż &#8222;Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365&#8221;. i nie można nic zrobić, nic nie da sie usunąć ani nic, czyli kolejny odcinek serialu pod nazwą outlook problem . </p>



<p>Teraz tak : </p>



<p><strong>Plik PST (Personal Storage Table)</strong>&nbsp;to lokalny plik przechowujacy kopie wiadomosci e-mail, kalendarza, kontaktow i innych elementow Outlooka. Uzywany jest glownie w konfiguracjach POP3 oraz do archiwizacji.</p>



<p><strong>Plik OST (Offline Storage Table)</strong>&nbsp;to lokalny plik cache dla kont Exchange i Microsoft 365. Pozwala na prace offline z pelnym dostepem do poczty, ktora synchronizuje sie z serwerem po polaczeniu z siecia.</p>



<p>No i w nowym outlooku mają one ograniczenie do 50 GB . Tak &#8230;50GB nie 500 tylko 50 . Co nie jest mega limitem dla aktywnie działającego użytkownika&#8230; </p>



<p>Mozna różne rzeczy tutaj robić ( usuną plik pobrać, pobrać na nowo rzeczy z imap, można zkompaktować folder) ale problem wróci&#8230;</p>



<p>Najlepszym rozwiązaniem na szybko jest zmiana w rejestrze która zmienia ten limit .</p>



<p>Uruchamiamy regedit </p>



<p>Wchodzimy na <strong>HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\PST</strong></p>



<p>I dodajemy 2 wartości DWORD : </p>



<ul class="wp-block-list">
<li>MaxLargeFileSize o wartosci 4294967295</li>



<li>WarnLargeFileSize o wartosci 4090445042</li>
</ul>



<p></p>



<p></p>



<p></p>



<p>&#8230;i w teorii mamy brz ograniczen (coś pod 4 PB) .</p>



<p>Należy pamiętać o tym że im większy plik tym większa szansa na przypadkową awarie pliku . </p>



<p>Zatem <strong>koniecznie po uruchomieniu</strong>, wyczyśmy śmieci , spamy  i skonfigurujmy konecznie archiwizacje. </p>



<p></p>
<p>Artykuł <a href="https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/">Magazyn wiadomości osiągnął maksymalny rozmiar Outlook 365</a> pochodzi z serwisu <a href="https://zitwziete.org">Z IT Wzięte</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zitwziete.org/magazyn-wiadomosci-osiagnal-maksymalny-rozmiar-outlook-365/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
