Yo! 服务器

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

允许php / apache删除ftp目录和子文件夹中的文件

基本上,我有一个PHP脚本能够移动或删除文件的问题,我知道它必须做的权限,因为这是来自unlink()的PHP错误告诉我,但我不知道如何修理它。 所以我希望如果我解释的情况下,有人可能会指出我在正确的方向,因为我是一个noob当谈到Linux CLI的东西… 好吧,我有一个ftp dropbox位置,让我们说它位于 /var/ftp/client/dropbox/ 我已经用pure-ftpd创build了一个ftp帐户。 所以当一个文件被上传到这个目录时,它的所有者是ftp-user ,它的组是ftp-group ,这是pure-ftpd运行的。 这个目录的用户/组分别被设置为ftp-user和ftp-group 。 因此,第三方脚本负责将报告(文件)发送到此保pipe箱位置。 ftp账号应该能够在这个目录下创build子目录,对这些文件进行分类。 例如,文件结构可能如下所示: /var/ftp/client/dropbox/invoices/ /var/ftp/client/dropbox/invoices/bal_2013-06-01_2013-06-30.pdf /var/ftp/client/dropbox/reports/ /var/ftp/client/dropbox/reports/visits/ /var/ftp/client/dropbox/reports/visits/bal_2013-06-01_2013-06-30.xlsx “home”目录/var/ftp/client/dropbox/ chmod是drwxrwxr-x 当一个子目录(例如invoices/ )由ftp-user创build时,它获得了drwxr-xr-x chmod 当ftp-user上传一个文件(例如invoices/bal_2013-06-01_2013-06-30.pdf )时,它会得到chmod -rw-r–r– 与此同时… 我有一个PHP脚本位于说 /var/www/client/ 该脚本应该打开文件,并使用类别名称(子目录名称)和文件名等更新数据库等东西,迄今为止这一切都很好。 然而…. 所以这是问题 那么脚本应该根据原因移动或删除文件(而不是子文件)。 但是使用File::delete() (Laravel 4)或者直接在/path/to/file上unlink()会返回“permissions denied”错误。 所以,从使用top来看,当我的脚本运行时,它(apache)在www-user和www-group下运行。 有道理,它将作为一个不同的用户/组运行。 但我能做些什么来给予Apache / PHP的权限移动/删除文件? 我曾尝试将www-user放在ftp-group组中,但仍然给我“权限被拒绝”的错误。 从研究中,我猜想可能是粘滞点或者其他什么,但是我不确定,坦率地说,目前所有这些目录/文件许可的东西都略微凌驾于我的头上。 那么…有什么build议在这里做什么? 编辑 有一个想法是,不是让这个脚本删除/移动文件,而是将/ path / to /文件插入到数据库中,以及需要执行的操作。 然后有一个单独的脚本来执行这个动作,然后把这个脚本放在一个cronjob上(或者是ftp-user ..我可以这样做吗?我不确定..)。 […]

如何正确testingWindows Server 2012 R2中的网卡绑定?

我尝试了在Windows Server 2012 R2中的网卡绑定,我没有得到我期望的testing结果。 我的设置是一台服务器上的PCI-X 64位133 MHz Intel Pro 1000 / GT Quad和另一台服务器上的四个Realtek 8111千兆位PCI-E x1卡。 所有连接到支持LACP的pipe理型千兆交换机。 我已经在两台服务器上configuration了所有相关的不同网卡组合模式(独立于交换机/交换机,地址散列/dynamic),但是我只收到1 Gbps传输速率的相同结果,无论我select哪种设置。 两个服务器上的NIC组由所有四个networking连接组成,并显示为服务器的4 Gbpsnetworking适配器。 我正在使用PassMark高级networkingtesting,其中包括一个服务器和客户端组件,并完全在RAM中执行networking传输,以实现完全可能的吞吐量。 我执行testing的方式是在一台2012服务器上打开服务器组件的两个实例,并在另一台2012服务器上打开两个客户端组件实例。 我将两个客户端组件连接到其他服务器上的NIC组适配器的IP地址,但是我为每个客户端使用不同的端口号。 当我通过启动一个客户端来执行testing时,我会得到1 Gbps的吞吐量。 当我在另一个客户端上启动testing,而不是获得另一个1 Gbps,两个客户端下降到500 Mbps。 我认为通过使用不同的端口号,stream将被不同的散列,因此使用另一个物理连接,导致两个stream中的每一个达到1 Gbps。 我开始怀疑它是否是我的testing方法,也许有更好的方法来testing,而不是我正在做的方式,因为看起来好像所有的东西都通过使用地址散列的开关相关模式来正确configuration(尽pipe就像我说的,我尝试了所有的组合,并收到相同的结果)。

除了端口80和22(入站和出站),如何使用OpenVPN进行所有通信?

我使用dynamicDNS服务,这是从我的路由器发送IP地址更新。 在路由器设置中,端口22和80被转发到我的服务器192.168.1.10。 我有我的服务器上运行的Web服务器和sshd。 从我的本地networking外,我可以去mydomain.dyndns.org,或ssh到我的服务器。 这工作正常,直到我连接到OpenVPN。 当我连接我的服务器到我的OpenVPN提供商时,我不能再从我的本地networkingssh到我的服务器。 http和ssh超时。 即使我删除了dyndns的东西,只是使用广域网IP,它仍然超时与OpenVPN连接,并停止OpenVPN时工作。 我的OpenVPN提供者(我不控制)将路由推给我(客户端)。 具体来说,当连接到openvpn时,运行以下命令: /sbin/ifconfig tun0 10.15.0.74 pointopoint 10.15.0.73 mtu 1500 /sbin/route add -net 141.255.164.66 netmask 255.255.255.255 gw 192.168.1.1 /sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.15.0.73 /sbin/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.15.0.73 /sbin/route add -net 10.15.0.1 netmask 255.255.255.255 gw 10.15.0.73 当vpn连接closures时,添加的路由将被删除。 问题是,这通过VPN路由一切 。 相反,我希望我的服务器对除端口80和22(入站和出站)以外的所有通信使用openvpn。 即我想能够使用http和ssh连接到我的服务器。 我相信类似的问题已经被问到,但他们似乎都通过VPN和其他一切路由特定的端口,而不是通过vpn。 […]

Java部署Ruleset.xml不起作用

最近我们的时间卡系统的升级迫使我们升级所有的工作站到Java 7u51(我们在6u45)。 我们有另一个基于Java的应用程序,这对我们的业务至关重要,现在正在抛出不断的安全警告。 每个用户必须每天至less点击一次“运行”(供应商的代码是无签名的,没有发布者信息)。 这是无法接受的 据我所知,解决此问题的唯一方法是使用部署规则集。 我已经search了大量的文章解释如何做到这一点。 他们都有点不一样,都没有工作。 我创build了XML文件,对其进行了Jar处理,并使用自签名证书对其进行了签名,然后将该证书导入到几台testing机器上的可信CA中。 无论我做什么,在每次访问的每个启用Java的站点(包括我特别列入白名单的站点)上都会看到以下错误: “由部署规则集阻止的应用程序” 无法validation自签署的部署规则集jar。 我对于近几年甲骨文error handlingJava感到十分愤慨。 我已经抛出了200多个小时,因为我被一个又一个的路障所束缚。 用户沮丧地打电话给帮助台,不断的安全警告花费了组织时间和金钱。 无论如何,足够的咆哮。 如果任何人都可以告诉我我做了什么,做错了,将不胜感激。 以下是我采取的确切步骤: 1)下载并安装JDK 7u51(需要keytool.exe和jarsigner.exe) 2)创build了以下ruleset.xml文件: <ruleset version="1.0+"> <rule> <id location="*.ourdomain.com" /> <action permission="run" /> </rule> <rule> <id /> <action permission="default" /> </rule> </ruleset> 3)用以下命令打包XML文件: jar.exe -cvf DeploymentRuleSet.jar ruleset.xml 4)使用keytool.exe命令创build一个50年的2048位RSA自签名证书,如下所示:(我让它提示inputDN信息;证书密码与密钥库密码相同) keytool.exe -genkey -alias SelfSigned -keystore "SelfSigned.jks" -keyalg RSA -keysize […]