07 грудня, Четвер, 2023
A- A A+

Встановлення 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