Ftp сервер linux root

How to ftp as root?

I can ftp to a linux server by doing ftp server But I can’t do that with root. Need sftp or something or what?

Are you saying you can’t FTP when you are root on the local box or you can’t be the root user on the remote box?

1 Answer 1

Don’t FTP as root: the FTP protocol passes user ID and password as clear text (un-encrypted). If anyone catches the FTP login sequence, and there are sniffers that do exactly that, they have your root password.

That out of the way, it could be anything. You’ll have to name the FTP server software. Some won’t allow a login if the user’s local shell (on the machine running the FTP server) doesn’t appear in /etc/shells , for example. Some FTP servers have very complicated ACL schemes about what to allow and what to disallow.

You must log in to answer this question.

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.14.43533

Linux is a registered trademark of Linus Torvalds. UNIX is a registered trademark of The Open Group.
This site is not affiliated with Linus Torvalds or The Open Group in any way.

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Как настроить FTP-сервер с VSFTPD в Ubuntu 20.04

В этой статье описывается, как установить и настроить FTP-сервер в Ubuntu 20.04, который вы используете для обмена файлами между вашими устройствами.

FTP (протокол передачи файлов) — это стандартный сетевой протокол, используемый для передачи файлов в удаленную сеть и из нее. Для Linux доступно несколько FTP-серверов с открытым исходным кодом. Наиболее известными и широко используемыми являются PureFTPd , ProFTPD и vsftpd . Мы будем устанавливать vsftpd (Very Secure Ftp Daemon), стабильный, безопасный и быстрый FTP-сервер. Мы также покажем вам, как настроить сервер, чтобы ограничить пользователей их домашним каталогом и зашифровать всю передачу с помощью SSL / TLS.

Хотя FTP — очень популярный протокол, для более безопасной и быстрой передачи данных следует использовать SCP или SFTP .

Читайте также:  Astra linux несколько мониторов

Установка vsftpd на Ubuntu 20.04

Пакет vsftpd доступен в репозиториях Ubuntu. Для его установки выполните следующие команды:

sudo apt updatesudo apt install vsftpd

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

sudo systemctl status vsftpd

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

● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-03-02 15:17:22 UTC; 3s ago . 

Настройка vsftpd

Конфигурация сервера vsftpd хранится в файле /etc/vsftpd.conf

Большинство настроек сервера хорошо документированы внутри файла. Чтобы узнать обо всех доступных вариантах, посетите страницу документации vsftpd.

В следующих разделах мы рассмотрим некоторые важные настройки, необходимые для настройки безопасной установки vsftpd.

Начните с открытия файла конфигурации vsftpd:

1. Доступ по FTP

Мы разрешим доступ к FTP-серверу только локальным пользователям. Найдите anonymous_enable и local_enable и убедитесь, что ваша конфигурация соответствует приведенным ниже строкам:

anonymous_enable=NO local_enable=YES 

2. Включение загрузки

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

3. Chroot jail

Чтобы предотвратить доступ локальных пользователей FTP к файлам за пределами их домашних каталогов, раскомментируйте строку lne, начинающуюся с chroot_local_user :

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

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

    Метод 1. — Рекомендуемый вариант — оставить включенной функцию chroot и настроить каталоги FTP. В этом примере мы создадим ftp внутри дома пользователя, который будет служить uploads каталогом и каталогом загрузки с возможностью записи для загрузки файлов:

user_sub_token = $USER local_root = /home/$USER/ftp
allow_writeable_chroot = YES

4. Пассивные FTP-соединения.

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

pasv_min_port=30000 pasv_max_port=31000 

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

5. Ограничение входа пользователя

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

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

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

6. Защита передачи с помощью SSL / TLS

Чтобы зашифровать передачи FTP с помощью SSL / TLS, вам потребуется сертификат SSL и настроить FTP-сервер для его использования.

Вы можете использовать существующий сертификат SSL, подписанный доверенным центром сертификации, или создать самозаверяющий сертификат.

Если у вас есть домен или поддомен, указывающий на IP-адрес FTP-сервера, вы можете быстро сгенерировать бесплатный SSL-сертификат Let’s Encrypt.

Мы сгенерируем 2048-битный закрытый ключ и самозаверяющий SSL-сертификат, который будет действителен в течение десяти лет:

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

И закрытый ключ, и сертификат будут сохранены в одном файле.

Читайте также:  View all disks linux

После создания SSL-сертификата откройте файл конфигурации vsftpd:

Найти rsa_cert_file и rsa_private_key_file директивы, изменить их значения на pam путь к файлу и установите ssl_enable директиву YES :

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

Если не указано иное, FTP-сервер будет использовать только TLS для безопасных подключений.

Перезапустите службу vsftpd

Когда вы закончите редактирование, конфигурационный файл vsftpd (без комментариев) должен выглядеть примерно так:

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 pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO 

Сохраните файл и перезапустите службу vsftpd, чтобы изменения вступили в силу:

sudo systemctl restart vsftpd

Открытие брандмауэра

Если вы используете брандмауэр UFW , вам необходимо разрешить FTP-трафик.

Чтобы открыть порт 21 (командный порт FTP), порт 20 (порт данных FTP) и 30000-31000 (диапазон пассивных портов), выполните следующие команды:

sudo ufw allow 20:21/tcpsudo ufw allow 30000:31000/tcp

Чтобы избежать блокировки, убедитесь, что порт 22 открыт:

Перезагрузите правила UFW, отключив и снова включив UFW:

sudo ufw disablesudo ufw enable

Чтобы проверить изменения, выполните:

Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6) 

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

Чтобы протестировать FTP-сервер, мы создадим нового пользователя.

  • Если пользователь, которому вы хотите предоставить доступ по FTP, уже существует, пропустите 1-й шаг.
  • Если вы установили allow_writeable_chroot=YES в своем файле конфигурации, пропустите 3-й шаг.
echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
sudo mkdir -p /home/newftpuser/ftp/upload sudo chmod 550 /home/newftpuser/ftp sudo chmod 750 /home/newftpuser/ftp/upload sudo chown -R newftpuser: /home/newftpuser/ftp

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

Отключение доступа к оболочке

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

Выполните следующие команды, чтобы создать /bin/ftponly и сделать его исполняемым:

echo -e '#!/bin/shnecho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponlysudo chmod a+x /bin/ftponly

Добавьте новую оболочку в список допустимых оболочек в /etc/shells :

echo "/bin/ftponly" | sudo tee -a /etc/shells

Измените оболочку пользователя на /bin/ftponly :

sudo usermod newftpuser -s /bin/ftponly

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

Читайте также:  Killing floor on linux

Вывод

Мы показали вам, как установить и настроить безопасный и быстрый FTP-сервер в вашей системе Ubuntu 20.04.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Источник

Установка и настройка FTP-сервера в Debian

Установка и настройка FTP-сервера в Debian

FTP — это простой способ передачи файлов с нашего одноплатника на другие устройства, а также самый быстрый способ передачи данных между устройствами — по крайней мере, быстрее, чем SAMBA. Если используется например Orange Pi для потоковой передачи мультимедиа на другие устройства, FTP, безусловно, подходит, хотя SAMBA может быть более удобным для пользователей Windows, но если необходимо то всегда можно использовать SAMBA для управления файлами.

Установка и настройка FTP-сервера в Linux

FTP является удобным средством, можно даже получить доступ к нему за пределами вашей домашней сети (при наличии белого IP), если настроить бесплатный динамический DNS и сделать перенаправление портов на маршрутизаторе на устройство Linux. Некоторые могут подумать, почему не просто использовать встроенный SFTP, который по умолчанию включен с сервером SSH в Linux. Причина в том, что устройства с низким энергопотреблением плохо дружат с шифрованием, которое сильно влияет на слабый процессор одноплатника, и естественно ограничивает скорость передачи данных примерно до 5.5 МБ/с. Поэтому рекомендуется установить безопасные пароли без шифрования, и это будет достаточно безопасно, а если сервер используется только локально, риск безопасности минимален.

Установка FTP-сервера

Обновление и апгрейд пакетов

sudo apt-get update && sudo apt-get upgrade -y

Установка vsftpd — очень безопасный FTP-демон

sudo apt-get install vsftpd -y

Настройка FTP-сервера в Linux

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

Сначала отключим анонимный FTP-доступ в целях безопасности

Включим локальных пользователей, и любой, у кого есть локальная учетная запись пользователя может получить доступ к любому каталогу, который им принадлежит. Для этого раскомментируем, удалив символ «#». Это означает, что пользователь opi сможет получить доступ к каталогу /home/users/opi или любым другим каталогам, к которым у него есть доступ. Изменим эту строку:

Если необходимо включить загрузку на FTP для пользователя в свой домашний каталог, раскомментируем строку write_enable, изменив

В скрытых файлах Linux предшествует символ «.». если хотим видеть скрытые папки, добавим эту строку в самый низ

Ctrl + X, Y и Enter для сохранения конфигурации vsftp

Включение пользователя root для доступа к FTP

Включим пользователя root для доступа ftp, это не рекомендуется делать, но используется для выполнения скриптов через FTP, которые требуют доступа root. Если используем root-доступ на FTP то необходимо использовать сложный пароль.

Закомментируем пользователя root, добавив префикс #:

Ctrl + X, Y и Enter, чтобы сохранить изменения пользователей ftp.

sudo service vsftpd restart

Теперь можно получить доступ к FTP-серверу с портом 21, с помощью таких программ, как FileZilla или WinSCP. Если использовать интернет-браузер, то вводим

ftp://user:password@ip.address:21

Также можно использовать свой динамический IP-адрес

ftp://user.password@dynamicdns:21

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

Источник

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