
1. Подключаем репозиторий epel:
rpm -Uvh http://mirror.datacenter.by/pub/fedoraproject.org/epel/6/x86_64/epel-release-6-8.noarch.rpm
2. Устанавливаем Proftpd:
yum -y install proftpd
3. Активируем автозапуск FTP сервера:
chkconfig proftpd on
4. приводим конфигурационный файл /etc/proftpd.conf к следующему виду (ссылка а сам файл):
ServerName "Firefly FTP" ServerIdent on "FTP Server ready." ServerAdmin root@firefly.by DefaultServer on DefaultRoot ~ AuthPAMConfig proftpd AuthOrder mod_auth_file.c PersistentPasswd off AuthPAM off AllowStoreRestart on UseReverseDNS off User nobody Group nobody AuthUserFile /etc/ftpd.passwd AuthGroupFile /etc/ftpd.group RequireValidShell off MaxInstances 20 UseSendfile off LogFormat default "%h %l %u %t \"%r\" %s %b" LogFormat auth "%v [%P] %h %t \"%r\" %s"TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off #TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log LoadModule mod_ban.c BanEngine on BanLog /var/log/proftpd/ban.log BanTable /var/run/proftpd/ban.tab BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00 BanControlsACLs all allow user ftpadm Umask 022 IdentLookups off AllowOverwrite yes AllowAll User ftp Group ftp AccessGrantMsg "Anonymous login ok, restrictions apply." UserAlias anonymous ftp MaxClients 10 "Sorry, max %m users -- try again later" DisplayLogin /welcome.msg DisplayChdir .message DisplayReadme README* DirFakeUser on ftp DirFakeGroup on ftp DenyAll AllowOverwrite no WtmpLog off ExtendedLog /var/log/proftpd/access.log WRITE,READ default ExtendedLog /var/log/proftpd/auth.log AUTH authDenyAll AllowAll
пояснения к опциям:
AllowStoreRestart — разрешаем докачку файлов.
5. скачиваем утилиту ftpasswd для использования авторизации ftp-пользователей на базе модулей AuthUserFile и AuthGroupFile
wget http://www.castaglia.org/proftpd/contrib/ftpasswd
chmod +x ./ftpasswd
mv ./ftpasswd /bin/
6. создаем системного пользователя которому будут принадлежать все файлы закаченные по фтп:
useradd -m -d /var/ftpserver -u1001 ftpserver
7. создаем ФТП пользователя:
ftpasswd --passwd --file /etc/ftpd.passwd --uid 1001 --gid 1001 --shell /bin/false --name ftpuser1 --home /var/ftpserver/ftpuser1
ftpasswd: using alternate file: /etc/ftpd.passwd
ftpasswd: creating passwd entry for user ftpuser1
ftpasswd: /bin/false is not among the valid system shells. Use of
ftpasswd: "RequireValidShell off" may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.
Password:
Re-type password:
ftpasswd: entry created
8. Создаем домашний каталог ftp-пользователя:
mkdir /var/ftpserver/ftpuser1
chown -R ftpserver:ftpserver /var/ftpserver/ftpuser1
Для создании дополнительных пользователей — повторить пункты 7 и 8 изменяя домашний каталог и имя пользователя.