当用户通过 WebDAV 创建文件时,默认行为是该文件归运行 Apache 进程的用户和组所有,umask 为 022。
不幸的是,这使得非特权用户无法通过其他方式写入文件而不是 Apache 运行的组的成员(这在我看来是一个特别糟糕的主意)。
我当前的解决方案是umask 000
在 Apache 的 envvars 中设置并从用户的 webdav 父目录中删除所有世界权限。所以,如果WebDAV共享为/home/foo/www
,然后/家/富/ www是由拥有www-data:foo
与权限770
。这或多或少地将其他无特权的用户拒之门外,但这充其量是骗人的,最糟糕的是等待的安全灾难。
从我的研究和对 mod_dav 和 Apache 的探索来看,除了将所有权限翻转回来的 cron 作业之外,我找不到合理的解决方案(我宁愿没有服务器上的负载和增加的复杂性)。SuExec 也不会工作,因为 WebDAV 操作不会以不同的用户身份执行。
对此有何想法?谢谢你。
我有几个单独的测试环境运行 2008 R2 和 Exchange 2010,补丁级别和原因各不相同。我遇到的一个一致问题是 Exchange 的事务日志没有被截断,因为没有备份解决方案,我也不想要一个。
所以,在我看来,这给我留下了三个选择:
circular logging
。这对于某些测试场景来说是不可取的,因为它可能与正确模拟特定环境相冲突。eseutil /mh
. 这有效,但这是一个繁琐的维护过程。前两个我可以做,但我不会。有没有办法做第三种选择?
运行Enter-PSSession COMPUTERNAME
时Enable-PSWSManCombinedTrace
,我在 Windows 远程管理操作日志中看到以下相关消息:
WSMan 操作获取失败,错误代码 2150859046
WinRM 无法完成操作。验证指定的计算机名称是否有效、该计算机是否可通过网络访问以及 WinRM 服务的防火墙例外是否已启用并允许从该计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外限制对同一本地子网中的远程计算机的访问。
WinRM 协议操作因以下错误而失败:由于以下错误,无法从服务器检索元数据:WinRM 无法完成操作。验证指定的计算机名称是否有效、该计算机是否可通过网络访问以及 WinRM 服务的防火墙例外是否已启用并允许从该计算机进行访问。默认情况下,公共配置文件的 WinRM 防火墙例外限制对同一本地子网中的远程计算机的访问。.
而有时:
客户端从网络层得到超时(ERROR_WINHTTP_TIMEOUT)
COMPUTERNAME
在域上一个2012 R2核心服务器,同组的政策下,作为其远程PowerShell,服务器管理器,许多其他的服务器等工作正常。我可以 RDP 到这个系统,我可以从中获取 WMI 数据(例如Get-WmiObject -ComputerName COMPUTERNAME -Class Win32_OperatingSystem
返回它应该返回的数据),并且在其他所有方面,它似乎运行得很好。
虽然它已经通过组策略设置,但我已经尝试(无数次)启用 WinRM 和远程 PowerShell,例如Enable-PSRemoting
,或调用此命令单独执行的伴随步骤。
我已更改为不同的网络接口,已确保同一网段上的其他系统不会出现这些症状,我已遵循 的建议Get-Help about_Remote_Troubleshooting
,并将必需的山羊牺牲给 Baal。没有任何帮助。
这些症状可从任何域客户端复制到此服务器,或者如果您通过 IP 联系服务器(将其放入 TrustedHosts 后)。没有其他服务器出现此问题。没有任何软件或配置(一直到启用 FW 规则和安装的功能)不在我环境中的至少 2 台其他服务器上。
有任何想法吗?
最近的发现:
netsh http show iplist
返回127.0.0.1
非工作系统,但回报的工作制度什么。
正如@out-null 在评论中正确指出的那样,5985 正在侦听 127.0.0.1 的事实是一个问题。我已经从配置我们的 WinRM 设置的 GPO 中排除了这个系统并手动创建了侦听器: …