Nieuws:

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

Auteur Topic: FTP server  (gelezen 1267 keer)

mathieumaes

  • Gast
FTP server
« Gepost op: 2006/10/13, 15:09:48 »
Ik zou mijn vaste pc willen gebruiken als fileserver met enerzijds een "persoonlijke map" en een gedeelde partitie (met o.a. filmpjes en foto's...)

Dit lukt al zeer aardig met Samba. Ik heb gewoon de [homes] gedeeld zodat elke gebruiker al zijn eigen mapje heeft. In elke /home/user map heb ik symbolic links gemaakt naar de gedeelde partitie. Dit werkt dus perfect zo...

Nu wil ik dit ook doen via FTP. Ik heb vsFTPd en Pure-FTPd geprobeerd, maar met beide programma's heb ik hetvolgende probleem :

Elke user heeft nu via FTP volledige toegang op het ganse filesystem, wat ik niet wil toestaan...
In beide daemons heb je een feature om de user in zijn home map te "chrooten", maar in dat geval werken de symbolic links niet meer (Can't change directory)

- Welke daemon kan ik voor deze setup best gebruiken ?
- Hoe kan ik dit het best instellen ?

Azalin

  • Gast
FTP server
« Reactie #1 Gepost op: 2006/10/13, 15:55:43 »
Je kunt ook ProFTP proberen... volg dan de volgende howto en je gebruikers hebben alleen rechten om de map te zien die je speciaal voor FTP hebt aangemaakt:

http://www.ubuntuforum.com/showthread.php?s=c8736ae5769d39fd26127aff1ff222aa&t=79588&highlight=proftpd

blubber

  • Gast
FTP server
« Reactie #2 Gepost op: 2006/10/13, 16:31:08 »
Hoe heb je dat chroot-en gedaan? Icm pure-ftp heb ik dat in het verleden als volgt opgelost zonder problemen te ondervinden:
In /etc/passwd:
gebruiker:x:1000:1000:gebruiker,,,:/home/gebruiker:/bin/bash
# veranderen in
gebruiker:x:1000:1000:gebruiker,,,:/home/gebruiker/./:/bin/bash

Offline Erik Meulman

  • Lid
    • http://www.de-meulies.nl
  • Steunpunt: Nee
FTP server
« Reactie #3 Gepost op: 2006/10/13, 19:46:10 »
Je kun gewoon users aanmaken die alleen een /bin/false hebben kunnen dan ook niet gewoon inloggen maar wel bijvoorbeeld FTP'en.

wr19026

  • Gast
FTP server
« Reactie #4 Gepost op: 2006/10/13, 21:28:34 »
Ik heb 't op deze manier gedaan, en idd de shell voor de FTP users naar /bin/false gezet (naderhand en handmatig):

ProFTP
------
apt-get install proftpd proftpd-common

vi /etc/proftpd.conf
# Adding additional security
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."

/etc/init.d/proftpd restart

adduser --home /ftp-dir/ftp-user

vi /etc/passwd
en dan dus de shell op /bin/false zetten

Azalin

  • Gast
FTP server
« Reactie #5 Gepost op: 2006/10/14, 00:38:14 »
Citaat van: wr19026
Ik heb 't op deze manier gedaan, en idd de shell voor de FTP users naar /bin/false gezet (naderhand en handmatig):

ProFTP
------
apt-get install proftpd proftpd-common

vi /etc/proftpd.conf
# Adding additional security
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."

/etc/init.d/proftpd restart

adduser --home /ftp-dir/ftp-user

vi /etc/passwd
en dan dus de shell op /bin/false zetten
Als dit het enige is dat je aan de standaard proftp config hebt veranderd, dan moet je maar eens met je root of met je eigen account proberen in te loggen op je ftp server. Schrik niet, maar dat kan dus... en je kan dan in de home dir van die user... er zitten dan nog veel meer haken en ogen aan maar dat is de meest voor de hand liggende... linke soep.

Ik weet niet of er iemand geinsterresseerd is een config van ProFtp.. bij deze :)
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

ServerName "Dragon Slayer"
ServerType standalone
DeferWelcome on

MultilineRFC2228 on
DefaultServer on
ShowSymlinks off

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                 "-l"

#DenyFilter \*.*/

RequireValidShell off
TimeoutLogin 20

# Logfile generation and location
ExtendedLog /var/log/ftp.log
TransferLog /var/log/xferlog
SystemLog /var/log/syslog.log

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
PersistentPasswd off

# Uncomment this if you would use TLS module:
#TLSEngine on

# Uncomment this if you would use quota module:
#Quotas on

# Uncomment this if you would use ratio module:
#Ratios on

# Port 21 is the standard FTP port.
Port 21

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 8

MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8

# Set the user and group that the server normally runs at.
User nobody
Group nogroup

Umask 022  022
AllowOverwrite on
AllowStoreRestart on
AllowRetrieveRestart on

DefaultRoot /home/ftp
DefaultRoot ~

MaxLoginAttempts 5

AuthAliasOnly on
UserAlias superuser ftpuser
UserAlias azalin ftpadmin
UseFtpUsers off
RootLogin off

#VALID LOGINS

AllowUser ftpuser
Allowuser ftpadmin
DenyALL



Umask 022 022
AllowOverwrite off

DenyAll




Umask 022 022
AllowOverwrite off

DenyAll



/home/ftp/upload/>
Umask 022 022
AllowOverwrite on

Order Allow,Deny
AllowUser ftpadmin
      DenyAll
   


   
      AllowAll
   

Nou is de standaard port 21 ook niet echte en geweldig idee zoals ik dat heb gedaan ... maar het kan niet anders bij mij. Zoals te zien is, kunnen er maar twee gebruikers in en die kunnen alleen daar waar ik ze toestemming toe heb gegeven...

wr19026

  • Gast
FTP server
« Reactie #6 Gepost op: 2006/10/14, 01:28:34 »
Citaat van: Azalin
Als dit het enige is dat je aan de standaard proftp config hebt veranderd, dan moet je maar eens met je root of met je eigen account proberen in te loggen op je ftp server. Schrik niet, maar dat kan dus... en je kan dan in de home dir van die user... er zitten dan nog veel meer haken en ogen aan maar dat is de meest voor de hand liggende... linke soep.
Ik heb het enkel toegevoegd, het is niet het enige in de config :) Voor de rest draait denyhosts en heeft behalve root maar