- Ftp для linux debian
- Introduction
- Installation
- Configuration
- Anonymous access
- User access control
- User Management
- Containment of users
- See also :
- Ftp для linux debian
- 11.3. FTP File Server
- Как установить и настроить FTP сервер vsftpd в Debian 11
- Шаг 1: Установка vsftpd в Debian 11
- Шаг 2. Создание уникального пользователя FTP
- Шаг 3. Добавьте пользователя FTP в список разрешенных пользователей для входа
- Шаг 4: Создание каталога пользователя FTP
- Шаг 5: Настройка vsftpd в Debian
- Шаг 5. Доступ к серверу vsftpd в 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.
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
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.
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 не запущена, вы можете запустить ее вручную для этого введите.
Затем включите запуск службы во время загрузки операционной системы.
Шаг 2. Создание уникального пользователя FTP
Теперь мы создадим уникальную учетную запись пользователя FTP. Эту запись мы будем использовать для входа на FTP — сервер. Просто используйте команду adduser , за которой поставьте имя пользователя и отвечайте на вопросы соответствующим образом.
Шаг 3. Добавьте пользователя FTP в список разрешенных пользователей для входа
Далее мы добавим vsftpd.userlist в файл пользователя FTP. Локальным пользователям указанным в этом файле, разрешается доступ к FTP-серверу.
$ echo «ftpuser» | sudo tee -a /etc/vsftpd.userlist
Теперь давайте продолжим и настроим 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 .
Есть несколько настроек, которые вам необходимо сделать.
Давайте сначала начнем с 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«.
После того как все каталоги загрузились вы можете начать безопасную передачу файлов по протоколу SSL.
Так же можно сделать при помощи командной строки. Для этого выполните команду:
При появлении запроса для продолжение введите » YES «, далее введите пароль для входа пользователя FTP.
Заключение
В этой инструкции мы показали, как установить FTP сервер vsftpd в Debian 11. А так же показали как создать пользователя, настроить сервер и войти в систему с помощью FTP-клиента и командной строки.