Устанавливаем пакет 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
Пользуемся
Автор статьи – Монахов Сергей
Спасибо за предоставленную статью
Источник
Кинь мне свой скайп, есть вопросы
ОтветитьУдалитьвопросы можно оставлять в комментариях или писать на почту: ubuntu-favorite-os@yandex.ua
ОтветитьУдалитьКак можно сделать в /home/FTP-shared/public (создавая папочки) и закрепить каждую папку под конкретным именем и паролем?
ОтветитьУдалитьЕсли вы хотите закрепить за каждым пользователем свою папку, тогда нужно создать пользователя в разделе /home/newuser, при создании пользователя вы указываете логин и пароль эти же логин и пароль будут использоваться для доступа к папке по фтп.
ОтветитьУдалитьЭто в общем а хотелось бы больше конкретики, не силен в линексе не сочтите за .
ОтветитьУдалитьа как сделать, чтобы один мог только записать, второй только просмотр, третий мог всё в одном и томже каталоге?
ОтветитьУдалить