Ftp для linux debian

Ftp для linux debian

Installing and configuring FTP server vsftpd.

Introduction

This article aims to detail the steps to set up an FTP file sharing server, using vsftpd (Very Secure FTP Daemon).

Installation

As usual, installation is very simple with apt-get or Aptitude. As root run:

After installing, the server starts automatically and listens on TCP port 21 by default.

You can check it within netstat:

# netstat -npl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 22468/vsftpd

If your host does not have a firewall, it is recommended to stop vsftpd before configuring.

Configuration

The configuration file for this server is /etc/vsftpd.conf. You can find example configuration files in /usr/share/doc/vsftpd/EXAMPLE.

  • BOOLEAN OPTIONS — can be YES or NO;
  • NUMERIC OPTIONS — e.g. time in seconds, port number
  • STRING OPTIONS — path to directory or file /var/run/vsftpd/;

If certain options are not present in the configuration file, the server will be use default parameters (see man vsftpd.conf).

Anonymous access

By default, anonymous connections are not allowed.

If you enable this, only access to directory /srv/ftp/ is allowed:

  • anon_upload_enable — allow file uploads from anonymous users (under certain conditions).
  • anon_mkdir_write_enable — allow directory creation.
  • anon_root=/data/directory — allow to change the default directory.

For enabling changes to ownership, set:

chown_uploads=YES chown_username=username

User access control

Access is enabled for authorized local users by default. To disable:

User Management

Containment of users

User accounts can access files of the whole system which is not always desirable and can help to compromise the machine, they can be confined by changing vsftpd.conf :

The root of their FTP will be their home directory.

Nevertheless, an account can be used to connect outside of ftp: ssh, getty (terminal login) are examples . It will then still have access to the rest of the system by the shell. You can configure the services given as examples to block the account or to contain it, but the main solution is to disable the shell for the user.

Читайте также:  Rename folder in terminal linux

For that we assign the user’s shell to false , a simple binary which returns an error signal :

Then, you need to add false to the shells list :

See also :

Источник

Ftp для linux debian

Product SiteDocumentation Site

11.3. FTP File Server

FTP ( File Transfer Protocol ) is one of the first protocols of the Internet (RFC 959 was issued in 1985!). It was used to distribute files before the Web was even born (the HTTP protocol was created in 1990, and formally defined in its 1.0 version by RFC 1945, issued in 1996).

This protocol allows both file uploads and file downloads; for this reason, it is still widely used to deploy updates to a website hosted by one’s Internet service provider (or any other entity hosting websites). In these cases, access is enforced with a user identifier and password; on successful authentication, the FTP server grants read-write access to that user’s home directory.

SECURITY FTP, FTPS, and SFTP

FTP is not a secure protocol. User names, passwords, and data are transported in clear text. To increase the security, one can use FTP via implicit (enforced) or explicit (requested) SSL/TLS, also known as FTPS, but not to be confused with SFTP , the SSH File Transfer Protocol, an alternative file transfer implementation using SSH. Many FTP server packages in Debian support FTPS.

Other FTP servers are mainly used to distribute files for public downloading; Debian packages are a good example. The contents of these servers is fetched from other, geographically remote, servers; it is then made available to less distant users. This means that client authentication is not required; as a consequence, this operating mode is known as “anonymous FTP”. To be perfectly correct, the clients do authenticate with the anonymous username; the password is often, by convention, the user’s email address, but the server ignores it.

Many FTP servers are available in Debian ( ftpd(-ssl) , proftpd-basic , pure-ftpd and so on), which all provide the virtual ftp-server package. Please note that the pyftpd package, however, has been removed from the Debian project due to not being actively maintained anymore and being incompatible with Python 3. The Falcot Corp administrators picked vsftpd because they only use the FTP server to distribute a few files (including a Debian package repository); since they don’t need advanced features, they chose to focus on the security aspects.

Installing the package creates an ftp system user. This account is always used for anonymous FTP connections, and its home directory ( /srv/ftp/ ) is the root of the tree made available to users connecting to this service. The default configuration (in /etc/vsftpd.conf ) requires some changes to cater to the simple need of making big files available for public downloads: anonymous access needs to be enabled ( anonymous_enable=YES ) and read-only access of local users needs to be disabled ( local_enable=NO ). The latter is particularly important since the FTP protocol doesn’t use any form of encryption and the user password could be intercepted over the wire.

Читайте также:  Linux init process pid

FTP and FTPS resources can be accessed with a variety of clients, with and without a graphical user interface, and they can also be mounted locally using the curlftpfs command from the similarly named package.

Источник

Как установить и настроить FTP сервер vsftpd в Debian 11

FTP это сокращение от File Transfer Protocol (Протокол Передачи Файлов), является популярным протоколом для передачи файлов на FTP-сервер и с него. Но это чревато рисками для безопасности, так как он отправляет данные и конфиденциальную информацию, такую как имя пользователя и пароль, в обычном тексте. VSFTPD (Очень безопасный демон FTP) — это быстрый, безопасный и стабильный FTP — сервер, который использует шифрование для защиты данных.

В этой инструкции мы покажем как выполняется установка FTP сервера vsftpd в Debian 11.

Шаг 1: Установка vsftpd в Debian 11

Сначала откройте терминал и обновите списки пакетов на вашем сервере Debian.

Пакет vsftpd размещен в официальных репозиториях Debian. Поэтому используйте диспетчер пакетов APT, как показано ниже.

Эта команда устанавливает vsftpd наряду с другими зависимостями. После установки vsftpd запускается автоматически. Вы можете проверить это выполнив команду:

Из данных вы можете видеть, что vsftpd работает, как и ожидалось.

Проверка службы vsftpd в Debian 11

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

Затем включите запуск службы во время загрузки операционной системы.

Шаг 2. Создание уникального пользователя FTP

Теперь мы создадим уникальную учетную запись пользователя FTP. Эту запись мы будем использовать для входа на FTP — сервер. Просто используйте команду adduser , за которой поставьте имя пользователя и отвечайте на вопросы соответствующим образом.

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

Шаг 3. Добавьте пользователя FTP в список разрешенных пользователей для входа

Далее мы добавим vsftpd.userlist в файл пользователя FTP. Локальным пользователям указанным в этом файле, разрешается доступ к FTP-серверу.

$ echo «ftpuser» | sudo tee -a /etc/vsftpd.userlist

Добавление пользователя FTP в файл списка пользователей vsftpd

Теперь давайте продолжим и настроим vsftpd.

Шаг 4: Создание каталога пользователя FTP

Далее нам потребуется создать каталог FTP для пользователя. И назначить соответствующие права доступа к каталогу и права собственности.

$ sudo mkdir -p /home/ftpuser/ftp_dir
$ sudo chmod -R 750 /home/ftpuser/ftp_dir
$ sudo chown -R ftpuser: /home/ftpuser/ftp_dir

Шаг 5: Настройка vsftpd в Debian

Для настройки vsftpd требуется несколько дополнительных манипуляций. И их надо выполнить, прежде чем мы сможем войти в систему и начать взаимодействовать с сервером. Для этого отредактируйте основной файл конфигурации – /etc/vsftpd.conf .

Читайте также:  Менеджер обновлений для linux

Есть несколько настроек, которые вам необходимо сделать.

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

Далее вам необходимо разрешить локальному пользователю загружать файлы и получать доступ к домашнему каталогу, а также вносить изменения в файлы. Сделайте следующую настройку:

write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

Кроме того, вы можете ограничить локальных пользователей, которые могут получать доступ к файлам и загружать их, указав пользователей содержащихся в файле vsftpd.userlist .

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

Чтобы обеспечить безопасное FTP-соединение с сервером, нам нужно зашифровать сервер с помощью SSL — сертификата. Мы создадим самозаверяющий сертификат SSL для шифрования сервера. Чтобы сделать это выполните команду.

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Далее вернитесь к файлу конфигурации и вставьте эти строки, чтобы указать путь к сгенерированным сертификатам SSL и включить SSL.

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

Файл конфигурации должен содержать следующие строки:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

Чтобы изменения вступили в силу, перезапустите сервер. Сделать это можно командой:

Чтобы убедиться, что все работает, вы можете проверить состояние следующей командой.

Шаг 5. Доступ к серверу vsftpd в Debian

На этом мы закончили с конфигурациями. Последний шаг — это войти в систему. Если у вас включен брандмауэр, разрешите порты 20 и 21.

Затем перезагрузите брандмауэр, чтобы изменения вступили в силу.

Теперь включите свой FTP-клиент, например FileZilla, и заполните данные следующим образом:

Хост: sftp://сервер-IP

Имя пользователя: пользователь ftpuser

Пароль: Пароль пользователя ftpuser

Теперь как вы заполнили все поля, нажмите кнопку «QuickConnect«.

Подключение к ftp серверу vsftpd на Дебиан 11

После того как все каталоги загрузились вы можете начать безопасную передачу файлов по протоколу SSL.

Безопасная передача файлов на сервер и с сервера с помощью SSL

Так же можно сделать при помощи командной строки. Для этого выполните команду:

При появлении запроса для продолжение введите » YES «, далее введите пароль для входа пользователя FTP.

Заключение

В этой инструкции мы показали, как установить FTP сервер vsftpd в Debian 11. А так же показали как создать пользователя, настроить сервер и войти в систему с помощью FTP-клиента и командной строки.

Источник

Оцените статью
Adblock
detector