Я хотел бы настроить базовый FTP-сервер на моем сервере Ubuntu. Я играл с VSFTPD, но у меня проблемы с получением сервера, позволяющего мне создавать каталоги и копировать файлы. Я настроил систему на разрешение локальных пользователей, но, похоже, это не значит, что я получаю доступ к созданию каталогов. Это может быть тот случай, когда мне нужно лучше понять настройки сервера Ubuntu, чтобы правильно настроить этот FTP-сервер. Конечная цель состоит в том, чтобы иметь возможность перемещать файлы из моей локальной папки dev в мою папку www для развертывания. Каталоги также должны быть в состоянии перемещаться. Любая помощь будет принята с благодарностью.
33
Ответы:
Я собираюсь порекомендовать PureFTPD, потому что, по моему мнению, он был самым простым и простым в использовании. Сначала вам нужно установить его:
sudo apt-get install pure-ftpd
после установки он запустится сам. По умолчанию он использует аутентификацию PAM - это означает, что он использует учетные записи, которые уже существуют в системе для своей аутентификации. Все, что вам нужно сделать, это создать учетную запись пользователя с домашним каталогом в качестве вашего пути к www и установить пароль для этой учетной записи. После этого вы сможете соединиться с этой комбинацией пользователь / пароль для загрузки / выгрузки файлов.Что-то вроде этого:
sudo adduser ftpman --home /var/www/ --ingroup www-data
Это создаст
ftpman
пользователя и поместит его в группу www-данных, которую использует Apache, и проведет вас через оставшуюся часть сценария установки. После того, как это определено, убедитесь, что вchmod
папке WWW, если вы получаете ошибки о том, что она уже существует в комбинации пользователя / группы, которую вы создали.И, наконец, если вы хотите заблокировать доступ SSH для этой учетной записи, запустите:
sudo chsh -s /bin/false ftpman
что изменит то, что оболочка пользователя на false. (Замените ftpman вашим пользователем ftp)источник
chsh
кажется, что пользователи также не могут войти через FTP. Установка обратно/bin/bash
позволяет снова работать.По моему мнению, 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
оболочку на сервере dev для копирования содержимого (scp -R
скопировать целые папки и очень удобно). Вы даже можете сделать еще один шаг и автоматизировать вход в систему с открытыми ключами, то есть больше не нужно вводить пароли :)источник
Я настоятельно рекомендую использовать vsftpd. Это один из самых безопасных FTP-демонов в Linux. У многих других были недостатки в прошлом, и кажется, что FTP трудно реализовать безопасным способом.
vsftpd запускается сразу после установки. Ubuntu позволяет локальным пользователям войти в систему. Запустите ваш FTP-клиент и войдите в систему как обычный пользователь, используя системный пароль (в моем примере используется lftp):
Сейчас я использую какой-то файловый менеджер (Nautilus, Shell и т. Д.), Чтобы создать новый каталог
foo
и вернуться к своему FTP-клиенту:Каталог есть, и я могу
cd
его использовать и использовать. То же самое, если у вас есть специальные пользователи. Там вы также можете создавать каталоги, и они сразу доступны. Здесь важно искать права доступа.источник
Я скромно рекомендую FTP-сервер, который я написал сам с нуля: JetFTP . Он чрезвычайно прост в установке и использовании.
Установка:
Добавьте мой PPA к вашим источникам программного обеспечения и обновите:
Запустите следующую команду:
Использовать JetFTP просто - просто подключитесь к порту,
8021
используя имя пользователя и пароль на компьютере, на котором запущен JetFTP.источник
Не используйте ftp , это небезопасный протокол, потому что он отправляет имя пользователя и пароль в открытом виде на сервер. Внедрить sftp так же просто, и вы получите огромное преимущество в безопасности вашего соединения.
источник
Существует три различных способа настройки FTP-сервера:
(1) Анонимный FTP:
Люди могут получить доступ к серверу только с анонимной учетной записью и без пароля. Конечно, администратор сервера установит лимит на загрузку, чтобы пользователи не могли размещать нелегальные файлы, такие как пиратская музыка / фильмы / игры.
(2) FTP с анонимным доступом и пользователями с парольной учетной записью:
Этот метод позволяет как анонимным, так и парольным пользователям войти на сервер. Они будут иметь доступ только к указанному каталогу, за исключением пользователя root, который может просматривать / изменять / удалять все файлы и / или папки.
(3) FTP с поддержкой mysql для аутентификации виртуальных пользователей:
Этот метод разрешает доступ к серверу только для некоторых групп пользователей, которые не имеют учетной записи оболочки аутентификации виртуальных пользователей в системе. Он использует внешний сервер MySQL, который хранит информацию о пользователях.
Первый вариант: анонимный FTP
Прежде чем приступить к созданию анонимного ftp-сервера, вы должны добавить в свою систему пользователя с именем ftp, а также домашний каталог. Этот шаг действительно прост, просто следуйте этим командам:
Это позволяет только этой учетной записи писать в эту папку. Вы можете использовать больше переменных, чтобы указать, что будет делать ftp-сервер. Вот некоторые примеры:
Второй вариант: '' 'Анонимные и парольные пользователи аккаунта' ''
Чтобы иметь возможность размещать на одном сервере и анонимных пользователей, и пользователей с парольными учетными записями, следуйте этому небольшому руководству:
Третий вариант: '' 'Виртуальные пользователи с Mysql' ''
Чтобы создать сервер с поддержкой MySQL, выполните следующие действия:
Загрузите и установите диспетчер пользователей для PureFTPd, который вы можете найти здесь http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
Распакуйте его и загрузите все его содержимое в каталог www вашего веб-сервера, а затем напишите в браузере эту ссылку http: //localhost/ftp/install.php Выполните все шаги, которые просит установщик Скопируйте и сохраните rge pureftpd-mysql .conf в каталог менеджера пользователей pureftpd
Выполнено. Доступ к панели администрирования осуществляется по этой ссылке http: // localhost / ftp
Дополнительные параметры для добавления перед запуском процесса на сервере
И посмотрите это для некоторых приложений FTP-сервера:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
источник
Установка VSFTPD по умолчанию не позволяет создавать / изменять изменения по умолчанию. Вам нужно отредактировать
/etc/vsftpd.conf
и раскомментировать следующую строку ...write_enable=YES
И, во-вторых, вам нужно настроить соответствующие разрешения файловой системы для соответствующих файлов и папок.
источник