Базовий сервер Ubuntu FTP


33

Я хотів би встановити базовий FTP-сервер на моїй установці Ubuntu Server. Я граю з VSFTPD, але у мене виникають проблеми з отриманням сервера, який дозволяє мені створювати каталоги та копіювати файли. Я встановив систему для дозволу місцевим користувачам, але, схоже, це не означає, що я отримую доступ до створення каталогів. Це може бути випадок, коли мені потрібно краще заземлитися в налаштуваннях сервера Ubuntu, щоб адекватно налаштувати цей FTP-сервер. Кінцевою метою є можливість переміщення файлів із моєї локальної папки розробників у мою папку www для розгортання. Довідники також повинні мати можливість переміщатися. Будь-яка допомога буде дуже вдячна.


Ви згадали про переміщення файлів і папок з локальної розробки в папку www - ви робите це все на одній машині або на різних машинах?
Марко Цеппі

Ви також продаєте разом з VSFTPD? Або вас зацікавили б інші типи програмного забезпечення FTP, як pureftp?
Марко Чеппі

Місцевий розробник - це окрема машина. Мені знайоме переміщення файлів на веб-серверах через FTP, можливо, є кращий спосіб.
JPrescottSanders

Мене не продають на VSFTPD, це було першим, що я виявив під час гуглінгу, якщо у вас є більш просте рішення, я всі вуха.
JPrescottSanders

Відповіді:


42

Я рекомендую PureFTPD, оскільки це було найпростішим та найпростішим у використанні на мою думку. Вам потрібно буде встановити його спочатку: sudo apt-get install pure-ftpdпісля його встановлення він запуститься сам. За замовчуванням він використовує автентифікати PAM - це означає, що він використовує облікові записи, які вже існують у системі, для його автентичності. Все, що вам потрібно зробити, - це створити обліковий запис користувача, у домашньому каталозі якого є ваш веб-шлях, і встановити пароль для цього облікового запису. Тоді ви зможете з'єднатись із цією комбінацією користувача / пропуску для завантаження / завантаження файлів.

Щось на зразок цього:

sudo adduser ftpman --home /var/www/ --ingroup www-data

Що створить ftpmanкористувача та додасть його до групи даних www, яку Apache використовує, і перегляне вас через решту сценарію налаштування. Після того, як це визначено, переконайтеся, що chmodу папці WWW ви отримуєте помилки про нього, які вже існують у створеній вами комбінації користувача / групи.

Нарешті, якщо ви хочете заблокувати доступ до SSH для цього облікового запису, запустіть: sudo chsh -s /bin/false ftpmanце змінить оболонку користувачів на хибну. (Замініть ftpman своїм ftp користувачем)


5
Що стосується мене, PureFTP - це найпростіше налаштувати.
Натан Осман

1
У вас є звичка давати повне пояснення завжди, як вчитель. Дивовижно !!!
користувач3215

1
Я спробував це, але не можу зв’язатися з новоствореним користувачем. Існуючі користувачі працюють нормально
відьом

1
Це все добре працює, за винятком випадків, коли я запускаю chshце, здається, також не дозволяє користувачам входити через FTP. Якщо повернутись назад, це /bin/bashдозволить йому працювати знову.
DanH

1
Дякую, і можу підтвердити, що я провів цілий день з vsftpd і 5 хвилин з pureftpd у налаштуваннях. Для простого налаштування та безпечного використання pureftpd. Мене бентежить, чому мейнстрім рекламує vsftpd!
RyBolt

10

На мій погляд, SFTP - це кращий шлях. Гей, у назві є слово "безпечно", воно повинно бути краще :)

SFTP використовує ssh для передачі файлів (на відміну від FTPS, в основному це FTP + TLS). Це означає, що якщо ви можете запустити ssh на цільову машину, ви майже завжди можете на неї SFTP, оскільки вона використовує ті самі механізми аутентифікації, тому взагалі не потрібно встановлювати та налаштовувати різні демони сервера (тобто відсутність pureftpd чи vsftpd). Поки ваші дозволи встановлені правильно /var/www- це, мабуть, питання sudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER- ви повинні мати можливість використовувати SFTP негайно.

Більшість клієнтських програм на сьогоднішній день робитиме SFTP досить щасливо, і ви також можете використовувати scpз оболонки на сервері розробників, щоб копіювати матеріали на всій стороні ( scp -Rкопіюватимуть цілі папки поперек, і це дуже зручно). Можна навіть пройти ще один крок та автоматизувати вхід із відкритими ключами, тобто більше не вводити паролі :)


3
підказка… якщо у вас є клієнти Windows, вони можуть використовувати WinSCP warscp.net/eng/index.php для доступу до сервера sftp.
LassePoulsen

Згідно з вашим коментарем, ОП, звичайно, повинна використовувати vsftpd, оскільки проти - це дуже безпечно . :-)
qbi

PureFTPD використовує ту саму аутентифікацію, що і SFTP, - на мій погляд, її фактично більш безпечно, тому що якщо інформація про ваш рахунок просочена, то ніхто не може отримати доступ SSH до вашої машини. У гіршому випадку вони мають доступ до файлів.
Марко Чеппі

Якщо ваш додаток підтримує лише FTP, а ви налаштовуєте його на SSH, у чому різниця? :)
ендоліт

5

Я настійно рекомендую використовувати vsftpd. Це один із найбезпечніших демонів FTP в Linux. У багатьох інших були слабкі місця в минулому, і, здається, FTP важко реалізувати в безпечний спосіб.

vsftpd запускається відразу після його встановлення. Ubuntu дозволяє локальним користувачам входити в систему. Тому запустіть FTP-клієнт та ввійдіть як звичайний користувач із системним паролем (Мій приклад використовує lftp):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp qbi@127.0.0.1:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

Тепер я використовую якийсь файловий менеджер (Nautilus, Shell тощо), щоб створити новий каталог fooі повернутися до свого FTP-клієнта:

ftp qbi@127.0.0.1:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

Каталог є, і я в змозі cdввійти в нього і використовувати його. Це теж саме, якщо у вас є спеціальні користувачі. Там же можна створити каталоги, і вони будуть негайно доступні. Тут важливо шукати права доступу.


3

Я смиренно рекомендую FTP-сервер, який я написав з нуля: JetFTP . Це надзвичайно проста в установці і використанні.


Установка:

  • Додайте мій PPA до джерел програмного забезпечення та оновіть:

    sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Виконайте таку команду:

    sudo apt-get install jetftp
    
  • Це воно!

Використовувати JetFTP дуже просто - просто підключіться до порту 8021за допомогою імені для входу та пароля на комп'ютері, на якому працює JetFTP.


2

Не використовуйте ftp , це суто незахищений протокол, оскільки він надсилає ім'я користувача та пароль на чіткий сервер. Реалізувати sftp так само просто, і ви отримуєте величезну перевагу в безпеці свого з'єднання.



0

Існує три різні способи налаштування ftp-сервера:

(1) Анонімний FTP:

Люди можуть отримати доступ до сервера лише за допомогою анонімного облікового запису та без пароля. Звичайно, адміністратор сервера встановить обмеження на завантаження, щоб запобігти користувачам розміщувати незаконні файли, такі як піратська музика / фільми / ігри.

(2) FTP як з анонімним доступом, так і з користувачами з паролем:

Цей метод дозволяє як анонімним, так і парольним користувачам облікового запису входити на сервер. Вони матимуть доступ лише до вказаного каталогу, крім кореня користувача, який може переглядати / змінювати / видаляти всі файли та / або папки.

(3) FTP з підтримкою mysql для автентифікації віртуальних користувачів:

Цей метод дозволяє отримати доступ до сервера лише для деяких груп користувачів, які не мають в системі віртуального облікового запису оболонки автентичності користувачів. Він використовує зовнішній сервер mysql, який зберігає інформацію про користувача.

Перший варіант: анонімний FTP

Перш ніж почати створення анонімного ftp-сервера, вам потрібно додати користувача у вашій системі, який називається ftp, і домашній каталог. Цей крок дійсно простий, просто дотримуйтесь цих команд:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

Це дозволяє лише цьому обліковому запису писати в цю папку. Ви можете використовувати більше змінних, щоб вказати, що буде робити ftp-сервер. Ось кілька прикладів:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

Другий варіант: "" "Анонімні та парольні користувачі облікового запису" "

Щоб зробити можливість анонімних та парольних користувачів облікового запису на одному сервері, дотримуйтесь цього невеликого керівництва:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

Третій варіант: '' 'Віртуальні користувачі з Mysql' ''

Щоб створити сервер із підтримкою mysql, виконайте наступні дії:

Завантажте та встановіть Менеджер користувачів для PureFTPd, який ви можете знайти тут http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

Декомпресуйте його та завантажте весь вміст у веб-каталог веб-сервера, а потім напишіть у своєму браузері це посилання http: //localhost/ftp/install.php Виконайте всі дії, які інсталятор просить вас Скопіюйте та збережіть rge pureftpd-mysql .conf у каталог менеджерів користувачів pureftpd

Зроблено. Доступ до панелі адміністрації за цим посиланням http: // localhost / ftp

Більше варіантів додати перед запуском серверного процесу

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

І перегляньте це для деяких застосувань ftp-сервера:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html


4
Коли ви копіюєте та вставляєте відповідь з іншого місця, вам завжди слід зарахувати джерело .
Дорі

0

Установка VSFTPD за замовчуванням не дозволяє створювати / змінювати зміни за замовчуванням. Вам потрібно відредагувати /etc/vsftpd.confта скасувати коментарі до наступного рядка ...

write_enable=YES

А по-друге, вам потрібно налаштувати відповідні дозволи файлової системи на відповідні файли та папки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.