10.2. ProFTPD

FTP-serveren ProFTPD er udviklet som en udløber af Apache-projektet. Det er lavet primært til at tilbyde en nem måde at lægge sine websider op i sit hjemmesidekatalog. Den er altså udviklet til præcist det, der er mest aktuelt på en skole - godkendt brugeradgang til hjemmekataloger via FTP.

Det kan også sættes op til at være anonym ftp-server, men det er vel ikke så relevant på en skole.

Med RedHat følger en FTP-server, der hedder WUftp. Den er efter vores erfaringer ikke nær så let at gå til som ProFTPD.

10.2.1. Installation af ProFTPD

Først skal vi have hentet 2 RPMer på ftp://ftp.jaquet.dk/pub/proftp/distrib/packages/RPMS/, vælg /i386/ eller /i686/ alt efter hvilken processor, der sidder i din server. Hent RPMerne: proftpd-1.2.*.rpm og proftpd-inetd-1.2.*.rpm (også selvom du bruger Xinetd).

Fjern Wu-ftpd, hvis du kom til at installere den i sin tid:

[root@gnuskole /root]# /etc/init.d/ftpd stop
[root@gnuskole /root]# rpm -e wuftpd 

Installer ProFTPD:

[root@gnuskole /root]#  rpm -Uvh proftpd-*.rpm
[root@gnuskole /root]#  rpm -Uvh proftpd-inetd-1.2.*.rpm

Hvis du bruger RedHat 6.2 skal du nu ind i /etc/inetd.conf og se, om ftplinien ser sådan ud:

ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd

og fjerne # tegnet foran linien, hvis det står der.

Bruger du RedHat 7.x skal du lave en fil der får Proftpd til at arbejde sammen med Xinetd. Gem følgende som en tekstfil med navnet /etc/xinit.d/proftpd

##begin file listing
# default: on
# description: The proftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
#service raw-ftp #Hvis du krypterer med Safetp.
{ 
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/proftpd
only_from = 0.0.0.0
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
}
##end file listing.

10.2.2. Tilretning af proftpd.conf

ProFTPD styres af en enkelt fil:/etc/proftpd.conf. Da du installerede pakken proftpd-inetd-1.2.*.rpm lagde den en standardproftpd.conf i /etc/ Standardfilen tillader både anonym- og brugeradgang til din server. For at få sat alting rigtigt op skal vi lige lave lidt rettelser i denne fil. Jeg har lagt et eksempel her. Det giver kun brugeradgang til ens eget hjemmekatalog på Gnu Skole.

Åbn /etc/proftpd.conf i din yndlingsteksteditor. Først skal vi have lukket brugerne inde, så de ikke kan gå udenfor deres eget hjemmekatalog. Det gøres ved at indsætte linien:

DefaultRoot ~

Efter:

DefaultServer on

i starten af /etc/proftpd.conf Så er det på plads.

Hvis du ikke har brug for anonym adgang til skolens server, vil vi kraftigt opfordre dig til at fjerne muligheden. Det gør du ved at sætte # foran alle linier, der står efter linien:

# A basic anonymous configuration, no upload directories.

i /etc/proftpd.conf.

Hvis du har lavet en stram adgangspolitik, og tilføjet

ALL : ALL

til din /etc/hosts.deny, skal du lige give lov til at bruge FTP-serveren. Åbn /etc/hosts.allow og indsæt linien:

in.proftpd : ALL

Ideen var jo, at eleverne og lærerne også måtte bruge FTP hjemmefra.

Så er alt klart til at køre ProFTPD. Kør i 6.2:

[root@gnuskole /root]# /etc/rc.d/init.d/inet restart

I Redhat 7.x køres:

[root@gnuskole /root]# /etc/init.d/xinetd restart

for at få ændringerne til at træde i kraft.

Der er mange andre muligheder for at tilrette /etc/proftpd.conf. De er alle glimrende dokumenteret på: http://www.proftpd.net/docs/configuration.html. En kopi af denne side ligger i /usr/doc/proftpd*/. Men husk nu at få krypteret kommandoporten før du offentliggør muligheden til dine brugere!