Какой же web сервер без ftp. Для нашего сервера мы будем использовать vsftpd — простой, быстрый и безопасный FTP сервер, который будет доступен из мира (пробросим порты на роутере).
Установка сервера предельно проста:
sudo apt-get install vsftpd
После установки необходимо немного настроить наш сервер. Для подключения к ftp серверу используеться профиль пользователя системы. Настройка сервера производится через конфигурационный файл /etc/vsftpd.conf, откроем его и немного отредактируем. Выполним команду:
sudo nano /etc/vsftpd.conf
Не будем описывать все параметры, остановимся на самых интересных:
listen=YES
anonymous_enable=NO разрешим вход только локальным пользователям
local_enable=YES
write_enable=YES разрешим пользователям записывать файлы
local_umask=022 укажем серверу автоматически выставлять нужные права (755 на папки и 644 на файлы)
После всех манипуляций не забываем перезагрузить сервер:
sudo service vsftpd restart
После всех манипуляций не забываем перезагрузить сервер:
sudo service vsftpd restart
550 Permission denied при попытке записать файлы
Сервер настроен, подключение есть, но когда мы пытаемся скопировать что то на наш сервер ничего не выходит. Получаем ошибку «550 Permission denied«.
В первую очередь необходимо убедится, что в конфигурационном файле /etc/vsftpd.conf присутствует строчка write_enable=YES.
Пользователям разрешена запись файлов но ничего не происходит и мы все так же получаем 550 Permission denied.
Дело в том что у папки в которую вы хотите записать файлы должны быть соответствующие права доступа, а именно 777. Выполним команду:
sudo chmod -R 777 /my_ftp_dir/
Показывать скрытые файлы при подключение
Настроили, подключаемся — все хорошо, да не очень. Не видны скрытые файлы и папки. Для того что бы скрытые файлы стали видимыми в конфигурационном файле /etc/vsftpd.conf допишем следующею строку:
force_dot_files=YES
После всех манипуляций не забываем перезагрузить сервер:
sudo service vsftpd restart
550 permission denied vsftpd
Поднимаю ftp сервер на Debian 9. При попытке создать директориюфайл выскакивает ошибка. Необходимо дать разрешение единственному пользователю (ftpuser) полный доступ к шаре. Что я делаю не так?
Спасибо.
задан 17 авг 2019 в 19:55
Частая ошибка, для начала убедитесь в наличии строки write_enable=YES
в конфиге сервера .
Если после этого, ничего не поменялось, то проверьте права у папки на сервере, ftp пользователь должен иметь права на запись в них. Для установки прав на папку воспользуйтесь командой:
sudo chmod -R ftpuser:ftpuser /path/to/folder
ответ дан 17 авг 2019 в 20:26
stiklsstikls
271 серебряный знак9 бронзовых знаков
5
В итоге работает. Просто использовал userlist и убрал полностью всё про guest.
ответ дан 27 авг 2019 в 16:20
AnnKAnnK
477 бронзовых знаков
Hi everyone and thanks in advance.
So I got stuck with FTP response «550 Permission denied.»
System: Ubuntu 14.04
and vsftpd: version 3.0.2
I created a drupal
user for working over FTP, homedir: /var/www/vhosts/somedomain.com
Part of /etc/passwd
:
drupal:x:1005:65034::/var/www/vhosts/somedomain.com:/bin/false
VSFTPD conf /etc/vsftpd.conf:
listen=YES
listen_port=xxxx
anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/nchroot
log_ftp_protocol=YES
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=x.x.x.x
user_config_dir=/etc/vsftpd/user_conf
guest_enable=YES
guest_username=vsftpd
All /etc/pam.d/vsftpd:
auth sufficient pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so
I tried to change permissions to 777 and the owner to drupal:drupal on /var/www/vhosts/somedomain.com/htdocs
Connection to FTP server seems to work and I can see a list of proper files
and dirs, however I can’t create a file.
In vsftpd logs I get: FTP response «550 Permission denied.»
Google keeps on telling me that it’s either a permissions issue, or vsftpd.conf
missconfiguration in
write_enable=YES
allow_writeable_chroot=YES
But in my case everything is set.
I’m thinking that I’m missing something in /etc/pam.d/vsftpd as it’s customized by other guy.
Всем доброго времени суток.
Ftp+mysql+php ставил вот по этому мануалу http://sudouser.com/ustanovka-i-nastrojka-vsftpd-mysql-ubuntu-debian
в итоге авторизацию прохожу чтение есть а вот запись и создание папок не могу пишет
550: Create directory operation failed.
в чем проблема понять не могу
#
#vsftpd.conf
#
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
Логи
Tue Jul 8 11:56:00 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 11:56:10 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:56:17 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 11:56:22 2014 [pid 4] [kirill] FAIL MKDIR: Client «192.168.0.4», «/1/1»
Tue Jul 8 12:03:40 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 12:03:40 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 12:03:47 2014 [pid 4] [kirill] FAIL MKDIR: Client «192.168.0.4», «/11»
Tue Jul 8 12:15:26 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 12:15:26 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 12:15:37 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 12:15:44 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 12:15:51 2014 [pid 4] [kirill] OK DOWNLOAD: Client «192.168.0.4», «/vsftpd.conf», 443 bytes, 46.49Kbyte/sec
Tue Jul 8 12:16:40 2014 [pid 4] [kirill] OK DOWNLOAD: Client «192.168.0.4», «/vsftpd.conf», 443 bytes, 26.94Kbyte/sec
Tue Jul 8 12:23:41 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 12:23:47 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 12:23:56 2014 [pid 4] [kirill] FAIL MKDIR: Client «192.168.0.4», «/tru»
Tue Jul 8 11:07:02 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:07:09 2014 [pid 1] [kk] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 11:07:16 2014 [pid 4] [kk] FAIL MKDIR: Client «192.168.0.4», «/1»
Tue Jul 8 11:10:11 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:10:11 2014 [pid 1] [ftp] OK LOGIN: Client «192.168.0.4», anon password «kk»
Tue Jul 8 11:43:38 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:43:49 2014 [pid 1] [kirill] FAIL LOGIN: Client «192.168.0.4»
Tue Jul 8 11:43:56 2014 [pid 1] [kk] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 11:43:59 2014 [pid 5] [kk] FAIL MKDIR: Client «192.168.0.4», «/1»
Tue Jul 8 11:47:27 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:47:35 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 11:47:39 2014 [pid 4] [kirill] FAIL MKDIR: Client «192.168.0.4», «/1»
Tue Jul 8 11:48:39 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:48:45 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Tue Jul 8 11:48:49 2014 [pid 4] [kirill] FAIL MKDIR: Client «192.168.0.4», «/asdf»
Tue Jul 8 11:56:00 2014 [pid 2] CONNECT: Client «192.168.0.4»
Tue Jul 8 11:56:00 2014 [pid 1] [kirill] OK LOGIN: Client «192.168.0.4»
Introduction
Out of the box, the ‘vsftpd’ server doesn’t allow you to write data to the server. To allow this, you must change the vsftpd configuration and then restart the service.
The Problem
After you’ve installed VSFTPD (on Ubuntu: ‘apt-get install vsftpd’) you can download files using FTP from your VSFTPD server. However, if you try to write files back to your server you get this error:
troy@bahamas:~$ sudo service vsftpd restart
vsftpd start/running, process 2694
troy@bahamas:~$ ftp bahamas
Connected to bahamas.
220 (vsFTPd 2.3.0)
Name (bahamas:troy): troy
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put troygeek.sql
local: troygeek.sql remote: troygeek.sql
200 PORT command successful. Consider using PASV.
550 Permission denied.
ftp>
The Solution
To solve this, edit your vsftpd.conf file:
sudo vi /etc/vsftpd.conf
…and uncomment the write_enable line to look like this:
# Uncomment this to enable any form of FTP write command. write_enable=YES
Once uncommented, restart your VSFTPD service:
troy@bahamas:~$ sudo service vsftpd restart vsftpd start/running, process 2704
…and you should now be able to write files to your FTP server. If you still have trouble, ensure you have the correct filesystem permissions for the user you are FTP’ing as.