apache voor mijn user accounts...

Pagina: 1
Acties:
  • 141 views sinds 30-01-2008

  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
Mijn apache server werkt goed op Linux Redhat 7 m.b.t. de standaard website die hij weer moet geven. Maar ik wil dat ook de webpagina's van mijn users weergegeven worden, ik denk dat ik httpd.conf niet helemaal goed heb, ik las ook iets over .htaccess maar dat begrijp ik niet helemaal. Het is me wel gelukt om de website van een user weer te geven maar dan moest ik alle read permissies van de dir's en sub-dir's van die bepaalde user aanzetten. Dus deed ik dat niet dan had ik geen toegang toe die dir. Wie kan mij helpen

  • violator_
  • Registratie: Juni 2000
  • Laatst online: 19-01 01:18
In httpd.conf de DocumentRoot op /home zetten en de homedir symlink directory op WWW of whatever de persoon in zijn homedir moet hebben staan om website in te plaatsen.

verder : chmod -R 755 /home
dan kan apache dr bij en wordt de zaak accessible.

8-)

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir nicht ganz sicher. -Albert Einstein


  • _-= Erikje =-_
  • Registratie: Maart 2000
  • Laatst online: 30-03 15:43
nee joh, gewoon mod_userdir gebruiken, dan kan apache www.blaat/~user requests verwerken...

Verwijderd

Op dinsdag 19 juni 2001 18:54 schreef violator_ het volgende:
In httpd.conf de DocumentRoot op /home zetten en de homedir symlink directory op WWW of whatever de persoon in zijn homedir moet hebben staan om website in te plaatsen.

verder : chmod -R 755 /home
dan kan apache dr bij en wordt de zaak accessible.

8-)
Hmmzz :?
Beetje een vaag antwoord als je het mij vraagt. Verder snap ik het zonnebrilletje sowieso niet :?

DocumentRoot is de directory van waaruit Apache zijn pagina's serveert. Als je dus niet de pagina's van je gebruikers wil zien.

Voor gebruikers-pagina's heb je de volglende config-optie in Apache: UserDir

Stel bijvoorbeeld, dat je wil dat elke gebruiker z'n fysieke directory om webpagina's te serveren in /home/<gebruiker>/WWW-root te vinden moet zijn dan zet je hetvolgende in je apache config:
code:
1
UserDir   /home/*/WWW-root

[edit]
Inderdaad moet mod_UserDir wel geladen zijn, maar dat is in de meeste gevallen wel zo en anders moet je het even aanpassen

  • _-= Erikje =-_
  • Registratie: Maart 2000
  • Laatst online: 30-03 15:43
en daar heb je dus mod_userdir voor nodig, meestal zit ie er al in..

Verwijderd

Op dinsdag 19 juni 2001 19:11 schreef _-= Erikje =-_ het volgende:
en daar heb je dus mod_userdir voor nodig, meestal zit ie er al in..
Dat zeg ik toch of niet :?
/me is niet de enige die een bril nodig heeft ;)

  • violator_
  • Registratie: Juni 2000
  • Laatst online: 19-01 01:18
Op dinsdag 19 juni 2001 19:05 schreef nelske het volgende:

[..]

Hmmzz :?
Beetje een vaag antwoord als je het mij vraagt. Verder snap ik het zonnebrilletje sowieso niet :?
Dat zonnebrilletje moet je als mod in apache laden, dan verandert ie in COOLpache nou goed?? kheb altijd dat ding onder mn posts staan weet eigenlijk niet zo waarom.

wat ik zei klopt wel alleen schijnt alles hier 6 keer uitgelegd moeten te worden voor iedereen t gevat heeft.
Mod_Userdir wordt standaard geladen in Apache. Die hoef je dus niet aan te zetten.
Als je een server puur als webserver wilt laten finctioneren en de homedirs als dus als webspace wilt gebruiken moet chmod van /home recursief op 755 worden gezet. Anders krijg je "No Permission" ...

8-) (zo ..)

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir nicht ganz sicher. -Albert Einstein


Verwijderd

Op dinsdag 19 juni 2001 19:38 schreef violator_ het volgende:
Dat zonnebrilletje moet je als mod in apache laden, dan verandert ie in COOLpache nou goed?? kheb altijd dat ding onder mn posts staan weet eigenlijk niet zo waarom.
[off-topic]
Staat alleen een beetje arrogant, maar dat is mijn persoonlijke mening. Verder moet je wel een fantsoenlijk antwoord geven wil je zoiets eronder zetten, maar ook dat is mijn persoonlijke mening.
[/off-topic]
wat ik zei klopt wel alleen schijnt alles hier 6 keer uitgelegd moeten te worden voor iedereen t gevat heeft.
:? Try me, zou ik zeggen
Mod_Userdir wordt standaard geladen in Apache. Die hoef je dus niet aan te zetten.
Wel eens met Apache gewerkt en die ook gecompileerd :? Dan zou je dat namelijk niet zeggen!
Als je een server puur als webserver wilt laten finctioneren en de homedirs als dus als webspace wilt gebruiken moet chmod van /home recursief op 755 worden gezet. Anders krijg je "No Permission" ...

8-) (zo ..)
Dat is het enige dat (gedeeltelijk) klopt.
Dit geldt dus alleen voor directories waarvoor je wilt hebben dat deze inderdaad benaderbaar zijn voor iedereen.
Om alles recursief op 755 te zetten is niet het meest verstandige dat je kan doen!
Maar ja dat hoef ik jou niet te zeggen toch ;)

  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
Als ik dus de chmod -R 755 bladiebla gebruik dat doet apache het dus wel, maar dan heb ik idd dat alle users bij elkaar in de dir's kunnen kijken en dat wil ik dus niet.

De mod_userdir is idd als standaard !

Hoe kan ik er dus voor zorgen dat users WEL elkaars HTML (laat ik zeggen de public_html dir in iedere user dir) dir kunnen lezen en NIET de overige dir's.

Met MC kan ik heel makkelijk de chmod permissies veranderen (daardoor krijg ik volgens mij ook b.v. ##755 aan de rechter kant in het scherm te staan die ik ook via de command line m.b.v. chmod -R 755 kan gebruiken.

Ik wil hier dus niet dat iedereen de dir's kan readen.

lastig he? :)

Verwijderd

makkelijkste en beste manier is dan om onder /home een subdir te maken bijvoorbeeld WWW-user.
Daaronder maak je per user een subdir aan voor die user.
De directory structuur geef je inderdaad wel 755 (Recursief) als permissie.

Nu gewoon in elke user-dir een symlink maken naar de bijbehorende dir onder /home/WWW-user

In Apache geef je dan bij UserDir hetvolgende op:
code:
1
UserDir   /home/WWW-user/*

Op deze manier kan wel iedereen naar de html-dirs, maar zijn de user-dirs niet toegankelijk.

Nogmaals mod_userdir is niet standaard, maar toevallig is hij bij RH 7 wel alvast als DSO meegecompileerd en aangezet in httpd.conf!

Verwijderd

voor useraccounts via htaccess staat bij
www.linux-nl.cx wel het 1 en ander aan documentatie ..

Verwijderd

In de httpd.conf een alias maken, die verwijst naar een dir van een van de gebruikers.
bijvoorbeeld:
toevoegen httpd.conf

Alias /pietje/ /home/pietje/
<Directory /home/pietje/>
Options Indexes FollowSymlinks
order deny.allow
allow form all (of bepaalde ipadressen)
</Directory>


restart httpd

surf naar: http://jouwipadres/pietje/

whola 8-)

Verwijderd

Op dinsdag 19 juni 2001 23:38 schreef scr3am het volgende:
In de httpd.conf een alias maken, die verwijst naar een dir van een van de gebruikers.
bijvoorbeeld:
toevoegen httpd.conf

Alias /pietje/ /home/pietje/
<Directory /home/pietje/>
Options Indexes FollowSymlinks
order deny.allow
allow form all (of bepaalde ipadressen)
</Directory>


restart httpd

surf naar: http://jouwipadres/pietje/

whola 8-)
Bovenstaande zou een ZEER groot security risico met zich mee zou kunnen brengen!!!!

Folow symlinks kan er namelijk voor zorgen dat je hele systeem bloot ligt, door kwaadwillende gebruikers die een symlinkje in een directory te plaatsen die naar compleet andere directories lopen. Ofwel je kan heel makkelijk buiten de DocumentRoot komen.
Mocht Apache dan ook nog eens als root draaien (per ongeluk natuurlijk ;) ) dan kan je dus grote problemen hebben.

[edit]
Samba in Apache verandert en iets aardiger reply van gemaakt.
Was de 2e botte reply in korte tijd |:(

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Mocht samba dan ook nog eens als root draaien (per ongeluk natuurlijk) dan kan je dus grote problemen hebben.
En dan snap ik niet wat samba daar mee te maken heeft :?

Verwijderd

Op dinsdag 19 juni 2001 23:48 schreef RemcoX het volgende:

[..]

En dan snap ik niet wat samba daar mee te maken heeft :?
Excuse me, moest Apache zijn natuurlijk :)

  • violator_
  • Registratie: Juni 2000
  • Laatst online: 19-01 01:18
Op dinsdag 19 juni 2001 19:46 schreef nelske het volgende:

Wel eens met Apache gewerkt en die ook gecompileerd :? Dan zou je dat namelijk niet zeggen!
[..]
ok ok , ik heb em geRPM'd :D .
gebruik altijd roodkapje en daar werkt t altijd wel makkelijk.

Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber beim Universum bin ich mir nicht ganz sicher. -Albert Einstein


Verwijderd

ja dat moet kunnen ja

Verwijderd

Op dinsdag 19 juni 2001 23:44 schreef nelske het volgende:

[..]

Bovenstaande zou een ZEER groot security risico met zich mee zou kunnen brengen!!!!

Folow symlinks kan er namelijk voor zorgen dat je hele systeem bloot ligt, door kwaadwillende gebruikers die een symlinkje in een directory te plaatsen die naar compleet andere directories lopen. Ofwel je kan heel makkelijk buiten de DocumentRoot komen.
Mocht Apache dan ook nog eens als root draaien (per ongeluk natuurlijk ;) ) dan kan je dus grote problemen hebben.

[edit]
Samba in Apache verandert en iets aardiger reply van gemaakt.
Was de 2e botte reply in korte tijd |:(
Ik weet het :'( , maar in combinatie met .htaccess ben je iets veiliger ;) . Zelf dat is niet veilig genoeg om dit te doen.
Zelf zou ik zeggen gebruik openssl voor het maken van certificaten *D voor de server, en client, zodat alleen de gebruikers die in bezit zijn van een geldig certificaat aanloggen op hun eigen site.

  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
IK BEN ERUIT !!!

jongens ik weet het nu volgensmij... !!! :) :) :)
Ik gebruik
"chmod -R 711 /home/*userdir*"
want dan kan iedereen wel in iedere dir komen maar NIET bekijken...

En voor de www dir
"chmod -R 755 /home/*userdir*/public_html"
waarbij ze al hun www-files in de 'public_html' dir moeten zetten.

Als jullie hier nog commentaar in de vorm van suggesties, positieve of negatieve kritiek hebben hoor ik het graag want ik denk dat nog veel meer mensen hiermee zitten omdat nog niemand mij een 'veilig' EN 'klaar' antwoord heeft kunnen geven, ondanks de moeite die ze ervoor hebben gedaan !!!

Toch bedankt voor de duwtjes in de goede richting !!!

  • Jordi
  • Registratie: Januari 2000
  • Niet online

Jordi

#1#1

Op woensdag 20 juni 2001 23:47 schreef johu het volgende:

"chmod -R 711 /home/*userdir*" want dan kan iedereen wel in iedere dir komen maar NIET bekijken...
Correction: dan kan men geen dirlist opvragen met 'ls' ofzo. Maar: probeer maar eens een file te echo'en met een user die geen toegang zou mogen hebben met 'cat blaat' ofzo. Oops.

Dit kan je in principe wel doen, maar dan moet je _alle_ files en dirs in de homedir (behalve public_html en de onderliggende delen) zo chmodden dat de files en dirs zelf alleen voor jezelf te zien(/evt executen) zijn. Een aangepaste UMASK kan daarbij in de toekomst helpen :)
En voor de www dir "chmod -R 755 /home/*userdir*/public_html" waarbij ze al hun www-files in de 'public_html' dir moeten zetten.
Uitstekend, behalve dat nu alle files executable zijn en dat is lang niet altijd de bedoeling. Hoeft geen probleem te zijn overigens :)

Het zal wel niet, maar het zou maar wel.


  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
Maar wacht eens...

[...]
Dit wil ik toch ook niet want vlgns mij is dit dus de user dir waar ook niemand in hoeft te kijken, alleen de sub-dir 'public_html' moet iedereen kunnen 'ls'-en, toch?

  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
Jullie lijken wel leraren zeg !!!

Jullie zeggen wel als ik iets goeds heb bedacht maar komen zelf niet als eerste met die ideen !!!

NO OFFENS !!
;)

JoHu

  • Jordi
  • Registratie: Januari 2000
  • Niet online

Jordi

#1#1

Volgens mij heb ik het een beetje onduidelijk omschreven en kan je mijn bericht op 2 manieren opvatten. Wat ik bedoel is: dat wil je inderdaad niet. Maar 711 wil alleen zeggen dat je geen dirlist kan opvragen, files waarvan je dus de naam weet (mits de permissies van de files zelf dat toestaan) zijn _wel_ te bekijken!!

Kijk daar nog maar eens even na en probeer het gewoon zelf eens :)

Enne daar ben je goed opgekomen hoor ;) Veel beter dan dat iemand het had voorgezegd.

Het zal wel niet, maar het zou maar wel.


  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
Ik snap wat je bedoelt (daar had ik nog niet aan gedacht, thnx)

Maar wat is dan de ALLER ALLER ALLER beste oplossing voor mijn probleem, ik bedoel...

Als er zo veel website's op Apache draaien met meerdere users, hoe hebben die dat dan geregeld ? (qua permissies dus he)

  • RemcoX
  • Registratie: Mei 2000
  • Laatst online: 14-02 20:05
Die public_html, lijkt me ook niet handig om die op 755 te zetten. World readable, dus iedereen kijkt in je script sources (passwords!)

Verwijderd

/me agrees met Jotti....Is niet slim om dat te doen. Zie Jotti's uitleg

/me snapt nog steeds niet waarom zijn oplossing niet goed zou zijn :?
"Veiliger" kan toch echt niet :?
Op donderdag 21 juni 2001 00:10 schreef johu het volgende:
Jullie lijken wel leraren zeg !!!

Jullie zeggen wel als ik iets goeds heb bedacht maar komen zelf niet als eerste met die ideen !!!

NO OFFENS !!
;)

JoHu
:D
Wij weten wel een klein beetje hoe we dat soort dingen aan moeten pakken. Alleen gaan we niet stap voor stap uitleggen hoe het precies moet. Je moet er wel zelf wat voor doen natuurlijk, anders leer je nooit met Linux omgaan.

  • johu
  • Registratie: September 1999
  • Laatst online: 22-01-2024
Nelske ?

Je zegt dat jou idee goed is maar je zei toch ook dat je met FollowSymlinks een heel groot risico meegeeft omdat als mensen een dir-naam weten, ze ook in andere dír's op je systeem kunnen komen. Of begrijp ik dat stukje nou verkeerd? :D

Verwijderd

Nee hoor, dat van die followSymlinks sloeg niet op mijn oplossing. Maar goed ik ben de beroerste niet en zal je een oplossing geven die er voor zorgt, dat alleen de gebruiker zelf in z'n eigen scripts/html files kan kijken en dat alleen apache ze kan lezen.
Dit alles buiten de home-dir van de gebruikers.

Eerst moet je even zien te achterhalen als welke groep Apache zelf draait. Je kan dit doen door in de Apache config file te kijken of door bijvoorbeeld
code:
1
ps -eo group, fname

in te tikken en te kijken als welke groep Apache (httpd) draait.
Als dit root mocht blijken te zijn (evenals de user als welke Apache draait, dan zou ik eerst even adviseren om dat te veranderen ;)

In de rest van dit verhaal gebruik ik "apache" zowel als user als als groep waaronder Apache draait.

Okee nu gaan we een subdir maken onder Home, waarin de HTML-directories voor de gebruikers komen. Die moet voor iedereen (in ieder geval de systeem gebruikers) toegankelijk zijn evenals voor Apache natuurlijk.
We noemen hem bijvoorbeeld. /home/WWW-user
code:
1
2
3
mkdir /home/WWW-user
chown root.apache /home/WWW-user
chmod 755 /home/WWW-user

Nog mooier zou het zijn om deze directory als groep de groep te geven waaronder alle systeem gebruikers vallen en als user de user waaronde Apache draait. Zo is het nog veiliger namelijk.
(chmod 570 /home/WWW-user in dat geval).

Okee nu maken we per systeem-gebruiker een html-dir aan die we dezelfde naam geven als de gebruikersnaam
code:
1
2
3
mkdir /home/WWW-user/nelske
chown nelske.apache /home/WWW-user/nelske
chmod 750 /home/WWW-user/nelske

Uiteraard is het verstandiger om eerst alle dir's aan te maken en dan een recursieve chmod opdracht uit te voeren ;)

Tja nu nog de bestandjes erin gooien en die de volgende atributen mee geven.
code:
1
2
chown nelske.apache -R /home/WWW-user/nelske/*
chmod 640 -R /home/WWW-user/nelske/*

Denk eraan dat eventuele subdirs dezelfde permissies moeten hebben als bovenliggende directorie.
Bepaalde scripts zullen eventueel uitvoer-rechten moeten hebben (CGI), voor die scripts zou dus ook de execute flag (iig voor de groep) gezet moeten worden.

Okee nu gaan we aan Apache laten weten waar de user-directories zijn:
code:
1
UserDir   /home/WWW-user/*

Nu weet apache waar de user-dirs te vinden zijn. Als je nu naar je website surft; bijvoorbeeld:
www.website.com/~nelske dan krijg ik de bestanden uit m'n HTML-dir geserveerd, terwijl www.website.com iets heel anders serveert.

Nu nog een beetje makkelijker maken voor je systeem gebruikers :) Anders raken ze de weg kwijt ;)

in /home/nelske gaan we even een (relatieve) symlink maken, naar mijn html-dir die we bijvoorbeeld www noemen.
code:
1
2
cd /home/nelske
ln -s ../WWW-user/nelske www

En als we dan toch bezig zijn, maken we in /home/WWW-user/nelske ook nog maar een (relatieve) symlink terug naar nelske's home-dir (kan toch niet door Apache gevolgd worden omdat (Follow)symlinks uit staan en in de home-dir heeft Apache toch geen leesrechten ;)
code:
1
2
cd /home/WWW-user/nelske
ln -s ../../nelske home

Tja duidelijker kon ik het toch niet maken :)

[edit]
Oh ja.
Je zal natuurlijk wel ook even met je ftp/Samba-server moeten spelen (of wat je ook gebruikt om de users toegang te geven tot die html-bestanden). De groep moet bij aanmaken van bestanden en dirs natuurlijk wel apache zijn ;) . Verder zal je even moeten kijken naar de permissies (umask) waarmee de bestanden/directories gemaakt worden. Je ftp-server heeft daar ongetwijfeld mogelijkheden voor (samba sowieso).

  • igmar
  • Registratie: April 2000
  • Laatst online: 10-05 13:53

igmar

ISO20022

Maar wat is dan de ALLER ALLER ALLER beste oplossing voor mijn probleem, ik bedoel...

Als er zo veel website's op Apache draaien met meerdere users, hoe hebben die dat dan geregeld ? (qua permissies dus he)
ACL's. Vergelijkbaar kwa mogelijkheden met de NT ACL's. (permissies per user / groep regelen)

  • DjFoxy
  • Registratie: Oktober 2000
  • Laatst online: 15-11-2023
Ik heb met de search gezocht op hoe ik mijn public_html directory bruikbaar voor mijn gebruikers kon maken en veilig voor het beheer.
Nu zag ik dus deze thread.
Ik ben begonnen met de handleiding van Nelske.
Ondanks dat ik een aantal dingen niet snap gaat het redelijk goed.
Ik heb echter een vraag.
Hoe kan ik zorgen dat de httpDaemon niet meer als root word gestart maar als gebruiker apache ?

Jaja de paprika


Verwijderd

Nu we het hier toch over die user-dirs hebben; hoe doen internet providers dit eigenlijk met Apache? Meestal krijg je dan een "mooi" adres zoals http://www.provider.nl/username (dus zonder die ~).

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
DjFoxy schreef op 03 februari 2003 @ 10:34:
Ik heb met de search gezocht op hoe ik mijn public_html directory bruikbaar voor mijn gebruikers kon maken en veilig voor het beheer.
Nu zag ik dus deze thread.
Ik ben begonnen met de handleiding van Nelske.
Ondanks dat ik een aantal dingen niet snap gaat het redelijk goed.
Ik heb echter een vraag.
Hoe kan ik zorgen dat de httpDaemon niet meer als root word gestart maar als gebruiker apache ?
Je kan best een nieuw topic starten ipv een een meer dan anderhalf jaar oud topic te schoppen ;)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 11:29

deadinspace

The what goes where now?

Jullie hebben naar de documentatie op de Apache site gekeken? Daar zijn antwoorden op beide vragen namelijk te vinden.

Verwijderd

DjFoxy schreef op 03 februari 2003 @ 10:34:
Ik heb met de search gezocht op hoe ik mijn public_html directory bruikbaar voor mijn gebruikers kon maken en veilig voor het beheer.
Nu zag ik dus deze thread.
Ik ben begonnen met de handleiding van Nelske.
Ondanks dat ik een aantal dingen niet snap gaat het redelijk goed.
Ik heb echter een vraag.
Hoe kan ik zorgen dat de httpDaemon niet meer als root word gestart maar als gebruiker apache ?

Daarvoor schop je een anderhalf jaar oud topic omhoog ? Bovendien is het een dubbelpost met ApacheDaemon non root .
Deze gaat ook op slot.
Pagina: 1

Dit topic is gesloten.