我尝试通过PHP将文件上传到运行ProFTPD的FTP服务器。这以前就像一个魅力。这是代码:
$this->con = ftp_ssl_connect($CFG['BACKUP_FTP_HOST'], $port);
ftp_login($this->con, $CFG['BACKUP_FTP_USER'], $CFG['BACKUP_FTP_PASSWORD']);
ftp_pasv($this->con, true); // Returns true
ftp_put($this->con, "/path/test.txt", __DIR__ . "/test.txt", FTP_ASCII); // Returns false, local file and remote directory exists (FTP_BINARY does not work also)
有几个有趣的PHP警告:
Warning: ftp_put(): Unable to build data connection: Operation not permitted
如果我试图通过lftp
在被动模式下改变,它也不起作用:
lftp ftp@test.de:/> quote PASV
501 PASV: Operation not permitted
返回的FEAT
如下:
211-Features:
SSCN
SITE COPY
LANG en-US.UTF-8*;en-US
SIZE
PROT
CCC
SITE MKDIR
PBSZ
AUTH TLS
REST STREAM
UTF8
EPRT
SITE SYMLINK
EPSV
SITE UTIME
MDTM
SITE RMDIR
211 End
我认为FTP服务器有问题,但其他服务器可以使用该配置。另外,我可以用FileZilla上传文件。对于PHP,活动模式也不起作用。
我的proftpd的内容。形态:
# Includes DSO modules
Include /etc/proftpd/modules.conf
# If set on you can experience a longer connection delay in many cases.
<IfModule mod_ident.c>
IdentLookups off
</IfModule>
ServerIdent off
ServerName "FTP Server"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-al"
DenyFilter \*.*/
# Use this to jail all users in their homes
DefaultRoot ~
# Allow continuation of uploads/downloads
AllowRetrieveRestart On
AllowStoreRestart On
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell Off
# Port 21 is the standard FTP port.
Port 21
# Workaround for nasty problem with FileZilla:
<IfModule mod_facts.c>
FactsAdvertise off
</IfModule>
# Unlimited number of concurrent connections
MaxClients none
MaxInstances none
# Unlimited number of concurrent connections per IP/user allowed
MaxClientsPerHost none
MaxClientsPerUser none
PassivePorts 60000 65535
<IfModule mod_tls.c>
TLSEngine On
# Support TLSv1 (no more SSLv3 due to POODLE attack)
TLSProtocol TLSv1
# Safe ciphers:
TLSCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
# Are clients required to use FTP over TLS when talking to this server?
TLSRequired on
# Server's certificate
TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
TLSCertificateChainFile /etc/ssl/certs/proftpd-ca.crt
TLSDHParamFile /etc/proftpd/dhparams.pem
# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off
</IfModule>
# Virtual FTP users file
AuthUserFile /etc/proftpd/passwd
# Set the user and group that the server normally runs at.
User proftpd
Group nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log
<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>
<IfModule mod_ratio.c>
Ratios off
</IfModule>
# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
<IfModule mod_delay.c>
DelayEngine on
</IfModule>
<IfModule mod_ctrls.c>
ControlsEngine off
ControlsMaxClients 2
ControlsLog /var/log/proftpd/controls.log
ControlsInterval 5
ControlsSocket /var/run/proftpd/proftpd.sock
</IfModule>
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>
# include additional configuration files
Include /etc/proftpd/conf.d/*.conf
# <EOF>-----------------------------------------------------------------------
您可以配置一个TLSLog
文件,并查看其中记录了哪些附加信息。我怀疑(但TLSLog
可能会确认…或不确认)mod_tls
要求您的数据传输连接重用控制连接上使用的相同tls会话,并且您的FTPS客户端没有这样做。通过在mod\u tls
配置中使用以下选项,可以放宽此要求:
TLSOptions NoSessionReuseRequired
有关此选项的详细信息,请参阅TLSOptions
下的"NoSessionReuse要求"说明。
希望这有帮助!
当我试图打开索引时。php在浏览器中我看到错误: 在error.log: 2013/11/04 22:40:07[错误]3435#0:*4发送到stderr的FastCGI:“无法打开主脚本:/var/www/index.php(不允许操作)”,同时从上游读取响应头,客户端:10.0。2.2,服务器:localhost,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.
我的应用程序连接到通过VPN连接到服务器的FTP客户端。到目前为止,所有客户端都支持活动PHP,我使用的库默认使用活动FTP,因此没有问题。然而,现在我们安装了一些新的客户端,它们不能在活动PHP上正常工作,因此我发现从服务器(通过FTP cli和RDP上的FileZilla)可以通过被动连接连接到所有客户端并与之对话。 但是,当尝试在PHP中建立被动连接时,所有FTP命令(如)都会超时。我偶然发
问题内容: 我正在尝试在用户空间中使用mmap读取“ mem_map”开始的物理内存。它是一个包含所有物理页面的数组。这是一台运行3.0内核的i386计算机。 代码是这样的: 我以此为根。输出为: 可以肯定的是,我搜索了问题并将以下行添加到我的/etc/sysctl.conf文件中: 但这也不起作用。 谁知道为什么不允许这样的mem_map操作,以及如何解决呢? 谢谢。 问题答案: 听起来好像内核
问题内容: 我正在尝试在docker centos7映像上安装ambari 2.6,但是在ambari设置步骤中以及恰好初始化Postgresql db时,我收到此错误: 无法获得D-Bus连接:不允许操作 每次尝试在docker映像上运行服务时,都会遇到此错误。 我尝试了网络中的所有解决方案,但没有任何效果。 有谁知道如何解决这个问题? 先感谢您 问题答案: 使用此命令 docker run -
问题内容: 我正在尝试运行一个Python脚本,该脚本使用由后链接程序创建的二进制文件(xFiles.bin.addr_patched)。但是,我收到此错误。 当我通过ls-l检查此xFiles.bin的权限时,它表明 我认为错误是因为此文件是由其他应用程序创建的,我正在运行的python脚本无法访问它。因为我是ubuntu的初学者,所以我真的不知道如何解决它。对于如何解决这个问题,有任何的建议吗