Установка vsftpd на CentOS 7

Проведём установку и настройку сервиса vsftpd на CentOS 7. Чтобы установить его, нужно выполнить следующую команду:

yum install vsftpd

Запустим и разрешим сервису запускаться во время загрузки:

systemctl start vsftpd
systemctl enable vsftpd

Вы можете проверить, что служба vsftpd запущена, выполнив команду:

systemctl status vsftpd

Вывод будем примерно таким:

● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-01-29 12:51:24 UTC; 10s ago
 Main PID: 28841 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─28841 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Настройка vsftpd

Настройка службы vsftpd выполняется через файл /etc/vsftpd/vsftpd.conf.

Откройте файл конфигурации vsftpd для настройки:

nano /etc/vsftpd/vsftpd.conf

Включение доступа по FTP

Сделаем так, что разрешить подключатся к серверу только локальным пользователям. Для этого надо в пунктах anonymous_enable и local_enable изменить значение:

anonymous_enable=NO
local_enable=YES

Настройка загрузки файлов

Раскомментируйте write_enable параметр, чтобы разрешить загрузку и удаление файлов.

write_enable=YES

Так же укажем параметр local_umask — чтобы на загруженный файлы устанавливались права 655, а на директории 755:

local_umask=055

Настройка домашнего FTP каталога для пользователя

Чтобы пользователи не смогли получить доступ в другие каталоги кроме своей, измените параметр chroot_local_user:

chroot_local_user=YES

По умолчанию, когда включен chroot, vsftpd откажется загружать файлы, если каталог, в котором заблокированы пользователи, доступен для записи. Это сделано для предотвращения уязвимости системы безопасности.

Так же, укажем значение следующей директиве, чтобы предоставить пользователю доступ с правом записи к его домашнему каталогу

allow_writeable_chroot=YES

Директория пользователя для FTP устанавливается в конфигурационный файл с параметром local_root, Вы можете изменить директорию на своё усмотрение, например:

local_root=/home/$USER/SUPER_FTP

Мы так же можем создать файл .message в каталоге пользователя и написать туда какое-либо приветствие, которое будет показываться при входе в каталог. Чтобы включить данную функцию — добавьте в конфигурационный файл строку:

dirmessage_enable=YES

 

Настройка FTP-соединение

Укажем минимальный и максимальный диапазон портов для соединения:

pasv_min_port=30000
pasv_max_port=31000

 

Настройка ограничения входа пользователя

Чтобы разрешить вход на сервер только конкретным пользователям — добавьте следующие строки после строки:

userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

Когда этот параметр включен, вам необходимо указать какие пользователи могут входить в систему, добавив имена пользователей в файл /etc/vsftpd/user_list, при этом каждый пользователь должен быть прописан с новой строки.

Настройка защищенного соединения SSL/TLS

Чтобы включить защищённые FTP-передачи с помощью SSL/TLS — потребуется сертификат SSL.Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самоподписный сертификат. Если у вас есть домен или поддомен, указывающий на IP-адрес FTP-сервера, вы можете легко создать бесплатный SSL-сертификат Let’s Encrypt. В другом случае, мы можем создать 2048-битный закрытый ключ и самозаверяющий сертификат, действительный в течение 10 лет. выполните эту команду и сертификат с ключём будет созранён в одном файле:

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

После создания SSL-сертификата откройте файл конфигурации vsftpd. Найдите строки и пропишите путь к созданному файлу с сертификатом и ключём:

rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES

После изменений перезапустите службу vsftpd:

systemctl start vsftpd

Окончательный конфигурационный файл должен выглядеть так:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=YES
chroot_local_user=YES
listen=NO
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
tcp_wrappers=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=30000
pasv_max_port=31000
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES

Если Вам принципиально отслеживание всех действий FTP пользователей, тогда пропишите в конфигурационный файл:

xferlog_std_format=YES
xferlog_enable=YES

Тем самым мы включили логи всех действий, которые будут происходить на FTP-сервере.

Настройка iptables

Если вы используете брандмауэр, вам необходимо разрешить FTP-трафик.Чтобы открыть порты 21, 20 и диапазон портов 30000-31000, выполните следующие команды:

iptables -A INPUT -p tcp --match multiport --dports 20:21-j ACCEPT
iptables -A INPUT -p tcp --match multiport --dports 30000:31000-j ACCEPT

 

Создание пользователя FTP

Чтобы создать нового пользователя myftpuser, выполним команду:

adduser myftpuser

Далее необходимо установить пароль пользователя :

passwd myftpuser

Добавьте пользователя в список разрешенных пользователей FTP:

echo "myftpuser" | sudo tee -a /etc/vsftpd/user_list

После чего нужно создать каталоги и устаноить необходимые права:

mkdir -p /home/myftpuser/ftp/upload
chmod 550 /home/myftpuser/ftp
chmod 750 /home/myftpuser/ftp/upload
chown -R myftpuser: /home/myftpuser/ftp

После чего, пользователь сможет загружать свои файлы в директорию ftp/upload.

На этом настройка vsftpd закончена. Вы можете подключаться к своему серверу с помощью любого FTP-клиента, например FileZilla .

Goodhoster.NET
Добавить комментарий

  1. how long do delta faucet cartridges last

    I was more than happy to uncover this web site. I want to
    to thank you for ones time due to this fantastic
    read!! I definitely appreciated every bit of
    it and i also have you bookmarked to check out new things on your site.

    Ответить
  2. delta 8 gummies blue razz review

    Hello just wanted to give you a quick heads up. The text in your post seem to be running off the screen in Firefox.
    I’m not sure if this is a formatting issue or something
    to do with browser compatibility but I thought I’d post
    to let you know. The design and style look great though!
    Hope you get the issue fixed soon. Kudos

    Ответить
  3. cbd pros delta 8 gummies

    A motivating discussion is worth comment. There’s
    no doubt that that you ought to publish more on this issue, it might
    not be a taboo matter but generally people do not discuss
    such topics. To the next! Kind regards!!

    Ответить
  4. koi delta 8 gummies cbd

    It’s a shame you don’t have a donate button! I’d definitely donate to this
    fantastic blog! I suppose for now i’ll settle for bookmarking and adding your RSS feed to my Google account.
    I look forward to fresh updates and will share this blog with my Facebook group.

    Chat soon!

    Ответить
  5. delta 8 gummies best value

    Great goods from you, man. I’ve understand your stuff previous to and you are just extremely
    excellent. I really like what you’ve acquired here, really like what you
    are stating and the way in which you say it. You make it enjoyable and
    you still care for to keep it sensible. I cant wait to read far more from you.
    This is actually a tremendous site.

    Ответить
  6. just delta 8 gummies

    I am regular reader, how are you everybody? This paragraph posted at this site is really fastidious.

    Ответить
  7. high hemp delta 8 cbd gummies

    It’s actually a great and helpful piece of information. I
    am happy that you simply shared this helpful info with us.

    Please stay us up to date like this. Thanks for sharing.

    Ответить