服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器
在我被击落之前,我知道如何安排一项任务,使用powershell重新启动一项服务,或给非pipe理员帐户授予重新启动服务的权限。 这不是问题。 然而问题是所有这三项任务的结合。 我有一个Windows服务需要处理networking文件夹上的文件。 因此,它使用“服务帐户”login,该服务帐户实际上只是普通的域帐户。 此域帐户不是pipe理员,但具有对所述文件夹的访问权限。 该服务运行良好,这是工作。 但是,有时会在其中一个文件中出现错误,导致无法处理其他文件。 通常需要一段时间才能注意到,还有一些积压。 所以,我在PowerShell中创build了一个监视脚本,用来轮询这些错误文件的networking文件夹。 如果find了,文件将被移动到一个临时文件夹进行审查,并且服务需要重新启动。 我通过组策略提供了服务帐户权限来启动和停止服务。 当我用服务帐户login到服务器时,我可以使用服务MMC手动重新启动服务。 我也能够执行PowerShell脚本,它完全是它应该做的:轮询文件夹,移动文件并重新启动服务。 大! 在下一阶段,我创build了一个计划任务,每10分钟运行一次。 该任务使用与服务相同的服务帐户来执行powershell脚本。 选中“执行最高权限”框。 就像我说的,powershell脚本需要访问networking驱动器,所以我不能运行它作为本地服务器pipe理员,我不想使用域pipe理员凭证这样一个琐事的任务。 (我尽量实现最小特权的原则。) 我使用本地安全策略MMC为服务帐户提供了本地服务器上的“作为批处理作业login”权限。 现在对于我无法弄清楚的部分:在计划的时间,计划任务成功完成,并执行PowerShell脚本。 脚本轮询文件夹并移动错误文件。 唯一不起作用的是重新启动服务…?! 再次,手动运行脚本作为相同的用户完美工作。 我在事件查看器中看不到太多内容,但是在我的脚本上logging了这个错误: TerminatingError(停止服务):“无法在计算机上打开服务控制pipe理器”,此操作可能需要其他权限。 我用来重新启动服务的命令是: Stop-Service -Verbose -DisplayName $($service[1]) … Start-Service -Verbose -DisplayName $($service[1]) (我在2008 R2域上使用Windows Server 2012 R2和PowerShell版本4)。 更新:我都尝试使用subinacl设置服务的权限(如此处所述),并手动设置SDDLstring(如此处所述),所以我的控制标志看起来像这样(A; CCLCSWRPWPDTLOCRRC ;;; S-1- X-XX-XXXXXXXXXX-XXXXXXXX-XXXXXXXXX-XXXX)。 我也尝试在GPO中将服务权限设置为完全控制。 这些都没有解决这个问题。 它必须是一个我仍然忽视的特权问题,因为当我使用服务器上的本地pipe理员的域帐户安排任务时,它工作得很好。
所以我们有这个公司服务器站在我们办公室的angular落。 它连接到挂在墙上的液晶显示器,我们偶尔会用它来检查备份是否做到了。 问题是:剩下的时间可以运行什么酷的可视化的东西来深刻地吸引来访的客户? 服务器在Debian 4.0上运行。 因为目前没有安装窗口pipe理器,所以在控制台上运行的很酷。 我想过的东西:Twitter的饲料,Nagios的可视化,全球networking状态,新闻(从谷歌新闻或其他)…主要标准:它必须看起来很酷。
这是我的encryption绝对一切…问题的后续行动。 重要提示 :这不是更常用的IPSec设置,您需要在两个LAN之间encryption通信。 我的基本目标是encryption一个小公司局域网内的所有stream量。 一种解决scheme可能是IPSec。 我刚刚开始学习IPSec,在决定使用它之前深入了解一下,我想了解一下这可能是什么样子。 是否有良好的跨平台支持? 它必须在Linux,MacOS X和Windows客户端,Linux服务器上工作,并且不需要昂贵的networking硬件。 我可以为整个机器启用IPSec(因此不能有其他stream量进入/出口),或者networking接口,或者是由个别端口/ …的防火墙设置决定的吗? 我可以轻松禁止非IPSec IP数据包吗? 也是“马洛里的邪恶”的IPSecstream量是由一些关键的签名,但不是我们的? 我的理想是让局域网上不可能有这样的IPstream量。 对于局域网内部stream量:我将select“传输模式”中的“带有authentication的ESP(无AH)”,AES-256。 这是一个合理的决定? 对于局域网互联网stream量:它将如何与互联网网关协同工作? 我会用吗? “隧道模式”创build从每台机器到网关的IPSec隧道? 或者我也可以使用 “传输模式”到网关? 我问的原因是,网关必须能够解密来自局域网的软件包,所以它将需要密钥来做到这一点。 如果目的地址不是网关的地址,这是可能的吗? 或者在这种情况下我必须使用代理? 还有什么我应该考虑的? 我真的只需要快速浏览一下这些东西,而不是非常详细的说明。
首先我知道这个variables: _SERVER["SERVER_SOFTWARE"] 在我的一个应用程序中,我想从PHP脚本检查它运行的是哪个web服务器。 基本上这将是一个wordpress插件,这将有助于博主调整一些configuration。 我为Apache&Nginx创build了独立的进程,并且正在考虑将代码发布为2个不同的WordPress插件。 然后,我只是好奇,知道在PHP中是否有一个FULLPROOF方法来完美地检测Web服务器。 请考虑所有情况:: Apache,Nginx,Apache + Nginx,PHP作为Apache模块,PHP使用fastcgi,php-fpm,lighttpd,IIS等。 此外,它对我的应用程序来检测组合和代理的存在至关重要。 谢谢, -Rahul
我刚刚构build了一个新的基于KVM / libvirt的虚拟机主机,包含4个SATA II硬盘驱动器,并运行CentOS 5.5 x86_64。 我决定将虚拟机磁盘创build为作为libvirt存储池pipe理的LVM卷组中的逻辑卷,而不是将磁盘创build为qcow映像。 我无法决定的是,我应该在VM主机的卷组中还是在专用卷组中创build虚拟机逻辑卷。 我应该select哪种方法,为什么? 方法1:使用VM主机的卷组 执行: 包含/boot文件系统的小型RAID1 md0 占用剩余空间的大型RAID10 md1 ,其中包含LVM卷组vghost 。 vghost包含VM主机的根文件系统和交换分区 根据需要在vghost创build虚拟机磁盘作为逻辑卷 优点: 如果VM主机的根文件系统空间不足,我可以相对容易地从vghost分配更多的空间 系统已经启动并正在运行(但重新开始没什么大不了的) 缺点: Depsite事实上,这种方法似乎工作,我不能动摇这是一个坏主意的感觉。 我觉得: 这可能以某种方式成为安全风险 在将来的某个时候,我可能会发现设置的一些限制,并希望我使用了一个专门的组 系统(CentOS,libvirt等)可能并不是真的被devise成这样使用的,因此在某些时候我可能会意外地损坏/丢失VM主机的文件和/或文件系统 方法2:使用专用的卷组 执行: md0和md1与方法1相同,除了使md1大到足以容纳VM主机(例如5到10GB) 大型RAID10 md2占据了其余的空间。 md2包含LVM卷组vgvms ,其逻辑卷将由虚拟机独占使用 优点: 我可以修补vgvms而不用担心打破主机操作系统 这似乎是一个更优雅和安全的解决scheme 缺点: 如果虚拟机主机的文件系统空间不足,我将不得不将其部分文件系统(例如/ usr或/ var)移动到vgvms ,这似乎不是很好。 我必须重新安装主机操作系统(如前所述,我不介意做) 更新#1: 我担心方法2中VM主机磁盘空间不足的一个原因是因为我不知道VM主机是否足够强大,可以在虚拟机中运行所有服务。 我可能必须将某些/所有服务从虚拟机迁移到主机操作系统。 VM主机硬件规格: 羿龙II 955 X4黑色版处理器(3.2GHz,4核CPU) 2x4GB金士顿PC3-10600 DDR3内存 技嘉GA-880GM-USB3主板 4倍WD […]
想象一下,你有一个成功的Web应用程序,它使用ASP.NET和IIS 7.它会产生很多对SQL Server 2008数据库的调用,并且预计将以99.9%的正常运行时间向公众提供(停机时间为8小时45分钟年)。 我们的目标是: 在服务器上安装Windows更新,而不会导致客户停机 防止服务器上的硬件崩溃,因为超时而使ASP.NET应用程序变慢 与对ASP.NET应用程序进行负载平衡不同,负载平衡SQL似乎要困难得多。 为使用Microsoft堆栈的Micro-ISV设置简单的负载平衡SQL Server 2008 R2群集,您有哪些最佳做法?
目前我们遇到一个大问题:我们需要为我们的客户镜像一个文件系统。 这通常不是一个真正的问题,但这里是: 在这个文件系统上有一个文件夹,有数百万个硬链接(是的!百万!)。 rsync需要超过4天才能build立文件列表。 我们使用以下rsync选项: rsync -Havz –progress serverA:/data/cms /data/ 有没有人有一个想法如何加快这个rsync,或使用替代? 我们不能使用dd因为目标磁盘比源小。 更新:由于原始文件系统是ext3我们将尝试dump和restore 。 我会保持你up2date
我的问题是:在Debian 6.0(Squeeze)中默认启用了哪个缓冲区溢出/堆栈粉碎防御(如果有的话 )? Ubuntu有一个方便的总结表,显示了每个Server版本的主要安全特性 ,但是我还没有发现类似于Debian的东西。 Ubuntu提到: 堆栈保护器(gcc的-fstack保护) 堆保护(GNU C库堆保护) 指针混淆(存储在glibc中的一些指针被混淆) 地址空间布局随机化(ASLR)(Stack ASLR; Libs / mmap ASLR; Exec ASLR; brk ASLR; VDSO ASLR) 构build为位置独立可执行文件(PIE)的几个守护进程 一些使用Fortify Source构build的守护进程(?)“-D_FORTIFY_SOURCE = 2” Debian 6.0在多大程度上使用类似的技术(默认情况下)?
我们目前在专门的h / w上在本地托pipe我们自己的域控制器(小公司)。 但为了减轻灾难,我们正在考虑使用虚拟化和云托pipe。 一个想法是 在云中托pipe的虚拟主域控制器+在办公室中运行的本地(辅助)虚拟化服务器作为caching? 这是可能的还是我应该考虑别的? 我们很高兴支付体面的托pipe和DR,但这是真的超出我的经验。
由于一些糟糕的devise决定,我们有一个应用程序无法响应HTTP HEAD请求(返回'方法不允许')。 修改软件正确返回HEAD请求将是棘手的,不是不可能的,但额外的工作。 该应用程序位于NGINX代理的后面,我想知道是否有办法让NGINX将从客户端收到的HEAD请求转换成GET请求到后端,然后放弃除了标题之外的响应并将其发回给客户端就像我们的应用程序服务器能够响应HEAD请求一样。 当前configuration(相当标准) upstream ourupstream{ server unix:/var/apps/sockets/ourapp.socket.thread1 server unix:/var/apps/sockets/ourapp.socket.thread2 server unix:/var/apps/sockets/ourapp.socket.thread3 [like 20 of these] } server { listen 1.2.3.4:80; server_name ourapp; access_log /var/apps/logs/ourapp.nginx.plog proxy; error_log /var/apps/logs/ourapp.nginx.elog info; gzip on; gzip_types text/plain text/html; proxy_intercept_errors on; proxy_connect_timeout 10; proxy_send_timeout 10; proxy_read_timeout 10; proxy_next_upstream error timeout; client_max_body_size 2m; error_page 404 /static/404.html; error_page 500 501 502 […]