Standard Matter (Wikipedie, GitHub), původně Project Connected Home over IP (CHIP), pro propojení IoT a domácí automatizaci byl vydán ve verzi 1.4.
Fedora Linux je aktuálně k dispozici v 5 edicích: Workstation, Server, IoT, Cloud a CoreOS. Pro desktopové nasazení je určena edice Workstation, což je prostředí GNOME. Vývojářům a uživatelům KDE Plasma se dlouhodobě nelíbí, že jejich prostředí je schováno mezi spiny, tj. alternativními desktopy. Prosadili si, že s následující verzí Fedora Linuxu KDE Plasma povýší ze spinu na edici a bude tak na úrovni Workstation.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-6 Focal, tj. šesté stabilní vydání založené na Ubuntu 20.04 Focal Fossa.
Byla vydána nová verze 8.0 (𝕏) frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Přehled novinek v příspěvku na blogu, v poznámkách k vydání a na GitHubu.
Byla vydána verze R14.1.3 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnes v 17:00 má na YouTube online premiéru krátký film Project Gold od Blender Studia představující možnosti rozšíření Blenderu pro "malířský vzhled".
Byl představen oficiální Raspberry Pi USB 3 Hub. Cena je 12 dolarů.
Na YouTube byly zveřejněny sestříhané videozáznamy přednášek z letošního OpenAltu. Dostupné jsou také přímo z programu po kliknutí na přednášku.
Co přesně se děje, když se pomocí curlu připojujeme ke google.com? Proč to psát do terminálu, když si to můžeme pustit jako videoklip curl -v https://google.com na YouTube. 😂
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.11.
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>
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}/$1Testovací 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: