Linux32 - Блог



LINUX32

Свобода выбирать


ArchLinux
Блог >> 2015 >> Июль


16.07.2015

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




Всем привет.

Очередная порция компьютерных изысканий.

Недавно понадобилось перекинуть довольно большой объем данных с компьютера на ноутбук. Между собой они связаны Wi-Fi сетью. Флешку, как средство переноса файлов отбросил сразу, так как долго и не комильфо. Немного поискав в интернете на эту тему, остановился на FTP.

Основным критерием выбора ftp стал несложный процесс установки и настройки FTP-сервера. А для клиента так вообще ничего настраивать не нужно, ввел в адресной строке ip-адрес FTP-сервера и готово.

Сервер решил устанавливать на ноутбук, чтобы не ограничивать себя стационарным компьютером в возможности его перемещения. В арче есть несколько FTP-серверов, я выбрал vsftpd:

pacman -S vsftpd


Эта и последующие команды выполняются от рута.

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

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 - маска по умолчанию для загружаемых анонимными пользователями файлов;

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

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

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

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

chmod +x /srv/ftp/share


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

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


То есть монтировать расшариваемую папку в /srv/ftp/share.

Теперь к вашей общей папке будет беспарольный анонимный доступ из общей подсети.

Все, сервер настроен. Осталось его запустить и добавить в автозапуск, если необходимо:

systemctl start vsftpd
systemctl enable vsftpd


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

На этом все, надеюсь статья будет вам полезной.

Статья


Ваш комментарий:

Имя:
E-mail:
Код с картинки:
Комментарий: