Toon posts:

[linux, apache, vsftpd, suexec] Ingewikkeld rechtenprobleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Ik zit met een probleem waar ik al de hele middag over zit de peinzen... Search/google wist mij geen antwoord te brengen, dus leg ik het probleem voor aan de experts!
Ik heb een FC2 configuratie waar webhosting op geschiedt. Gebruikers kunnen d.m.v. vsftpd bij hun homedirectory (op dit moment nog in een chroot) op de locatie /home/wwwusers/%user%/
Sinds kort wil ik ook CGI-scripts aanbieden, maar uiteraard wel veilig: dus d.m.v. suexec. Ik gebruik overigens alle officiele Fedora RPMs, dus is de documentroot voor suexec /var/www. Echter, de www-documenten van gebruikers staan in /home/wwwusers/%user%/www. Ik kan dus geen suexec gebruiken voor scripts in de homedir van de user zelf.
Geen probleem, dacht ik, ik stop gewoon alle cgi-bin-files in /var/www/cgi-bin/%user%/ en ik maak een symlink vanuit de homedir van de user naar /var/www/cgi-bin/%user/. Echter, omdat vsftpd in chroot modus draait, kunnen users dus niet die symlink volgen naar /var/www/cgi-bin/, ze zitten vast in hun homedir.
Nu wil ik best die chroot opheffen, maar ik wil onder geen voorwaarde dat users andere directories dan hun homedir en cgi-dir kunnen openen. /etc/ moet dus echt een verboden plek zijn. Het liefst zou ik dus een lijst opgeven met paths waar users *wel* via ftp in mogen komen: /var/www/cgi-bin en /home/wwwusers, maar dat lijkt onmogelijk.
Heeft iemand een oplossing voor dit probleem, ik wordt er onderhand een beetje gek van!

  • Virgil
  • Registratie: November 2001
  • Laatst online: 07-02 13:37

Virgil

We're not alone

Je wilt dus dat de gebruikers hun eigen cgi scripts moeten kunnen uploaden, en dat die terecht komen in /var/www/cgi-bin..

Waarom geen script/programma laten draaien die de geuploade cgi files verplaatst naar /var/www/cgi-bin/%user%/

Dan worden de files gewoon geupload in de homedir, maar dan verplaatst je progsel het naar de goede dir.

Ik was heel, heeeel vroeger SeRRveR


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Zoals altijd zijn er meerdere opties mogelijk :)
De cgi-directories met mount --bind in de homedirs plaatsen.
De homedirs verplaatsen zodat suexec er wel bij kan.
Als je niet aan vsftpd vastzit, pure-ftpd nemen die heeft support voor virtuele chroots, zodat je wel symlinks kunt gebruiken naar buiten de homedir, alwaar dan weer een chroot plaatsvindt. Zo kun je dus met behoud van de huidige directorystructuur toch met chroots werken en de rest van het systeem verborgen houden.

Verwijderd

Topicstarter
Daar heb ik aan zitten denken, en als er geen andere oplossing is, dan doe ik dat... Maar je zult het met me eens zijn dat dit valt onder de categorie "workaround"... Bovendien zie ik niet precies hoe ik dat zonder vertraging zou kunnen doen. Als het met een cronscript moet gebeuren, dan kan het hooguit iedere minuut, of ik moet een eigen daemon schrijven die dit regelt...

  • molf
  • Registratie: April 2004
  • Laatst online: 05-05-2023
Ik heb ooit een dergelijk probleem opgelost met mount --bind, ook al leek het me in eerste instantie een on-elegante oplossing. Was toch de enige manier om vsftpd te kunnen blijven gebruiken.

Verwijderd

Topicstarter
Dat is een geweldig goede tip! Dit werkt als een trein, bedankt!
Pagina: 1