Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: ftpserver met proftpd  (gelezen 2069 keer)

leonard

  • Gast
ftpserver met proftpd
« Gepost op: 2009/03/27, 10:55:16 »
Hallo Allen,

Ik wil met behulp van proftpd een ftp server opzotten. Ik ben daarvoor opzoek naar de volgende mogelijkheden, maar ik zou zo snel niet weten hoe ik ze kan realizeren. zou iemand mij hierin kunnen assisteren?
- Is het mogelijk om z.g.n. virtuele paden te maken? Ik heb bijvoorbeeld in de map /fileserver/software een lading software staan. Ik zou die graag delen op mijn ftp. Is het mogelijk om de map software in de homemap van bepaalde gebruikers weer te geven?
- ik zou de gebruikers die deze mappen kunnen zien graag in een bepaalde groep plaatsen. bijvoorbeeld de mensen in de groep ftp kunnen de map software en audio zien in hun home dir, de mensen in de group admin zien een link naar de complete mappenstructuur, dus "/". Is dit mogelijk, en hoe?

Alvast bedankt
Leonard

Offline karlhungus

  • Lid
  • Steunpunt: Nee
Re: ftpserver met proftpd
« Reactie #1 Gepost op: 2009/04/12, 13:14:18 »
Zelf heb ik het volgende gedaan :

deze tutorial doorlopen om een proftpd installatie te krijgen met virtuele hosts in een mysql database :
http://www.debuntu.org/how-to-ftp-virtual-host-with-proftpd-mysql
Vind het zelf ook belangrijk dat ik niet in plain text  de logins en passwd van mn ftp server over het net stuur dus ook deze tutorial erbij gepakt om er een ftps van de maken (weliswaar voor 8.10, maar dat is om het even in dit geval) :
http://www.howtoforge.com/setting-up-proftpd-tls-on-ubuntu-8.10

Dan is dit de uiteindelijke proftpd.conf die ik heb overgehouden :
Include /etc/proftpd/modules.conf
Include /etc/proftpd/sql.conf
Include /etc/proftpd/tls.conf

UseIPv6 off
MasqueradeAddress serverip
ServerName "FTPd"
ServerType standalone

DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
RootLogin off
RequireValidShell off
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 600
DisplayLogin                    welcome.msg
#DisplayChdir                .message true
ListOptions                "-l"
IdentLookups off
ServerIdent on "...."


DenyFilter \*.*/
DefaultRoot ~
DirFakeUser on ftp
DirFakeGroup on ftp
DirFakeMode 0600

Port 6003
PassivePorts 5960 6000
MaxInstances 20

User proftpd
Group proftpd


Umask   0006

AllowOverwrite on
AllowForeignAddress on

TransferLog /var/log/proftpd/xferlog.log
SystemLog   /var/log/proftpd/proftpd.log

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>


<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

vervolgens heb ik 2 gebruikersgroepen gemaakt die allebei een home directory hebben in :

/var/proftpd/groep1
/var/proftpd/groep2

als ik nu een gebruiker wil aanmaken log ik in op mn mysql server en geef ik het volgende commando om de gebruiker aan te maken met als homedir  /var/proftpd/groep1 .
mysql> INSERT INTO `ftpuser` (`id`, `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`, `accessed`, `modified`) VALUES (1, 'gebruiker1', PASSWORD('userpassword'), 3001, 3001, '/var/proftpd/groep1', '/sbin/nologin', 0, '', '');

Je kan hiervoor ook van sourceforge proftpd administrator downloaden en installeren, maar ik hou het graag basic.

Om er nu voor te zorgen dat de goede personen op de goede plekken komen binnen mijn filesystem maak ik binds van de groep home directorys naar de plekken op mn systeem waar de data staat. een /etc/fstab voorbeeld :

/mnt/sda4/music_archive    /var/proftpd/groep1/muziek none    bind 0 0
Als er nu een persoon inlogt uit groep 1 dan ziet hij in zn home directory de map muziek.

S6~
« Laatst bewerkt op: 2009/04/12, 13:16:05 door karlhungus »