Встановлення proftpd на Centos 7, авторизація через AuthUserFile.
ставимо сам пакет proftpd зі сховищ:
yum install proftpd proftpd-utils
Відкриваємо конфиг /etc/proftpd.conf додаємо туди рядки:
AuthUserFile /etc/ftpd.passwd
RequireValidShell off
AuthPAM off
RootLogin off
#UseFtpUsers on
PassivePorts 30000 35000
Перевіряємо чи є настройка закрити користувача в його домашній директорії щоб не міг бачити інші каталоги в системі
DefaultRoot ~
знайти і закоментіровать настройку AuthOrder в конфіги /etc/proftpd.conf. Додати в такому вигляді: таким чином ми відключили інші способи авторизації, залишили тільки через наш файл віртуальних користувачів.
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c
На цьому редагування конфіга proftpd закінчили, потрібно створити файл /etc/ftpd.passwd і додати користувачів.
-name ftpuser ім'я віртуального користувача -uid 33 вказується ID користувача та група --gid=33 в системі під яким буде логінитися віртуальний створений користувач. (в прикладі користувач з правами www:data)
-home /var/www/ вказали папку в яку користувач матиме доступ і не зможе вийти вище дякуючи налаштуванням «DefaultRoot ~»
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=pcservice --uid=33 --gid=33 --home=/var/www/ --shell=/bin/false
Фікс права доступу на файл з користувачами:
chmod o-rwx /etc/ftpd.passwd
chmod 640 /etc/ftpd.passwd
Якщо використовується firewalld в системі, відкриваємо потрібні порти:
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-35000/tcp --permanent
firewall-cmd --reload
рестарт proftpd
systemctl restart proftpd
Встановлення proftpd на Debian, авторизація через AuthUserFile.
ProFTPd
apt-get install proftpd
chmod 640 /etc/proftpd/ftpd.passwd
Створюмо нового ftp-користувача з логіном service, ідентифікатором 33, групою 33 та домашнім каталогом /var/www/.
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=ftpuser --uid=33 --gid=33 --home=/var/www/ --shell=/bin/false
Редагуєм /etc/proftpd/proftpd.conf, для підключения виртуального користувача:
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
_______________________________________
/var/www/pcservice
ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=service --uid=33 --gid=33 --home=/var/www/sabina/ --shell=/bin/false