Vlastní webhosting - práva uživatelů

Trip

Vlastní webhosting - práva uživatelů
« kdy: 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.


poiu

Re:Vlastní webhosting - práva uživatelů
« Odpověď #1 kdy: 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?

mahmood

Re:Vlastní webhosting - práva uživatelů
« Odpověď #2 kdy: 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í?

Trip

Re:Vlastní webhosting - práva uživatelů
« Odpověď #3 kdy: 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ů..

poiu

Re:Vlastní webhosting - práva uživatelů
« Odpověď #4 kdy: 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


Trip

Re:Vlastní webhosting - práva uživatelů
« Odpověď #5 kdy: 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é?

Re:Vlastní webhosting - práva uživatelů
« Odpověď #6 kdy: 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í :-)
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

poiu

Re:Vlastní webhosting - práva uživatelů
« Odpověď #7 kdy: 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.