Вторник, 14.07.2026, 06:49
Linux Ubuntu 10.04 и 11.04 ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню
опрос
Какая из систем Linux вам больше нравится
1. Ubuntu 11.10
2. ubuntu 11.04
3. Debian
4. Mandriva 2010
Всего ответов: 195
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
 FTP сервера 
Устанавливаем FTP-Сервер Ubuntu

File Transfer Protocol (FTP) протокол TCP предназначен для загрузки и скачивания файлов между компьютерами. FTP работает на технологии клиент / сервер. Серверным компонентом является демон FTP . Он постоянно прослушивает запросы FTP с удаленных клиентов. Когда запрос получен, происходит авторизация и устанавливается соединение. На время продолжительности сессии FTP демон выполняет любые команды, посылаемые клиентом FTP.

Доступ к серверу FTP можно осуществить двумя способами:
Anonymous [Аноним]
Authenticated [Прошедшие проверку]

В Anonymous режиме удаленные клиенты могут получить доступ к серверу FTP с помощью учетной записи пользователя по умолчанию "anonymous" или "ftp" и электронной почты в качестве пароля. Что бы войти в режиме Authenticated пользователь должен иметь учетную запись и пароль. Доступ пользователей на сервер FTP к каталогам и файлам зависит от разрешений определенных для учетной записи используемой при авторизации. Как правило демон FTP будет скрывать корневой каталог сервера FTP и изменять его на каталог FTP Home. Это помогает скрыть остальные файлы удаленных сессий.

Vsftpd - установка FTP-сервера

Vsftpd - демон FTP доступный в Ubuntu. Он прост в установке и настройке, а так же в обслуживании. Чтобы установить Vsftpdвыполняем пишем в терминале:

sudo apt-get install vsftpd

Настройка Anonymous FTP

По умолчанию в Vsftpd настроен режим Anonymous. Во время установки FTP пользователь создается с домашнего каталога/home/ftp. Это FTP-каталог по умолчанию.

Если вы хотите изменить каталог по умолчанию например на /srv/ftp, то просто создайте каталог в другом месте и измените настройки домашнего каталога пользователя в FTP:

sudo mkdir /srv/ftp

sudo usermod -d /srv/ftp ftp

После внесения изменений перезагрузите Vsftpd:
sudo /etc/init.d/vsftpd restart

Теперь можете копировать файлы и каталоги в /srv/ftp которые хотите распространять через Anonymous FTP

Настройка Authenticated FTP

Для того чтобы пользователи проходили авторизацию в системе и могли загружать файлы на сервер FTP, редактируем /etc/vsftpd.conf:
local_enable=YES
write_enable=YES

Перезагружаем Vsftpd
sudo /etc/init.d/vsftpd restart

Теперь когда в системе настроена авторизация, пользователи смогут входить через свою учетную запись на FTP-сервер, где в их домашнем каталоге они смогут скачивать, загружать, создавать каталоги и т.д.

Anonymous пользователи не могут загружать файлы на FTP-сервер. Чтобы изменить этот параметр, Вы должны убрать # передanon_upload_enable и перезапустить Vsftpd:
anon_upload_enable = YES

Моя задача была поднять FTP-сервер + открыть к нему доступ из интернета. Для выполнения этой задачи был выбран сервер proftpd. О его установке и настройке я хочу поведать Вам сегодня. В статье написано пошагово как это сделать:

Устанавливаем пакет proftpd:

sudo aptitude install proftpd

Отвечаем на появившийся вопрос о способе запуска: «самостоятельно». Открываем файл /etc/shells:

sudo gedit /etc/shells

Добавляем в него строку:

/bin/false

Создаем в /HOME каталоге папку FTP-shared(Не обязательно в корне /HOME и не обязательно такое имя папки, это просто пример):

sudo mkdir /home/FTP-shared

Теперь создаем пользователя с именем userftp(ну или что поинтересней):

sudo useradd userftp -p pass -d /home/FTP-shared -s /bin/false

Вместо «pass» – ввести свое слово или фразу в качестве пароля(не вводите только цифры, работать не будет).В папке FTP-shared создаем две вложенные папки(называем как хотим):

sudo mkdir /home/FTP-shared/public
sudo mkdir /home/FTP-shared/upload

Присвоим права созданным папкам:

sudo chmod 755 /home/FTP-shared
sudo chmod 755 /home/FTP-shared/public
sudo chmod 777 /home/FTP-shared/upload

FTP-shared и public – только чтение. upload – запись. Переименовываем имеющийся конфигурационный файл proftpd.conf и создаем новый:

sudo mv /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.old
sudo gedit /etc/proftpd/proftpd.conf

Добавляем в него: proftpd Если Вы создавали структуру папок, имя пользоватля и т.д не как в статье, то редактируйте данный файл под себя. После произведенных действий фтп-сервер будет иметь следующие параметры доступа:

user (пользователь): test
password (пароль): pass (тот, что присвоен для userftp)

Можно создать несколько пользователей, но все они должны быть прописаны в файле proftpd.conf. Если нужно сделать анонимный доступ, следует закомментировать обе секции для test и раскомментировать секцию для Anonymous. Сервер запущен, но с параметрами по умолчанию, перезагружаем его:

sudo /etc/init.d/proftpd restart

Что бы узнать, кто подключен к фтп-серверу в данный момент используется команда ftptop (клавиша t меняет отображение, q – выход). Полезные советы: Если нужно подключить какую-либо папку к фтп-серверу (например, проверить работу только что созданного фтп-сервера) без редактирования конфига пригодится команда:

sudo mount -o bind /здесь/путь/папки/что/я/хочу/расшарить/ /home/FTP-shared/public

или с доступом на запись:

sudo mount -o bind /здесь/путь/папки/что/я/хочу/расшарить/ /home/FTP-shared/upload

Таким образом можно в срочном порядке временно подключить папку или диск и потом отмонтировать командой:

sudo umount /home/FTP-shared/public
sudo umount /home/FTP-shared/upload

Для постоянного доступа к нужным папкам подключаем их посредством fstab. Бэкап файла fstab:

sudo cp /etc/fstab /etc/fstab.old

Открываем файл /etc/fstab:

sudo gedit /etc/fstab

и добавляем нужные пути:

/здесь/путь/папки/что/я/хочу/расшарить /home/FTP-shared/public none bind 0 0

Теперь даже при рестарте компьютера информация будет доступна, если сервер за роутером то только в локальной сети. Что бы увидеть фтп-сервер из интернета нужно дать ему внешний ip-адрес. Для этого следует открыть нужный порт (в данном случае 21) для локального адреса (вида 192.168.xxx.xxx) на котором висит сервер, для доступа извне. Следующим шагом нужно дать внешнему динамическому IP-адресу постоянный адрес. Сделать это можно при помощи сервиса DynDNS.com(регистрируемся), создав при помощи его удобный и запоминающийся адрес (вида moi-server.homeip.net). Устанавливаем ddclient:

sudo apt-get install ddclient

Вводим регистрационные данные с DynDNS.com на вопросы пакета. Изменяем ServerName «server» в файле proftpd.confна ServerName «moi-server.homeip.net». Перезагружаем фтп-сервер:

sudo /etc/init.d/proftpd restart

Пользуемся Автор статьи - Монахов Сергей Спасибо за предоставленную статью

В качестве FTP-сервера я выбрал vsftpd. Разработчик позиционирует его как very security, т. е. очень безопасный. Безопасность лишней никогда не бывает.
sudo apt-get install vsftpd

Настройки vsftpd сервера находятся в файле /etc/vsftpd.conf

Первым делом сделаем резервную копию
sudo cp /etc/vsftpd.conf/  etc/vsftpd.conf_original

А потом очистим содержимое файла
cat /dev/null > /etc/vsftpd.conf

И откроем его для редактирования
sudo nano /etc/vsftpd.conf

В моем случае сервер будет работать следующим образом. Для анонимных пользователей разрешен доступ на скачивание из папки /home/ftp. Эта папка является домашней для пользователя ftp  (он же anonymous). Любое изменение файлов, включая загрузку, запрещено. Подключаться анонимусы будут без пароля.

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

Настройки самого сервера опишу в примере своего конфиг файла. Файл настроек vsftpd сервера имеет следующую структуру: опция=параметр. Параметр может быть значением YES или NO, числом, строковым значением. Строки начинающиеся с символа # являются комментариями и на настройки не влияют.

Пример настройки:
#vsftpd будет загружаться в автономном режиме и сам позаботится о прослушивании и перехвате входящих соединений. inetd использоваться не будет
listen=YES
#работать в фоновом режиме
background=YES
#если на сервере несколько сетевых интерфейсов, можно прямо прописать какой из них прослушивать
listen_address=192.168.1.100
#максимальное количество подключений
max_clients=20
#максимальное количество подключений с одного ip
max_per_ip=10
#
#разрешить доступ анонимным пользователям
anonymous_enable=YES
#папка анонимусов
anon_root=/home/ftp
#не спрашивать пароль
no_anon_password=YES
#
#разрешить доступ локальным пользователям
local_enable=YES
#папка локальных пользователей
local_root=/media/files
#
#включить команду "async ABOR" для "плохих" клиентов
async_abor_enable=YES
#разрешить изменение файлов
write_enable=YES
#
#скачивать и загружать данные в режиме ASCII
#ascii_download_enable=YES
#ascii_upload_enable=YES
#
#вся пользовательская и груповая информация в списке директорий, выводится как "ftp"
hide_ids=YES
#детальный отчет о скачиваниях и загрузках (пишется в /var/log/vsftpd.log)
xferlog_enable=YES
#активируем 20-й порт
connect_from_port_20=YES
#приветствие при подключении
ftpd_banner=Welcome to home FTP server.
#пустая папка "для безопасности"
secure_chroot_dir=/var/run/vsftpd/empty
#имя сервиса PAM, который будет использоваться vsftp
pam_service_name=passwd

Так выглядит мой файл конфигурации vsftpd сервера.

Запускаем ftp сервер
sudo vsftpd

У меня все заработало сразу же, если у вас не подключается, проверьте еще раз настройки. При запуске возможно некоторые ошибки. Например:
500 OOPS: config file not owned by correct user – измените владельца файлов конфигураций пользователей на roor:root

500 OOPS: vsftpd: refusing to run with writable anonymous root – изменить права каталога указаного в anon_root на 555

425 Security: bad IP connecting – добавить опцию pasv_promiscuous=YES, хотя добавление этой опции является нежелательным.

Подключаемся:
user@user-pc:~$ ftp 192.168.1.100
Connected to 192.168.1.100.
220 Welcome to user`s FTP server.
Name (192.168.1.100:user): ftp
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Чтобы можно было подключаться из интернета необходимо, чтобы сервер имел внешний ip-адрес, либо можно воспользоваться сервисами вроде DynDNS.org. Об этом я писал в статье Удаленный доступ без прямого ip.

информация взята с сайта 

Поиск
Ubuntu 10.04
  • Ubuntu 11.04
  • Календарь
    «  Июль 2026  »
    ПнВтСрЧтПтСбВс
      12345
    6789101112
    13141516171819
    20212223242526
    2728293031
    Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2026