Предположим следующую настройку:
Оба сервера представляют собой виртуальные машины ubuntu с корневым доступом, размещенные в сторонней компании.
Когда приложение php7 записывает в общий ресурс CIFS, я получаю ошибку Permission denied .
Все файлы на общем ресурсе (как проверено и установлено на сервере APP ) - это chmod 777
и chown www-data
, который является пользователем php-fpm.
Когда я открываю сайт через VPN, такой ошибки нет, все изменения в порядке.
Мне удалось сузить ошибку до уровня файловой системы. Общий ресурс CIFS недоступен с других серверов, если он не подключен через VPN.
Я предполагаю, что это как-то связано с конфигурацией iptables
. Хотя я запустил iptables -F
, чтобы отключить брандмауэр, безрезультатно.
Возможно, я неправильно сконфигурировал nginx для передачи IP-адреса пользователя в CIFS.
Конфигурация:
FS:
root @ filestore: ~ # iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
/etc/samba/smb.conf
#======================= Share Definitions =======================
[static-fs]
path = /home/storage/
browsable = yes
guest ok = no
writeable = yes
create mask = 0777
valid users = storage
write list = storage
Клиент:
root@ubuntuVM:~# smbclient -L \\filestore -U storage
Connection to filestore failed (Error NT_STATUS_IO_TIMEOUT)
root@ubuntuVM:~# ping filestore
PING filestore (1.2.3.4) 56(84) bytes of data.
64 bytes from xxx.ip-1.2.3.4.eu (1.2.3.4): icmp_seq=1 ttl=52 time=24.2 ms
...
Это не проблема DNS, домены действительны, и у меня такие же проблемы с IP-адресами.
Я только что получил ответ от своей хостинговой компании (OVH ). Получается, CIFS и NFS заблокированы за пределами своей сети. Предлагают использовать SSHFS, мы решили проблему с FTP.