Поднимаем FTP-сервер в Linux

На так давненько понадобилось перекинуть довольно большой объем данных с компьютера на ноутбук. Между собой они связаны Wi-Fi сетью. Флешку, как средство переноса файлов отбросил сразу, так как долгий и не комильфо. Немного поискав в интернете на эту тему, остановился на FTP. Основным критерием выбора ftp стал несложный процесс установки и настройки FTP-сервера. А для клиента так вообще ничего настраивать не нужно, ввел в адресной строке ip-адрес FTP-сервера и готово. Сервер решил устанавливать на ноутбук, чтобы не уменьшать себя стационарным компьютером в возможности его перемещения. В арче есть несколько FTP-серверов, я оптировал vsftpd:

pacman - S vsftpd

Эта и последующие команды выполняются от рута. Сервер установлен. Теперь приступим к его настройке. Первым делом сделаем бэкап конфигурационного файла сервера:

Читайте также:  Настройка почтового сервера с помощью Plesk на Ubuntu 20.04

cp /etc/vsftpd.{conf, bak}

А потом приведем его к такому виду:
write_enable=YES
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=
listen=YES

Поясню по некоторым строкам:

• write_enable=YES — разрешаем запись в расшариваемую папку. По умолчанию это /srv/ftp. Меж прочим, задать можно любую директорию, которая будет корневой для пользователей FTP-сервера, но с раздельными ограничениями, о которых чуть позже;

• anonymous_enable=YES — разрешаем вход неподписанным юзерам;

• anon_upload_enable=YES — разрешаем анонимным пользователям загружать компданные;

• anon_mkdir_write_enable=YES — позволяем анонимным пользователям создавать сборники;

• anon_other_write_enable=YES — разрешаем неподписанным пользователям удалять компданные и каталоги;

• anon_umask=022 — маска по умолчанию для занимаемых анонимными юзерами файлов;

Читайте также:  Как использовать команду echo в Linux для работы с текстом и автоматизацией процессов

• chown_uploads=YES — менять владельца всех загружаемых файлов;

• chown_username= — поселить владельцем файлов. В этом параметре ради обеспечения безопасности не стоит прописывать пользователем root’а;

• listen=YES — позволить запуск vsftpd напрямую, минуя посредника в лице xinetd.

Теперь в папке /srv/ftp создаем папку share и разрешаем всем запись в нее:

chmod +x /srv/ftp/share

Папка (Папка — конторская принадлежность, обложка, конверт для бумаг, скоросшиватель.Папка-регистратор — канцелярская папка с арочным устройством для хранения документов.Папка — экранный объект в) share требуется даже несмотря на решающие запись настройки в vsftpd. conf. Так как с недавних пор в пакете vsftpd ужесточили условия к сохранности, то теперь сервер будет выдавать ошибку при указании в качестве директории по умолчанию, папки, в какую разрешена запись непривилигированному пользователю. Поэтому считаю эту опцию бесполезной на этот момент. А для комфорты пользования FTP-сервером предлагаю воспользоваться командой mount:

Читайте также:  Отменить запланированное выключение компьютера в Linux

mount --bind "/путь/до/расшариваемой/папки" /srv/ftp/share

То присутствует монтировать расшариваемую папку в /srv/ftp/share. Теперь к вашей общей папке будет беспарольный безымянный доступ из общей подсети. Все, сервер настроен. Осталось его запустить и добавить в автозапуск, когда необходимо:

systemctl start vsftpd

systemctl enable vsftpd

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