Fórum Root.cz

Hlavní témata => Server => Téma založeno: Trip 19. 11. 2012, 20:50:12

Název: Vlastní webhosting - práva uživatelů
Přispěvatel: Trip 19. 11. 2012, 20:50:12
Zdravím,

snažím se rozjet menší webhosting. Momentálně se potýkám s problémem/nevím jak řešit, aby uživatel A nemohl do souborů uživatele B, ale mohl do obou složek uživatel C, přičemž A ani B nemohou do složky C.

Napadá mě řešení vytvořit pro každého na serveru uživatele, ale doufám, že to půjde elegantněji, než mít v systému desítky uživatelů.

Jsem vděčný za každou radu.
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: poiu 19. 11. 2012, 21:02:31
Zdravím,

snažím se rozjet menší webhosting. Momentálně se potýkám s problémem/nevím jak řešit, aby uživatel A nemohl do souborů uživatele B, ale mohl do obou složek uživatel C, přičemž A ani B nemohou do složky C.

Napadá mě řešení vytvořit pro každého na serveru uživatele, ale doufám, že to půjde elegantněji, než mít v systému desítky uživatelů.
A kto ma mat take prava, ak nie uzivatel? Alebo co si predstavujes pod tym "... aby uzivatel A nemohl do souboru uzivatele B...", ak si odmyslis uzivatelov?
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: mahmood 19. 11. 2012, 21:18:05
Na takovouhle otázku se těžko něco radí. Takže:

1) Na jakém OS to jede?
2) Co to je za webový server a jak je nakonfigurován (vhosty pro jednotlivé uživatele nebo 1 doména a dedikované podsložky...)
3) To že uživatel "nemůže" do souborů druhého uživatele znamená co? Nesmí si je klasicky přes web prohlížet nebo je nesmí měnit nějakým poskytnutým přístupem?
4) Jakým způsobem bodou případně tito uživatelé se svýmimadresáři pracovat? FTP, SMB nebo něco jako cPanel?
5) Budou mít uživatelé možnost používat nějaké server-side skripty?
6) K čemu má vlastně ten hosting sloužit a nebylo by lepší aby to zprovoznil někdo, kdo tomu aspoň trochu rozumí?
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: Trip 19. 11. 2012, 21:27:44
Nu, po bodech:
1) Debian 6
2) Apache 2, vhosty - jednotlivé konfiguráky v /etc/apache2/sites-enabled, každý pro jeden
3) Myslím tím přes FTP - aby nemohl jeden zákazník druhému měnit soubory
4) WebDAV přes HTTPS
5) Ano, PHP
6) Zájem - tudíž ne, nebylo by lepší aby to zprovoznil někdo jiný

Řešení mě napadá - jak jsem psal, v systému vytvořit pro každého "zákazníka" uživatele a ten by klasicky měl nastavená práva (+ by se tam přidal ten uživatel C). Doufal jsem ale, že se najde řešení lepší, bez nutnosti mít v systému desítky/stovky (v případě reálného nasazení, samozřejmě) uživatelů..
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: poiu 19. 11. 2012, 21:38:50
3) Myslím tím přes FTP - aby nemohl jeden zákazník druhému měnit soubory
Napriklad na toto ti staci chroot jail v FTP. Pri server-side skriptoch ti ostavaju moznosti:
1. oddelenie pomocou featur PHP  - neodporucane Debianom, teda relativne casto derave
2. klasicki uzivatelia - najlepsie otestovane, pravdepodobnost diery sa blizi nule, ale deje sa aj to
2.5 klasicki uzivatelia, ucty "mimo system" (napr. na LDAP serveri) - to o nieco zvacsuje rozne rizika, hlavne pravdepodobnost nedostupnosti
3. MAC - v podstate bezpecnost je niekde blizko 2. moznosti, ale existuje to pomerne kratko (vzhladom k dlzke existencie konceptu "uzivatela") a teda tam mozu byt chyby - mozno aj v kerneli, ale hlavne na tvojej strane, kedze to nie je az tak priehladne


PS: pisal som o vacsich moznostiach chyb a rizikach - pocitaj s tym, ze aj ked ich spominam, tak to nie je nutnost a nie je to az take zle, ako to opisujem
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: Trip 19. 11. 2012, 21:46:46
Ok, chápu teda, že nejlepší možnost bude ta zminovaná mnou - klasický uživatelé? Pak je tu ještě druhá věc, kromě toho, aby se jeden uživatel nedostal přes ten WebDAV přímo k datům uživatele druhého, pak ještě aby je nemohl změnit ze skriptu.

Pokud jsem to dobře pochopil, ty běží pod jedním uživatelem, který tím pádem musí mít do složek uživatelů práva na čtení a zápis. Co potom ale uživatelovi-záškodníkovi brání v tom v skriptu spusti fopen("/home/www/uzivatel-poskozeny/data.php", ..) a podobně?

Využívají se k tomu Tebou zmíněné restrikce pomocí featur PHP, nebo to řeší ten chroot? Případně to chápu úplně blbě a stačí i na tohle ty uživatelé?
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: Jan Forman 19. 11. 2012, 21:57:43
Nebo se dá použít fígl s uživateli v databázi, v systému jako takovém neexistujou a přihlásit se na ně nedá.
Sice pak vlastník souboru se jmenuje v systému 10002 (nijak), ale mě to nevadí :-)
Název: Re:Vlastní webhosting - práva uživatelů
Přispěvatel: poiu 19. 11. 2012, 22:05:16
Pokud jsem to dobře pochopil, ty běží pod jedním uživatelem, který tím pádem musí mít do složek uživatelů práva na čtení a zápis. Co potom ale uživatelovi-záškodníkovi brání v tom v skriptu spusti fopen("/home/www/uzivatel-poskozeny/data.php", ..) a podobně?

Využívají se k tomu Tebou zmíněné restrikce pomocí featur PHP, nebo to řeší ten chroot? Případně to chápu úplně blbě a stačí i na tohle ty uživatelé?
Stacia na to uzivatelia - skripty / vsetko budes pustat pod konkretnymi uzivatelmi a nebudu mat prava liezt si navzajom do svojich veci - jednoducho ochrana na urovni systemu, nie na urovni PHP.