Apple představil nový MacBook Pro s čipy M4, M4 Pro a M4 Max.
Na GOG.com běží Halloween Sale 2024. Při té příležitosti lze získat zdarma počítačovou hru Return of the Phantom.
Společnost OpenAI spustila internetový vyhledávač ChatGPT search.
Konference OpenAlt 2024 proběhne již tento víkend 2. a 3. listopadu v prostorách FIT VUT v Brně. Začíná ale už v pátek na warm-up party ve Studentském klubu u Kachničky v 17:00. Pokud jste ještě areál FITu nenavštívili, k dispozici jsou pokyny k orientaci. Na programu je 54 přednášek a workshopů. Témata jsou od silně technických témat jako je třeba GCC nebo PostgreSQL po méně technické témata jako eGovernment, nebo třeba detailní analýzu … více »
Byla vydána nová verze 6.9 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 14.0.1. Tor client na verzi 0.4.8.13. Thunderbird na verzi 115.16.0.
Vývojáři free a open source synchronizačního nástroje (a p2p náhrady Dropboxu) Syncthing oznámili, že z důvodu odporu ze strany Google Play ukončují podporu OS Android. Bohužel v rámci toho zmizí i vydání Syncthing na F-Droid, který má slabší uživatelskou základnu. Syncthing je na Androidu implementován formou wrapper aplikace, která spustí Syncthing démon, vyžádá potřebná oprávnění a zpřístupní webové rozhraní démona. Ve srovnání se
… více »V červnu 2022 bylo oznámeno, že z K-9 Mailu se stane Thunderbird pro Android. Trvalo to poněkud déle, než vývojáři předpokládali, ale včera byl první stabilní Thunderbird pro Android 8.0 vydán.
Projekt microDMG Racer na Kickstarteru nevyšel, tak se autor rozhodl uvolnit na ESP32 postavené autíčko i ovladač jako open source.
Byl vydán TrueNAS SCALE 24.10 „Electric Eel“. Přehled novinek této open source storage platformy postavené na Debianu v poznámkách k vydání.
Byla vydána nová verze 24.10.29 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Nově s podporou AI (whisper.cpp) pro generování titulků. Nejnovější Shotcut je již vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
V minulém článku (HOWTO : Jak funguje sdílení ve windows) jsme si ukázali základy sdílení ve windows a nějakou lehkou omáčku kolem. Nakousnuli jsme nějaké sdílení C$ a zmínili jsme se o něčem, čemu se říká WMI. Pojďme tedy do toho.
Windows automaticky sdílí jednotky + nějaké drobnosti okolo. Vše obhajuje tím, že se to občas použije pro systémové záležitosti (tím se nebudeme zatěžovat). Tyto sdílení nejsou běžně přístupné, nedostane se na ně z venčí ani administrátor se správným heslem. Pokud se ovšem počítač připojí do domény (active directory), tak se nastaví různé politiky a C$ funguje pro přístup z venčí pro administrátora domény. Na toto se spoléhají win správci, takže takové věci neřeší a ani netuší, jak fungují. Kdo nemá doménu a potřebuje C$ (ať už kvůli jednoduchému upravování souborů bez interakce s uživatelem, nebo kvůli jiným věcem) tak trochu narazí. S kolegou jsme před několika lety řešili rozcházení sdílení C$ a wmi celkem dlouho :-/.
Před chvílí jsme si řekli, že "C:\" aj. jednotky se sdílejí automaticky. Ovšem není to úplně zcela tak pravda. Toto chování je ovlivněno příslušnými hodnotami v registrech. Jedná se o tyto :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters DWORD : AutoShareServer = 1 DWORD : AutoShareWks = 1
Pokud jsou zmíněné hodnoty nastaveny na "1", tak se po restartu PC automaticky vytvoří sdílení pro jednotky, tzn. C$, D$ atd.(podle toho, kolik máme v PC jednotek) a ADMIN$ (používá se při vzdálené správě PC). Na sdílení IPC$ (Inter-Process Communication) nemá nic z toho vliv (toto sdílení nejde odstranit, je důležité pro komunikaci ..., co bych to rozebíral, viz : MCSE Guide to Microsoft Windows XP Professional ).
Abychom zfunkčnili přístup na C$ sdílenou složku, tak si musíme pohrát s firewallem a správným způsobem ověřování. Vše lze nakonec nastavit přes registry. Všechny zmíněné akce jsou kompatibilní s windows xp SP2 a SP3. Na novějších win jsem to zatím nezkoumal.
Na serverech toto funguje automaticky, není třeba nic nastavovat.
Již jsme se o tomto bavili v minulém díle. Jedná se o to, zda se mají všichni ověřovat jako guest (pak nefunguje přístup pomocí uživatele a hesla), nebo ověřovat uživatele jako sebe sami (funguje ověřování pomocí uživatele a hesla). Toto lze nastavit minimálně třemi způsoby. Z předchozího článku víme o možnosti nastavit toto pomocí mmc konzole "Místní zásady zabezpečení" :
Start -> Ovládací panely -> Nástroje pro správu -> Místní zásady zabezpečení -> Místní zásady -> Možnosti zabezpečení
Další možností je, vypnout zjednodušené sdílení souborů. Ano, tyto volby jsou spolu propojeny. Toto jsme si taktéž ukázali v minulém článku, viz :
Start -> Ovládací panely -> Možnosti složky -> Zobrazení ->Použít zjednodušené sdílení souborů (doporučeno)
A ve finále třetí možnost (mám nejraději), lze nastavit přes registry :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa DWORD : forceguest = 0
Povolíme vzdálené připojení na firewallu (* = pro všechny sítě, nebo si definujte, pro kterou síť / segment chcete sdílení zpřístupnit):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\RemoteAdminSettings DWORD : enabled = 1 String : RemoteAddresses = *
A teď jedna malá věcička. Sdílení souborů nyní funguje i bez nastavené výjimky na firewallu (myšleno to klikací rozhraní v ovládacích panelech). Jedinou možností, jak sdílení klikacím způsobem zakázat, je vypnout možnosti výjimek na firewallu, ale tím vypneme i ostatní výjimky, které bychom třeba chtěli ponechat. Z toho důvodu si asi ani nemá cenu říkat o povolení portů pro smb na firewallu, ale kdo chce, může si jen tak ze srandy nabušit do cmd lajny :
netsh firewall set service type = FILEANDPRINT mode = ENABLE
Většinou není ani potřeba restart pc. Měli byste mít přístup pomocí uživatele a hesla na sdílení :
\\192.168.1.1\C$popř. i na jiné disky. Jen ještě upozorním, že je potřeba, aby měl daný uživatel nastaveno heslo. Samozřejmě lze vše nastavit i tak, aby šlo lézt na sdílení s adminem, jenž nemá nastavené heslo, ale jaký blázen by to dělal? Takže ani se nebudu o této mini položce zmiňovat.
O tomto jsem se měl spíše zmínit v minulém dílu, ale člověk si hned nevzpomene na všechno, že? Nuže, nemám rád Šmouly a také nemám rád, když mi nějaký admin nasdílí složku "Nenažraný miňonky" pod názvem "Nenažraný miňonky" a uživatelem "Žluťásek" s heslem "Žluťásek123".
Chápu, že jsme ve 21. století a ty názvy už schroustnou ledajaké systémy, ale měli bychom dodržovat nějakou formu (alfanumeriku s maximálně pomlčkou, nebo podtržítkem bez mezer a diakritiky). Kdo by mi chtěl odporovat, ten si může třeba vyjet do ciziny a popovídat si o těchto věcech s nějakým místním it zvířátkem a názorně nám tak všem ukázat, jak funguje výměna souborů na lokální síti v mezinárodní úrovni (vážně jsem to tak napsal? :D ).
PS: S těma Šmoulama jsem kecal :).
Windows Management Instrumentation (WMI) je velmi zajímavé rozhraní. O WMI moc tzv. správců neví, ač WMI je stavební kámen všeho. Na něj jsou naroubovány různá grafická klikátka, vbs (Visual Basic Scripting) apod. je z velké části o wmi. Přes wmi by mělo jít nastavit úplně všechno, i to, co nejde nastavit přes klikátka, jen to umět . Co bych ostatně zbytečně plkal, když se můžeme juknout třeba sem : Služba WMI - přehled
Vzdálené připojení na wmi jsme si částečně zajistitli předchozími kroky, které byly nutné pro vzdálený přístup na C$. Ještě je potřeba trochu upravit práva na dcom. Ovšem toto není nutné zcela vždy. Po čisté instalaci windows xp by mělo vše fungovat bez úprav (vyzkoušeno na čisté instalaci winxp sp3). Bohužel, z 80%, možná z více, je toto nastavení poladěno buď OEM dodavateli, nebo různými programy apod.
Otevřeme si registry a provedeme následující (myslím, že je toto nejjednodušší způsob, než navigovat do x nabídek přes x nabídek a naklikávat to ručně):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole String : EnableDCOM = Y String : EnableRemoteConnect = Y DWORD : LegacyAuthenticationLevel = 1 DWORD : LegacyImpersonationLevel = 2
Práva dcom jdou nastavit i v grafickém klikátku :
start -> spustit -> dcomcnfg (možno najít i v ovládacích panelech -> nástroje pro správu -> Služba Component Services) -> Služba komponent -> Počítače -> Tento počítač -> Pravé tl. myši a vlastnosti -> Výchozí vlastnosti
Jdou nastavit i z příkazové řádky pomocí nástroje "dcomperm.exe", který je dostupný třeba zde Using Dcomperm to change Com+ permission, viz : DCOMCNFG programmatically manipulates DCOM server permissions, ale nezkoušel jsem.
Nyní by nám tedy měl fungovat přístup na wmi jak z lokálu, tak i ze vzdáleného PC. Pro slepé bušení příkazů nám slouží wmic konzole, takže spustíme : start -> spustit -> wmic
Příklady se volají buď přímo z wmic konzole (wmic:root\cli>), nebo z klasické cmd (C:\>).
Nyní si ukážeme nějaké drobnosti, jak si hrát v této konzoli. Začneme přihlášením na vzdálený počítač, kde máme vhodně nastavená dcom práva aj. věci :
C:\>wmic wmic:root\cli>/node:192.168.1.1 wmic:root\cli>/user:administratorZačneme vypsáním helpu :
wmic:root\cli>/?Vypíšeme si seznam běžících procesů (na stroji, ke kterému jsme se přihlásili) :
wmic:root\cli>process # popř. help: wmic:root\cli>process /?Zkusíme si vypnout nějakou službu, třeba firewall :
wmic:root\cli>service where name='SharedAccess' call StopServiceStroj můžeme restartovat nebo vypnout :
wmic:root\cli>OS WHERE Primary=TRUE CALL Reboot wmic:root\cli>OS WHERE Primary=TRUE CALL Shutdown # nebo z cmd (spustí se na lokálu, ne vzdáleném pc): C:\>wmic OS WHERE Primary=TRUE CALL Reboot C:\>wmic OS WHERE Primary=TRUE CALL ShutdownMůžeme ukončit nějaký běžící proces, což se mi u serveru hodilo třeba v případě, že se seknul jeden baťák a zablokovalo se přihlášení na desktop (rdesktop se vytimeoutoval, lokální přihlášení končilo na černé obrazovce)
wmic:root\cli>process where name='cmd.exe' call terminateKdyž můžeme proces ukončit, můžeme ho i spustit
wmic:root\cli>process call create "C:\program.exe"
Pokud toto uděláme, tak se na vzdáleném pc spustí opravdu jen proces, takže v případě, že chceme spustit nějakou aplikaci, která má grafické okno, tak takto neuspějeme. Proces aplikace bude běžet, ale bez okna. Toto se řeší tak, že se spustí na vzdáleném pc skript, který spustí danou aplikaci. K tomu se používá většinou nějaký vbs skript. Aspoň myslím, že to tak je. Kdyžtak mne někdo vyveďte z omylu.
wmic:root\cli>NICCONFIG WHERE Index=1 CALL EnableStatic ("192.168.0.1"),("255.255.255.0")
index je index síťového rozhraní, který je vybrán z příkazu NICCONFIG list
nicconfig je alias na "path win32_networkadapterconfiguration"
wmic:root\cli>path win32_networkadapterconfiguration where index=1 call enabledhcpA zpátky ručně nastavíme ip + masku + bránu (pomocí aliasu):
# nastavení ip adresy a masky : wmic:root\cli>NICCONFIG where Index=1 CALL EnableStatic ("192.168.0.2"),("255.255.255.0") # nastavení výchozí brány : wmic:root\cli>NICCONFIG where Index=1 CALL SetGateways 192.168.0.100 # nastavení dns : wmic:root\cli>NICCONFIG where Index=1 CALL SetDNSServerSearchOrder ("192.168.1.202","192.168.1.203") # ping, že vše funguje : wmic:root\cli>path win32_pingstatus where address="192.168.0.100"Nastavení vzdálené plochy (How to enable Remote Desktop programmatically)
C:\>wmic PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1Hraní si s daty (na lokálu)
C:\>WMIC /NAMESPACE:\\root\default PATH __Namespace CREATE Name=test C:\>WMIC /NAMESPACE:\\root\default PATH __Namespace WHERE Name="test" DELETE C:\>WMIC /NAMESPACE:\\root\subscription PATH __EventFilter WHERE __CLASS="__EventFilter" DELETEDrobné informace :
wmic:root\cli>path Win32_BIOS wmic:root\cli>path Win32_Printer wmic:root\cli>path Win32_localtimeA milion dalších věcí : Win32 Classes. Když k tomu přidáme powershell, tak to má trochu lepší formu : Chapter 18. WMI: Windows Management Instrumentation
Já vím, wmic není bash, není to ssh, je to spíš věcička pro skriptaře, programátory atd. a my jsme si ukázali takový to nic. Důležité ovšem je, že teď aspoň tušíme a známe nějaké možnosti navíc :).
Nějaké další příklady v cz možno vidět třeba zde : WMI Tahák, nebo zde : Examples of WMIC commands for Windows .NET SERVER Family
Postupy fungují na čisté instalace windows xp SP2/SP3. Kdo by měl problémy s právy pro přístup, tak může nahlédnout sem :
Connecting Through Windows Firewall
Access to WMI Namespaces
Securing a Remote WMI Connection
Nějaké věci nemusíme dělat složitě, když to jde jednoduše, třeba vzdálenou kontrolu procesů:
# seznam procesů : tasklist /S 192.168.1.1 /U administrator # killnutí procesu : taskkill /S 192.168.1.1 /U administrator /IM calc.exe # natvrdo sejmout (pomocí pid): taskkill /S 192.168.1.1 /U administrator /F /PID 1816
Konec konců, všichni zmíněné programy určitě znají, jak jinak zjistit (čistě v rámci win integrovaných prg), co běží bod daným svchost, než pomocí :
tasklist /svc
Tak, to je asi tak vše, co jsem chtěl říci, než uvolním zdrojáky k mému jednoduchému programu. Snad jsem to tedy nepsal zbytečně a někomu tyto věci pomohou. Příští a zároveň asi i poslední článek bude už jen o zmíněném programu v c++.
Zdar MaxTiskni Sdílej:
Přidal jsem do digestu.
Windows automaticky sdílí jednotky + nějaké drobnosti okolo.Tohle mají Win odnepaměti a považuju to za bezpečnostní díru jako mrakodrap. Když se tím umí prostřelit MS, prostřelí se tím každý, kdo bude mít dost velkou vůli. Gates s Ballmerem by za tohle měli být exemplárně pověšeni do průvanu (jestli je za co). Jinak dík za článek, člověk nikdy neví jaké znalosti se mu kdy budou hodit. A sem to určitě patří, interoperabilitu různých OS tady určitě řeší kdekdo.
Pokud je stanice v AD, tak se všechny politiky pro C$ nastaví a funguje to. Pokud stanice v AD není tak je to sázka do loterie.
Protože třeba všechny pc, co máme v síti, mají standardně povolené(je viděl v seznamu sdílených složek) sdílení C$ (ale samozřejmě zakázané - bez práv), ale třeba nedávno jsem zkoušel čistou instalaci winxp s integrovaným SP3 a ten ve výchozím nastavení C$ sdílení nemělo ani nastaveno (nebylo vůbec v seznamu sdílení vidět, sdílení nebylo vytvořeno,musely se povolit zmíněné položky v registrech, aby se aspoň vytvořilo samotné sdílení, poté už stačilo jen nastavit způsob ověřování a jelo to).
Vychází mi z toho jediný závěr, všechno záleží na hodně faktorech :
na úpravách od OEM dodavatelů instalace
na aktualizacích
na nainstalovaných programech atd.
V takové situaci pak člověk může narazit na problém, že vše má
nastaveno a stejně to nejde, proto uvádím kompletní seznam nastavení,
kde by všude mohlo dojít teoreticky k chybě a co všechno na toto
nastavení má vliv.
Takže tak :).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters klíče AutoShareServer nebo AutoShareWks změnit REG_DWORD na 0
Přitom ta firma měsíce kupovala druhý PC s normální OEM instalací CDoprava Přitom ta firma před měsícem kupovala druhý PC s normální OEM instalací CD
mam pocit ze na nekterych verzi widli nemusi byt PC v domene a stejne sem se ze site dostal na C$ pomoci samby ... a mnohdy i we vidlich pomoci totalcommanderu