Emulátory Box86 a Box64 umožňující spouštět linuxové aplikace pro x86 a x86_64 na jiných než x86 a x86_64 architekturách, například ARM a ARM64, byly vydány v nových verzích: Box86 0.3.8 a Box64 0.3.2. Ukázka možností na YouTube.
Byla vydána nová verze 6.1 neměnné (immutable) distribuce openSUSE Leap Micro určené pro běh kontejneru a virtuálních strojů. S vydáním verze 6.1 byla ukončena podpora verze 5.5.
Poslanci dnes ve třetím čtení schválili návrh zákona o digitálních financích. Cílem zákona je implementace předpisů Evropské unie v oblasti digitálních financí, konkrétně nařízení DORA (Digital Operational Resilience Act) o digitální provozní odolnosti finančního sektoru a nařízení MiCA (Markets in Crypto Assets) o trzích kryptoaktiv. Zákon nyní míří k projednání do Senátu ČR. U kryptoměn bude příjem do 100 tisíc Kč za zdaňovací období osvobozen od daně, podobně jako u cenných papírů, a to za podmínky jejich držení po dobu alespoň 3 let.
O víkendu (15:00 až 23:00) proběhne EmacsConf 2024, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji bude možné na stránkách konference. Záznamy budou k dispozici přímo z programu.
Mozilla má nové logo a vizuální identitu. Profesionální. Vytvořeno u Jones Knowles Ritchie (JKR). Na dalších 25 let.
Bylo rozhodnuto, že nejnovější Linux 6.12 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2026. LTS jader je aktuálně šest: 5.4, 5.10, 5.15, 6.1, 6.6 a 6.12.
Byla vydána nová stabilní verze 3.21.0, tj. první z nové řady 3.21, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu architektury Loongson LoongArch64.
Hodnota Bitcoinu, decentralizované kryptoměny překonala 100 000 dolarů (2 390 000 korun).
Hurl byl vydán ve verzi 6.0.0. Hurl je nástroj běžící v příkazovém řádku, který spouští HTTP požadavky definované v textovém souboru.
[warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error. [error] [client 78.102.107.216] Premature end of script headers: index.pl [notice] mod_fcgid: process /home/www/perl/index.pl(10633) exit(communication error), terminated by calling exit(), return code: 255Jakákoliv rada jak dosáhnout kýženého výsledku je velmi vítaná, děkuji za ně..
Řešení dotazu:
<VirtualHost *:80> ServerName perl.domain.tld DocumentRoot /home/www/domain.tld/perl/ SuexecUserGroup domain domain AddHandler cgi-script .pl SetHandler cgi-script Options +ExecCGI </VirtualHost>Ale běží to pod UID 33 (aspoň podle perlovský $< $>)
#!/usr/bin/perl -w print "Real UID".$<."\n"; print "Effective UID".$>."\n"; print "Real GID".$(."\n"; print "Effective GID".$)."\n";
[suphp] [search]
suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) ...Tak to máte prašť jak uhoď. Taky existuje něco jako suidperl. (Hledejte.) Bejt váma tak na ty virtualhosty spustím na každý zvlášť apache pod svým uživatelem.
/var/log/apache2/suexec.log
?
/var/www
(nevadí ale třeba, když je to symlink jinam)... ale vždy to zapíše chybu do logu a klientovi vrátí Internal server error.
Takhle to vypadá, že se suexec vůbec nektivuje. Pamatuji si, že ve starších verzích se musel ručně nastavit SUID bit na binárce suexecu, nebo ji dokonce někam přesunout, jinak to nefungovalo.
Nic ohledně suexec není ani v Apache error logu? Pokud je v konfiguraci ta volba SuexecUserGroup a nehlásí to chybu, je suexec modul určitě načtený, ale nefunguje.
whocares:~# apt-get install apache2-suexec-custom Reading package lists... Done Building dependency tree Reading state information... Done apache2-suexec-custom is already the newest version. whocares:~# a2enmod suexec Module suexec already enabled whocares:~# /etc/init.d/apache2 restart . whocares:~# ls -l /usr/lib/apache2/suexec -rwsr-xr-- 1 root www-data 15192 2009-11-14 22:09 /usr/lib/apache2/suexecJá právě už fakt nevím... Možná otázka, co by mělo být v /etc/apache2/suexec/*
apache2-suexec
. Ta -custom
verze se nejspíš musí nějak nastavit, a nějaká dokumentace k tomu zrovna moc není...
Provides the standard suexec helper program for mod_suexec. This version is compiled with document root /var/www and userdir suffix public_html. If you need different settings,
use the package apache2-suexec-custom.
<VirtualHost IP_ADDR:80>
ServerName domain.tld
ServerAlias *.domain.tld
ServerAlias jinadomena.tld
DocumentRoot /var/www/$USERNAME/domain.tld
<Directory /var/www/$USERNAME/domain.tld>
Options Indexes FollowSymLinks MultiViews ...
AllowOverride ...
Order allow,deny
allow from all
</Directory>
SuexecUserGroup $USERNAME skupina
...
- alternativně, pokud nebudete potřebovat aby na tu jednu složku směřovalo víc domén (nevyužijete ServerAlias jinadomena.tld
) to lze zjednodušit tak, že bude DocumentRoot /var/www/$USERNAME
a do jednotlivých složek se požadavky zařadí pomocí mod_rewrite pravidel
- pokud jde o nějaký "bežný" hosting, tak si připravte i řešení pro adresáře na subdomain.domain.tld
, nejflexibilnější řešení je opět pomocí mod_rewrite
apache2-suexec
, tj. bez potřeby jakékoliv konfigurace v /etc/apache2/suexec/...
Více domén (VirtualHost) pod jedním uživatelem rozhodně není problém (vyzkoušeno ).
For security and efficiency reasons, all suEXEC requests must remain within either a top-level document root for virtual host requests, or one top-level personal document root for userdir requests. For example, if you have four VirtualHosts configured, you would need to structure all of your VHosts' document roots off of one main Apache document hierarchy to take advantage of suEXEC for VirtualHosts. (Example forthcoming.)Z manpage
CONFIGURATION If suexec is called by a user with name ’username’, it will look into /etc/apache2/suexec/username for configuration. If the file does not exist, suexec will abort. By creating several config files, you can allow several different apache run users to use suexec. The first line in the file is used as the document root (/var/www in the standard suexec) and the second line in the file is used as the suffix that is appended to users’ home directories (public_html in standard suexec). If any of the lines is commented out (with #), suexec will refuse the corresponding type of request. It is recommended to comment out the userdir suffix if you don’t need it.Jdu se ještě podívat do některých věcí, jakým způsobem se to řeší u toho PHP/fastcgi, protože tohle jinak asi nepůjde... Potřebuju víc domén/složek s funkčním suexec, a to asi neprojde...
Ta -custom verze se nejspíš musí nějak nastavit, a nějaká dokumentace k tomu zrovna moc není...Dokumentace je ve /etc/apache2/suexec/www-data, když se to nainstaluje.
/var/www public_html/cgi-bin # The first two lines contain the suexec document root and the suexec userdir # suffix. Both features can be disabled separately by prepending a # character. # This config file is only used by the apache2-suexec-custom package.Umožňuje to změnit adresáře, které jsou jinak nastavené natvrdo
Ptáte se na to, jak sprovoznit suexec a zároveň speedycgi/mod_perl/atd? Odpověď je: nelze.Můžu se zeptat, čím to je? php-fcgid-suexec funguje v pohodě - v Debianu je to i s Googlením práce na hodinku, co je u perlu špatně?
You can't suid a part of a process. mod_perl lives inside the Apache process, so its UID and GID are the same as those of the Apache process.To není vlastnost perlu, ale správy procesů a práv v UNIXu.
#!/usr/bin/php
nebo #!/usr/bin/perl
nebo dokonce \x7fELF
je už pak dost jedno.
SuexecUserGroup
jde nastavovat jen ve <VirtualHost> sekci, a ne třeba v <Directory>, jako to jde u suPHP. Existuje na to sice jednoduchý patch, ale používaní vlastní verze komplikuje správu systému.
Pokud jde o Perl a FastCGI, podívejte se a zkuste třeba modul CGI::Fast.
To benchmark mpm-peruser, I used Apache's ab benchmark to load a simple phpinfo() page 1,000 times. I ran the benchmark five times, and averaged the results. mpm-prefork: average of 6.51 second mpm-itk: average of 37.01 seconds mpm-peruser: average of 6.95 seconds suphp: average of 164.677 seconds suexec: average of 127.219 seconds suexec + bash script: average of 134.836 seconds mod_php: average of 3.753 secondszdroj
ab -n 100 -c 5 http://ip/bench.php == FASTCGI + Suexec == Requests per second: 0.21 [#/sec] (mean) Time per request: 23316.264 [ms] (mean) Time per request: 4663.253 [ms] (mean, across all concurrent requests) == MOD_PHP == Requests per second: 0.22 [#/sec] (mean) Time per request: 23132.956 [ms] (mean) Time per request: 4626.591 [ms] (mean, across all concurrent requests)Jak je vidět, je to v mém případě úplně stejné. Prosté CGI jsem netestoval, očekával bych , že to bude jen o málo horší. * Moje testy s reálnou aplikací * Aplikace: titulní stránka portálu v PHP + PostgreSQL, provoz aplikace na běžném sdíleném hostingu byl nesnesitelně pomalý
ab -n 300 -c 10 http://ip/ == PLAIN CGI + Suexec == Requests per second: 6.40 [#/sec] (mean) Time per request: 1562.403 [ms] (mean) Time per request: 156.240 [ms] (mean, across all concurrent requests) == FASTCGI + Suexec == Requests per second: 13.33 [#/sec] (mean) Time per request: 749.939 [ms] (mean) Time per request: 74.994 [ms] (mean, across all concurrent requests) = MOD_PHP == Requests per second: 13.06 [#/sec] (mean) Time per request: 765.649 [ms] (mean) Time per request: 76.565 [ms] (mean, across all concurrent requests)U této zátěže je vidět, že prosté CGI má výkonnostní propad cca 50% oproti FastCGI či mod_php, které vycházení stejně. (Testoval jsem na: Debian Lenny, XenServer PV, 2 jádra z Xeonu 2.4GHz, 512MB RAM - během testu trvale volných 300MB)
/usr/bin/php-cgi
. Stejně v tom bash skriptu jde nastavit plno užitečných věcí - cestu k php.ini, který se má použít; ulimit; nice; proměnné jako PHP_FCGI_CHILDREN
- i když se spíš doporučuje nechat správu procesů plně na mod_fcgid a nenechávat PHP spouštět další podprocesy
u toho fastcgi+suexec je zvláštní, že výsledky jsou tak rozdílné...Teď jsem se nějak ztratil. Proti čemu jsou rozdílné?
Time per request: 8.943 [ms]tak je to nějaké divné.
Tiskni Sdílej: