Короч сделал, что хотел, но с точки зрения безопасности натворил херни :)
Такое:
Создал юзера с bash, с домашним каталогом на уровень выше от папки домена.
Примонтировал rclone-ом облачный диск в подпапку домена.
Владелец на home этого юзера с дочерними
ftpuser:www-data
, права стандарт 755 на каталоги, 644 на файлы.
Также добавил www-data в группу ftpuser и зеркально. Плюс хотел это дело через FTP, но чёт крутил вертел, не получилось с юзером (login denied и всё). Не получается дать права на запись по ходу. Вручную могу закачать, а через
IU выдаёт ошибку
[03:07:05] Сервер: 61160108-3850-4b97-8cf5-4dec12d99ebc (CScriptUploadEngine)
Скрипт: ftp.nut [TID=10868]
Модуль загрузки
ftp.nut [ThreadId=10868]
Request failed, URL: 'ftp://mysite.com/var/www/html/mysite.com/imgupl/'.
Access denied to remote resource
Response code: 550
Server denied you to change to the given directory
Через sFTP скорость низкая (~0.8-1мб/сек), но для изображений огонь, быстро.
Не знаю после чего заработало (nginx отадавал 404 до этого; location добавлял, работает только не для смонтированного каталога), но вроде как после того, как примонтировал с опцией
--allow-other
в параметре rclone. Все три параметра
--dir-cache-time 10s --vfs-cache-mode full --allow-other
(средний это спец. для cloud mailru)
UPD Получилось и FTP настроить.
Нужно прокинуть правила iptables и задать явно порты пассивного режима в конфиге vsFTPd
iptables -A INPUT -p tcp -m multiport --dports 20,21 -m comment --comment "For vsFTPd control" -j
iptables -A INPUT -p tcp -m multiport --dports 1500:1505 -m comment --comment "For vsFTPd control" -j ACCEPT
# И ещё эти (с перепугу). Лень уже проверять было.
iptables -t nat -A PREROUTING --dst [Внешний IP сервера] -p tcp --dport 21 -j DNAT --to-destination [Внутренний IP сервера, если за NAT, как у меня в случае с Oracle]
iptables -t nat -A PREROUTING --dst [Внешний IP сервера] -p tcp --dport 20 -j DNAT --to-destination [Внутренний IP сервера, если за NAT, как у меня в случае с Oracle]
Конфиг vsFTPd такой
spoilerlisten=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
ls_recurse_enable=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=su
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
utf8_filesystem=YES
pasv_min_port=1500
pasv_max_port=1505
ftp_username=ftpadmin
allow_writeable_chroot=YES
pasv_enable=YES
local_root=/var/www/html/mysite.com/imgupl
syslog_enable=YES
dirlist_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_file=/var/log/xferlog
log_ftp_protocol=YES