Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 166 (pdf).
Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,
… více »Vývojáři postmarketOS vydali verzi 26.06 tohoto operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 2.55.0 distribuovaného systému správy verzí Git. Přispělo 100 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Craig Loewen na blogu Microsoftu oznámil veřejnou preview verzi WSL kontejnerů, tj. linuxových kontejnerů ve Windows Subsystem for Linux (WSL). Spouští se příkazem wslc.exe.
Byla vydána (𝕏, Bluesky) nová verze 2026.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 9 nových nástrojů v oficiálním oznámení na blogu.
Grafická aplikace Krokiet/Czkawka pro vyhledávání a odstraňovaní nepotřebných souborů (duplicitní soubory, prázdné složky, podobné obrázky, podobná videa, poškozené soubory a další) byla vydána ve verzi 12.0.0. Podrobný přehled novinek v příspěvku na Medium. Jedná se o poslední verzi frontendu Czkawka GTK nad Czkawka Core. Uživatelům se doporučuje migrovat na frontend Krokiet postavený nad frameworkem Slint. Představena byla aplikace Cedinia pro Android využívající Czkawka Core. Dostupná je jako APK pro ruční instalaci.
Po téměř třech letech od vydání verze 9 byla vydána nová verze 10 linuxové distribuce Mageia (Wikipedie). Přehled novinek v poznámkách k vydání.
Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.
Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.
Ahoj,
na serveru mam Ubuntu 12.04 a potrebuju udelat pro uzivatele WebDAV. Potrebuju mit moznost pouzivat vestaveneho klienta ve Windows, jinak pouzivam SFTP, ale ten Win neumi.
OwnCloud a jeho PHP implementaci WeDAVu nechci. Rad byh pouzil "cisty Apache", nebo jiny webserver.
Muj aktualni konfigurak virtualhostu:
# cat /etc/apache2/sites-available/data-example-net
<VirtualHost *:80>
ServerName data.example.net
Redirect permanent / https://data.example.net/
ErrorLog /var/log/apache2/error_data-example-net.log
LogLevel error
CustomLog /var/log/apache2/access_data-example-net.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName data.example.net
DocumentRoot /home
ErrorLog /var/log/apache2/error_data-example-net.log
LogLevel error
CustomLog /var/log/apache2/access_data-example-net.log combined
Options Indexes FollowSymLinks
ServerSignature off
#disable PHP in all sub-directories
RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off
Options +Indexes
IndexOptions -IconsAreLinks NameWidth=* FancyIndexing FoldersFirst
IndexOrderDefault Ascending Name
SSLEngine on
SSLCertificateFile /etc/ssl/certs/data.example.net.crt
SSLCertificateKeyFile /etc/ssl/private/data.example.net.key
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5
<IfModule mod_authnz_external.c>
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
</IfModule>
<Location "/">
SSLRequireSSL #allow only HTTPS, not HTTP
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 #allows export browsers to upgrade to stronger encryption
Dav On
Order allow,deny
allow from all
AuthType Basic
AuthName "WebDAV data.example.net"
AuthBasicProvider external
AuthExternal pwauth
Require valid-user
</Location>
</VirtualHost>
Mam uzivatele user1 a user2 (v realnu jich je vic). Uzivatele jsou ve skupine www-data (pod ni jede Apache):
$ ls -lh /home/ celkem 36K drwxrwx--- 77 user1 www-data 12K pro 6 02:00 user1 drwxrwx--- 29 user2 www-data 4,0K lis 26 20:54 user2 ... $
Adresare uzivatelu (rekurzivne) maji prava 770 (drwxrwx---) a soubory 660 (-rw-rw----). V /etc/login.defs mam nastavene UMASK 007, coz odpovida prave d770 a f660.
Pokud vlezu na adresu http://data.example.net/, prohlizec me presmeruje na https verzi a zepta se na heslo uzivatele. Funguje prihlasovani s overovanim pres PAM.
A ted nastava problem - po prihlaseni pod libovolnym povolenym uzivatelem na http://data.example.net/ vidim jmena vsech uzivatelu (to mi nevadi), ale muzu pristupovat k datum vsech uzivatelu - to mi vadi.
Muze mi nekdo poradit, jak dovolit uzivateli lezt pouze do sveho /home/$user?
Zavirat je do /home/$user/neco nechci. Idealne mit na http://data.example.net/ rovnou svuj /home/$user. Jde to nejak? Mne to proad nejde nastavit 
Win klient neni problem. Pripojeni z nej se chova uplne stejne jako z Google Chrome a Firefoxu v Linuxu.
Vzdy vidim na https://data.example.net/ seznam vsech uzivatelskych jmen a mohu pod libovolnym uzivatelelm prochazet home adresare vsech ostatnich uziatelu.
Ja potrebuju neco jako:
<Location "/">
OBSAH_ADRESARE (DocumentRoot) = /home/jmenoAktualnePrihlasenehoUzivatele/
SSLRequireSSL #allow only HTTPS, not HTTP
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 #allows export browsers to upgrade to stronger encryption
Dav On
Order allow,deny
allow from all
AuthType Basic
AuthName "WebDAV data.example.net"
AuthBasicProvider external
AuthExternal pwauth
Require valid-user
</Location>
jenom nevim, jak to techniky udelat. Zkousel jsem mod_userdir, ale nefungovalo to podle mich predstav (asi jsem ho spatne nastavil).
# cat /etc/apache2/sites-available/data-example-net
<VirtualHost *:80>
ServerName data.example.net
Redirect permanent / https://data.example.net/
ErrorLog /var/log/apache2/error_data-example-net.log
LogLevel error
CustomLog /var/log/apache2/access_data-example-net.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName data.example.net
DocumentRoot /home
ErrorLog /var/log/apache2/error_data-example-net.log
LogLevel error
CustomLog /var/log/apache2/access_data-example-net.log combined
Options Indexes FollowSymLinks
ServerSignature off
#disable PHP in all sub-directories
RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off
Options +Indexes
IndexOptions -IconsAreLinks NameWidth=* FancyIndexing FoldersFirst
IndexOrderDefault Ascending Name
SSLEngine on
SSLCertificateFile /etc/ssl/certs/data.example.net.crt
SSLCertificateKeyFile /etc/ssl/private/data.example.net.key
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite EECDH+AES:EDH+AES:-SHA1:EECDH+RC4:EDH+RC4:RC4-SHA:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5
<IfModule mod_authnz_external.c>
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
</IfModule>
<IfModule mod_userdir.c>
UserDir /home/*/
UserDir disabled
UserDir enabled user1 user2
<Directory /home/*>
SSLRequireSSL
SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
Dav On
AuthType Basic
AuthName "WebDAV data.example.net"
AuthBasicProvider external
AuthExternal pwauth
Require valid-user
Order allow,deny
allow from all
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>
</IfModule>
</VirtualHost>
Aktualne to ma jedinou vadu, uzivatel musi pristupovat pres https://data.example.net/uzivatelskeJmeno/.
Da se to nejak namapovat primo na https://data.example.net/? mod_rewrite asi pouzit nepujde.Jak presne to myslis?
Aktualne ma kazdy uzivatel svoji skupinu stejneho jmena:Uzivatel Skupina www-data www-data user1 user1 user2 user2
Takze myslis pridat uzivatele www-data do skupiny user1 a user2 a home adresare pak mit pod vlastni uzivatelskou skupinou?
# adduser www-data user1 # adduser www-data user2 $ ls -lh /home/ celkem 36K drwxrwx--- 77 user1 user1 12K pro 6 02:00 user1 drwxrwx--- 29 user2 user2 4,0K lis 26 20:54 user2 ... $
Ja mam umask 022. Adresar /home/userX ma vlastnika userX:www-data. Rekurzivne v nem nastavim vsem souborum a adresarum taky skupinu www-data.
Problem je, pokud uzivatel (a to se deje porad) nakpiruje data pres sftp/sambu. Pak maji nove vytvorene soubory sice prava podle umask 022, ale vlastnika i skupinu sveho userX.
Jak presne to myslis nastavit?
chmod g+s)
find /home/$user -type d | xargs chmod g+s
Já jsem naivně doufal, že když mám uživatele user1 který má práva na /home/user1 user1:user1 a přidal jsem uživatele www-data, pod kterým běží Apache do skupiny user1 (#adduser www-data user1), tak by měl mít apache práva k uživatelským souborům.Tohle je druhá možnost, jak to řešit, Apache pak bude mít stejná práva, jako příslušná skupina. Skupiny se přidělují ale jen při startu sezení (pomocí su, sudo, přihlášením ap.), takže po změně skupin je potřeba Apache restartovat, aby použil nové nastavení. Ještě existuje třetí možnost, a to je ACL:
setfacl -R -m u:www-data rwx /home/$user # Nastaví ACL pro všechny existující soubory setfacl -R -d -m u:www-data rwx /home/$user # Nastaví výchozí ACL pro nové soubory
Tak jsem pridal apache uzivatele (www-data) do skupin vsech uzivatelu a po restartu apachce uz to jede 
Ale zasadni problem trva porad:
kdyz ve firefoxu vlezu na http://data.example.com a prihlasim se pod nejakym uzivatelem, tak vidim ve vypisu obsah slozky /home a muzu pod libovolnym uzivatelum lezt k datum vsech ostatnich.
Jak se to da resit?
root@eu:/# ls -lh /home/ celkem 36K drwxrwx--- 77 user1 user1 12K pro 6 02:00 user1 drwxrwx--- 29 user2 user2 4,0K lis 26 20:54 user2A apache je ve skupine user1 a user2.
V /home/.htaccess mam:
RewriteEngine On
RewriteRule ^/(.*)$ /%{LA-U:REMOTE_USER}/$1 [END]
Pokud vlezu z Chromu na http://data.example.net presmeruje me to na https://data.example.net (to je ok), ale misto prihlasovani to hned hodi:
Forbidden You don't have permission to access / on this server.to uz neni ok
Pokud lezu primo na http://data.example.net/user1 dostavam taky forbidden (You don't have permission to access /user1 on this server.)
Pokud mam i prazdny soubor /home/.htaccess tak mi prohlizec vzdy ukazuje forbidden. Pokud je soubor prazdny porad chyba. Jakmile htaccess smazu, zas to zacne fungovat. Neni to divne?
Rad udelam kompromis - uzivatel si bude pripojovat svuj disk pres adresu https://data.example.net/LOGIN ale nesmi mit moznost vlezt do homu jineho uzivatele. Takhle si pripojim https://data.example.net/user1, dam o uroven vys a mohu se hrabat vsem uzivatelum v home diru.
Prece musi existovat nejake jednoduche reseni...
A jeste jedna vec ohledne presmerovani na https verzi. V konfigu virtualhostu mam:
# cat /etc/apache2/sites-available/data-example-net <VirtualHost *:80> ServerName data.example.net Redirect permanent / https://data.example.net/ </VirtualHost> <VirtualHost *:443> ServerName data.example.net ...ale kdyz ve Windows i v linuxu chci pres webdav klienta pripojit disk, nejde to. Widle nerikaji nic, Mint 16 si stezuje na presunutou adresu (viz obrazek). Webovy prohlizec (Firefox, Chrome) se sam presmeruje.
Tak mam asi funkcni reseni opravneni:
Primo do definice virtualhostu se prida:
RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} !^$
RewriteRule /[^/]*/(.*) /~%{LA-U:REMOTE_USER}/$1 [NS]
Uzivatel na https://data.example.net/ stale vidi vypis vsech uzivatelskych jmen. Ale kdyz vleze do homu libovolneho uzivatele, vzdy se mu zobrazuji jeho vlastni soubory (jeho vlastni home).
"Vylepsit" by se to dalo odebranim prava cteni pro ostatni na / home (chmod o-r /home). Ale na bezne ssh pouzivani je to pak na h..... (nemuzu udelat ls /home)
Sice to funguje, ale je to imho dost prasarna. Navic resit zabezpeceni rewritem se mi take moc nelibi.
RewriteRule ^/(.*)$ /%{LA-U:REMOTE_USER}/$1 [END]
Muzes mi to prosim vysvetlit?
Kdyz dam do /home/.htaccess:
RewriteRule ^/(.*)$ /%{LA-U:REMOTE_USER}/$1 [END]
Tak dostavam v prohlizci vzdy Forbidden.
Povolene to snad je:
<Directory /home/*>
AllowOverride all
...
</Directory>
Jen se mi to nedari zrealizovat.
Nejake how-to by nebylo?
root@147.32.97.216:~# cat /etc/apache2/conf-available/dav.conf
RewriteEngine On
<Directory /srv/dav>
AuthType Basic
AuthName "WebDAV"
AuthBasicProvider file
AuthUserFile /etc/dav/htpasswd.setup
Require valid-user
</Directory>
<Location /webdav>
AuthType Basic
AuthName "WebDAV"
AuthBasicProvider file
AuthUserFile /etc/dav/htpasswd.setup
Require valid-user
</Location>
RewriteRule ^/webdav/(.*) /srv/dav/%{LA-U:REMOTE_USER}/$1
Testovací uživatelé jsou dva - heslo mají oba stejné "ocas" http://147.32.87.216. Zkus si vlézt do adresáře webdav.
Tak jsem to zkousel a porad ten samy problem - jakmile se uzivatel prihlasi muze lezt ostatnim uzivatelum do home adresare 
Pokud bys mel chvili, mohl bys na to prosim kouknout?
Tady je testovaci minimalni isntalace debianu se dvema uzivateli "user1" a "user2", kde je ta chyba videt:
https://mega.co.nz/#!DMVlWSCT!n7Hw0cJQgjzTmYNub97fb9luX_6kavR3LGf1CSWPOiA 525MB (OVA - vytvorene ve VirtualBoxu)
root i oba uzivatele maji heslo "pokus".
Protoze jsem se na Apachi zasekl, zkusil jsem nginx:
# cat /etc/nginx/sites-enabled/data
server {
listen *:80;
location / {
auth_pam "Restricted";
auth_pam_service_name "nginx";
}
location ~ ^/(.*)$ {
alias /home/$remote_user/$1;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_access user:rw;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
}
location ~ ^/home/(.*)$ {
alias /home/$1;
}
}
# cat /etc/pam.d/nginx
@include common-auth
@include common-account
Pripojeni na WebDAV funguje vyborne, ale mam ten samy problem - uzivatel vidi v / jmena home adresaru vsech uzivatelu a muzu pristupovat k datum vsech uzivatelu.
Nasel jsem, ze by snad melo jit u nginx porovnavat jmeno aktualne prihlaseneho uzivatele:
location ~ /(?<username>([^/]*))/ { # capture and store in the username variable
if ($remote_user = $username ) {
add_header 'matched' 'true $username';
break;
}
}
S nginx jsem nikdy nepracoval, proto nevim, jak to zapsat do configu. Slo by nejak poznat, kdyz je prihlaseny user1 a vleze do user2 aby ho to nepustilo? Umi to nekdo?
OPTIONS a PROPFIND. Nevím, jestli to stále platí, ale ve Windows a KDE bez toho nešlo WebDAV používat.
Takže řekl bych, že mám řešení, jaké by ti mohlo vyhovovat. Má ovšem několik háčků, na které je nutné dát pozor. Takže nejprve - jak vypadá konfigurace pro apache:
root@stroj:~# cat /etc/apache2/conf-available/dav.conf
RewriteEngine On
<Directory /srv/dav/*>
DAV On
</Directory>
<Location /webdav>
AuthType Basic
AuthName "WebDAV"
AuthBasicProvider file
AuthUserFile /etc/dav/htpasswd.setup
Require valid-user
</Location>
RewriteRule ^/webdav/(.*)$ /srv/dav/%{LA-U:REMOTE_USER}/$1
Na rozdíl od původního konfiguračního souboru, který je uveden o kousek výše, je k těmto adresářům možný přístup pouze přes WebDAV. Pravidla, která je nutné dodržet aby to fungovalo:
/srv/dav právo zapisovat - bez toho by nebylo možné vůbec přes WebDAV něco zapsat./srv/dav musí obsahovat adresář .DAV do kterého má skupina www-data právo zapisovat. Bez toho nebude možné adresář uživatele namountovat./srv/dav uživatelský adresář který již obsahuje nějaké soubory a adresáře pak musí mít nastavenou alespoň skupinu www-data aby mohli její členové soubor přečíst, jinak do namountovaného adresáře nebude mít apache právo zapisovat!Jak to funguje, si můžete aktuálně vyzkoušet na mém testovacím serveru - chvíli to tam nechám.. Uživatelé jan, dan a man mají stejné heslo - ocas.
mount -t davfs http://147.32.87.216/webdav temp -o username=jan
/srv/dav umístěným do kořene apache - viz http://147.32.87.216/pub
Chtěl jsem tím jen říct, že WebDAV je pěkná věc pro Android, ...Máš nějakého oblíbeného WebDAV klienta pro Android?
Tiskni
Sdílej: