PDA

Bekijk Volledige Versie : Directory structuur.



Deimos
17/01/03, 10:57
Zat laatst na te denken over de huidige directory structuur die ik hanteer en deze heeft een nadeel. Namelijk dat de Admin van een domein niet altijd alle bestanden kan wissen.

Wat ik wil bereiken is onderstaande:

Er is een Admin bij een domein. Deze moet in alle mappen kunnen komen binnen het domeins documentroot. Normale users moeten alleen in hun eigen map kunnen komen.

De directory structuur is alsvolgt:

/home/domein.nl/
/home/domein.nl/web/ <= benaderbaar via het www
/home/domein.nl/users/
/home/domein.nl/users/admin <= De admin van een domein
/home/domein.nl/users/* <= Andere gebruikers binnen een domein

Alle users zijn lid van dezelfde groep. De groepnaam is: domein.nl
Nu is dus het probleem, dat wanneer een user iets upload de admin dit normaal gesproken niet kan editten/verwijderen. Dit is opgelost door alles dat met ftp gebeurd standaard 664 als permissie te geven. Maar nu is het probleem, dat zodra iets dmv Apache wordt geupload of wanneer een gebruiker zijn rechten wijzigt. De Admin niet meer de bestanden kan aanpassen.

Hoe lossen jullie dit op? Zat eerst zelf te denken om PureFTPD te gaan gebruiken ipv ProFTPD in verband met de virtual users. En het feit dat je een UID kan opgeven dat moet wordne gebruikt. Op die manier zou je dus alle gebruikers onder dezelfde usernaam op de server materiaal kunnen laten uploaden. Het probleem is dan echter dat dmv een simpel PHP/CGI of ander scriptje bestanden kunnen worden gewijzigd / gelezen / verwijderd door "normale" gebruikers. Wat wel weer een voordeel zou zijn, is het feit dat je een user en group in de virtualhost van apache kan opgeven, zodat geuploade bestanden automatische de permissies krijgen van de eigenaar van het domein en niet de user waaronder apache standaard draait.


Graag jullie oplossing voor bovenstaand probleem.

almar
18/01/03, 13:36
Je hebt eigenlijk verschillende admin groepen nodig.

Je laat apache draaien onder een aparte user / groep. Stampt deze groep in elke admin groep en zet de directory op klant.admingroep.

Werkt perfect.

Uhh, kort antwoord ik heb mogelijk iets vergeten...

Was dit wat je bedoelde?

Deimos
18/01/03, 14:16
Jups, stel dat de permissies van een file nu 705 zijn. Dan kan de admin het script niet editten. Dit kan dan enkel de eigenaar en de admin moet ALLES kunnen. Dus dit is het ook niet helemaal.

StarInternet
19/01/03, 11:00
Origineel geplaatst door Deimos
Jups, stel dat de permissies van een file nu 705 zijn. Dan kan de admin het script niet editten. Dit kan dan enkel de eigenaar en de admin moet ALLES kunnen. Dus dit is het ook niet helemaal.
Ik denk toch dat je moet instellen dat hij upload als de admin user.
En edit ook

Deimos
19/01/03, 12:18
Ja, maar dan kan een normale gebruiker dus heel simpel bestanden verwijderen dmv een simpel php scriptje. PHP kan je eventueel nog restricten dmv documentroot, maar PERL niet.

StarInternet
19/01/03, 12:36
Origineel geplaatst door Deimos
Ja, maar dan kan een normale gebruiker dus heel simpel bestanden verwijderen dmv een simpel php scriptje. PHP kan je eventueel nog restricten dmv documentroot, maar PERL niet.
ik bedoel dit

/www/hosting.nl [hosting.host]
/www/hosting.nl/* [hosting.host]
/www/starhost.nl [starhost.star]
/www/starhost.nl/* [starhost.star]

Dan is met Perl niet mogelijk om bestanden te bewerken onder hosting.nl
via starhost.nl

Deimos
19/01/03, 12:38
klopt, maar dan heb je waarschijnlijk iets niet goed gelezen :).

/home/starhost.nl/users/pietje

Kan zo wel bestanden verwijderen in /home/starhost/* die niet van hem zijn en dit mag dus niet.

StarInternet
19/01/03, 12:49
Origineel geplaatst door Deimos
klopt, maar dan heb je waarschijnlijk iets niet goed gelezen :).

/home/starhost.nl/users/pietje

Kan zo wel bestanden verwijderen in /home/starhost/* die niet van hem zijn en dit mag dus niet.
Wees slim net als Plesk :-) Zet PHP en Perl uit voor sub-users :)

trouwens Apache draait toch onder user apache en niet root.
Dus het is NOOIT mogelijk om een file te bewerken of te verwijderen.
en als je lees rechten uit zet gaat het fout omdat dan apache niks kan lezen

Deimos
19/01/03, 12:54
Je kan per virtualhost een aparte user / group definieren dus dat is geen probleem. En PHP / PERL uit voor subusers is helaas geen mogelijkheid. Is dit overigens echt de manier waarop PLESK het doet? Kan ik me namelijk bijna niet voorstellen....

almar
19/01/03, 15:26
Bij ons hebben de gebruikers een home dir
/home/gebruiker

Hierin staat een symlink naar de de www dir (apart gemount)
/www/www.mijndomein.nl/

op die manier kan je het dus perfect beheren als admin en loop je ook niet tegen dat soort problemen aan.

elke host heeft een user en een group.

UIteraard is de group gelijk aan de admin group.

Geloof me, het werkt.

StarInternet
19/01/03, 17:07
Hoe zit het dan met ProFTPD?
Ik wil niet dat ze de andere mappen zien
ik wil dat ze dan alleen
/ zien met daar in hun eigen mappen

Deimos
19/01/03, 17:32
dat is niet zo moeilijk. gewoon rules opstellen. Hier volgen de rules die ik op dit moment gebruik:


DefaultRoot / admin
DefaultRoot ~/../.. site-adm
DefaultChdir ../../ site-adm
DefaultRoot ~ !site-adm

admin en site-adm zijn dus groepen op de server.