Краткое руководство по установке и быстрой настройке FTP-сервера ProFTPd на Gentoo GNU/Linux
В первую очередь устанавливаем пакет proftpd
# emerge --ask proftpd
Затем создадим пару пользователей ftpuser1 и ftpuser2 без домашнего каталога
# useradd -g ftp -s /bin/false -p ftpuser1 --no-create-home ftpuser1 # useradd -g ftp -s /bin/false -p ftpuser2 --no-create-home ftpuser2
После этого скопируем конфигурационный файл proftpd.conf из примера в каталоге /etc/proftpd/
# cp /etc/proftpd/proftpd.conf.sample /etc/proftpd/proftpd.conf
и откроему его
# nano /etc/proftpd/proftpd.conf
Если не нужен доступ для анонимных пользователей, в конце файла стираем эти строчки:
# A basic anonymous FTP account without an upload directory. <Anonymous ~ftp> User ftp Group ftp # Clients can login with the username "anonymous" and "ftp". UserAlias anonymous ftp # Limit the maximum number of parallel anonymous logins to 10. MaxClients 10 # Prohibit the WRITE command for the anonymous users. <Limit WRITE> DenyAll </Limit> </Anonymous>
и также в конец файла подключим файл с конфигурации доступа пользователей:
Include /etc/proftpd/users.conf
сохраняем.
Затем создадим файл /etc/proftpd/users.conf
# touch /etc/proftpd/users.conf
открываем его
# nano /etc/proftpd/users.conf
и добавляем такие строчки:
<Anonymous ~ftp> User ftpuser1 Group ftp MaxClients 10 </Anonymous> <Anonymous ~ftp> User ftpuser2 Group ftp MaxClients 10 <Limit WRITE> DenyAll </Limit> </Anonymous>
Здесь указано, что пользователь ftpuser1 может читать и записывать файлы в директорию /home/ftp/, а пользователь ftpuser2 может работать в этом каталоге только в режиме чтения
Далее сделаем права на запись в директорию /home/ftp/
# chmod 777 /home/ftp/
Теперь подключим SSL-сертификат. Для этого создадим директорию /etc/proftpd/ssl/
# mkdir /etc/proftpd/ssl/
запустим команду, которая сгенерирует сертификат
# openssl req -x509 -days 1461 -nodes -newkey rsa:1024 -keyout /etc/proftpd/ssl/proftpd.pem -out /etc/proftpd/ssl/proftpd.pem -subj "/C=RU/ST=MSK/L=Moscow/O=HappyCompany/OU=IT Department/CN=www.domain.com"
откроем файл /etc/proftpd/proftpd.conf
# nano /etc/proftpd/proftpd.conf
и в самом конце допишем следующие строки:
TLSEngine on TLSRequired on TLSRSACertificateFile /etc/proftpd/ssl/proftpd.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/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
Сохраняем.
Запускаем службу proftpd и добавляем её в автозагрузку
# rc-service proftpd start # rc-update add proftpd default
Теперь можно подключаться к нашему FTP-серверу с помощью клиента, например FileZilla FTP Client.