Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ahoj, napadá vás, jak přepsat tohle pravidlo pro ip6tables?
iptables -t nat -A OUTPUT --destination localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A OUTPUT --destination 10.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A PREROUTING --destination 10.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080
Cílem je přesměrování portů v rámci jednoho stroje (10.0.0.1) tak, aby služba mohla běžet na neprivilegovaném portu 8080 a klienti se mohli zvenku připojovat na standardní port 80.
Řešení dotazu:
Nebo tomu procesu nastavit capability CAP_NET_BIND_SERVICE, potom se bude moci povesit na privilegovany port i bez roota. Viz. man 7 capabilities
Zkoušel jsem tohle (jako root):
execcap cap_net_bind_service=eip /sbin/sucap franta franta /bin/nc6 -l -p80 Caps: =ep cap_net_bind_service+i Caps: = cap_net_bind_service+i [debug] uid:1000, real uid:1000 sucaps: capsetp: Operation not permitted sucap: child did not exit cleanly.
Což mi nefungovalo. A taky nevím, jak to bude, když budu tímhle způsobem potřebovat spustit bashový skript – tam bude potřeba, aby se práva dědila přes několik úrovní až k procesu, který má naslouchat na daném portu.
Na to by se mohlo víc hodit použití authbindu, ale ten zase neumí IPv6. Stáhnul jsem si jeho zdrojáky a pokoušel jsem se upravit libauthbind.c
, ale moc daleko jsem se nedostal. Buď se mi povedl segfault nebo jsem dostal:
$ authbind --deep nc6 -l -p80 nc6: bind to source :: 80 failed: No child processes
BTW: není tu nějaký znuděný céčkař, který nemá co na práci?
Já bych se vydal cestou kvalifikací – zjistit, proč to nefunguje.
Díval jsem se do odkazované dynamické knihovny a řádná úprava není záležitost pár řádků (řeší se tam přístupová pravidla na základě IP aritmetiky).
Zatím jsem přišel na náhradní řešení pomocí xinetd:
# default: on service http { flags = REUSE socket_type = stream wait = no user = root redirect = 127.0.0.1 8080 log_on_failure += USERID } # default: on service https { flags = REUSE socket_type = stream wait = no user = root redirect = 127.0.0.1 8181 log_on_failure += USERID }
ale to se mi nelíbí, protože webový server neví, jaká skutečná IP adresa se k němu připojuje (vidí jen 127.0.0.1).
Našel jsem řešení pomocí authbind, které by údajně mělo fungovat: How-to set up Glassfish 2 on Debian or Ubuntu, ale nefunguje. Viz Glassfish v3, port 80, & Authbind. Prý za to může Java, ale podle mého pozorování je to spíš chyba authbindu a jeho nespolupráce s IPv6.
authbind nc6 -l -p23 nc6: bind to source :: 23 failed: Permission denied
Ani netcatu se totiž nedaří naslouchat na privilegovaném portu, pokud se používá IPv6 (po zadání přízaku výše naslouchá jen na IPv4) – netcat umí naslouchat na privilegovaném portu na IPv4, nebo na neprivilegovaném na IPv4 i IPv6, ale kombinace privilegovaný port + IPv6 se zdá být smrtící.
ip6tables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --on-port 8080zdroj
Tiskni
Sdílej: