ProFTPD-1.3.8b

Introduksjon til ProFTPD

ProFTPD pakken inneholder en sikker og svært konfigurerbar FTP nisse. Dette er nyttig for servering av store filarkiver over et nettverk.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

ProFTPD Avhengigheter

Valgfri

libcap-2.72 med PAM, libssh2-1.11.1, Linux-PAM-1.7.0, MariaDB-11.4.4 eller MySQL, pcre2-10.44, PostgreSQL-17.1, og Net::SSH2

Installasjon av ProFTPD

Av sikkerhetsgrunner bør du installere ProFTPD ved å bruke en uprivilegert bruker og gruppe. Som root bruker:

groupadd -g 46 proftpd                             &&
useradd -c proftpd -d /srv/ftp -g proftpd \
        -s /usr/bin/proftpdshell -u 46 proftpd     &&

install -v -d -m775 -o proftpd -g proftpd /srv/ftp &&
ln -v -s /usr/bin/false /usr/bin/proftpdshell      &&
echo /usr/bin/proftpdshell >> /etc/shells

Installer ProFTPD som en uprivilegert bruker ved å kjøre følgende kommandoer:

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/run &&
make

Denne pakken kommer ikke med en brukbar testpakke.

Nå, som root bruker:

make install                                   &&
install -d -m755 /usr/share/doc/proftpd-1.3.8b &&
cp -Rv doc/*     /usr/share/doc/proftpd-1.3.8b

Parameterforklaringer

install -v -d -m775 -o proftpd -g proftpd /srv/ftp: Oppretter hjemmemappen for ProFTPD.

ln -v -s /usr/bin/false /usr/bin/proftpdshell: Setter standard skall som en kobling til et ugyldig skall.

echo /usr/bin/proftpdshell >> /etc/shells: Forfalske et gyldig skall for kompatibilitetsformål.

[Notat]

Notat

De to ovennevnte kommandoene kan utelates hvis følgende direktiv er plassert i konfigurasjonsfilen:

RequireValidShell off

Som standard vil proftpd kreve at brukere som logger på har gyldig skall. RequireValidShell direktivet slår av dette kravet. Dette anbefales kun hvis du setter opp FTP serveren utelukkende for anonyme nedlastinger.

[Notat]

Notat

Støtte for de fleste av avhengighetspakkene krever bruk av alternativer gitt til configure skriptet. Se utdataen fra ./configure --help for fullstendig informasjon om aktivering av avhengighetspakker.

Konfigurere ProFTPD

Konfigurasjonsfiler

/etc/proftpd.conf

Konfigurasjonsinformasjon

Dette er en enkel konfigurasjon som gjør at det bare kan lastes ned. Se ProFTPD dokumentasjon i /usr/share/doc/proftpd og se nettsiden på http://www.proftpd.org/ for eksempelkonfigurasjoner.

cat > /etc/proftpd.conf << "EOF"
# This is a basic ProFTPD configuration file
# It establishes a single server and a single anonymous login.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# 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

MaxInstances                    30

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

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~


# Normally, files should be overwritable.
<Directory /*>
  AllowOverwrite                on
</Directory>

# A basic anonymous configuration, no upload directories.
<Anonymous ~proftpd>
  User                          proftpd
  Group                         proftpd
  # Clients should be able to login with "anonymous" as well as "proftpd"
  UserAlias                     anonymous proftpd

  # Limit the maximum number of anonymous logins
  MaxClients                    10

  # 'welcome.msg' should be displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>
EOF

Oppstartsskript

Installer /etc/rc.d/init.d/proftpd init skriptet inkludert i blfs-bootscripts-20240913 pakken:

make install-proftpd

Innhold

Installerte Programmer: ftpasswd, ftpcount, ftpdctl, ftpmail, ftpquota, ftpscrub, ftpshut, ftptop, ftpwho, in.proftpd (symbolkobling til proftpd), proftpd, og prxs
Installerte Biblioteker: Ingen
Installerte Mapper: /usr/{include,lib}/proftpd, /usr/share/doc/proftpd-1.3.8b, og /srv/ftp

Korte Beskrivelser

proftpd

er FTP nissen

ftpcount

viser gjeldende antall tilkoblinger

ftpdctl

brukes til å kontrollere proftpd nissen mens den kjører

ftpasswd

er et Perl skript designet for å lage og administrere AuthUserFiles og AuthGroupFiles med riktig format for proftpd

ftpmail

er et Perl skript for å sende e-post basert på proftpd TransferLog

ftpquota

er et Perl skript designet for å opprette og administrere grenser og måle filer for kombinasjonen mod_quotatab + mod_quotatab_file for proftpd

ftpscrub

gir en måte å skrubbe resultattavlefilen på etter behov

ftpshut

slår av alle proftpd servere på et gitt tidspunkt

ftptop

viser kjørestatus på tilkoblinger

ftpwho

viser gjeldende prosessinformasjon for hver økt

prxs

er et Perl skript designet for å kompilere og installere tredjeparts moduler, fra kildekoden, som DSO moduler for den installerte proftpd