IIS 7.5中神秘的应用程序池标识解析(程序池账户)

IIS7.5中(仅win7,win2008 SP2,win2008 R2支持),应用程序池的运行帐号,除了指定为LocalService,LocalSystem,NetWorkService这三种基本类型外,还新增了一种ApplicationPoolIdentify

win7的官方帮助上是这么说的:ApplicationPoolIdentity – 默认情况下,选择“应用程序池标识”帐户。启动应用程序池时动态创建“应用程序池标识”帐户,因此,此帐户对于您的应用程序来说是最安全的。 也就是说”ApplicationPoolIdentity”帐号是系统动态创建的“虚拟”帐号(说它是虚拟的,是因为在用户管理里看不到该用户或用户组,在命令行下输入net user也无法显示,但该帐号又是确实存在的) 如何验证该帐号确实是存在的的?打开任务管理器,观察一下:

w3wp.exe即iis进程,上图中高亮部分表明该iis进程正在以帐号luckty运行(注意这里的luckty即为上图中的应用程序池名称) 好了,搞清楚这个有什么用?

先来做一个测试,比如我们在iis里新建一个站点,主目录设置为c:\2\,应用程序池就指定刚才图中的luckty 假如我们在该站点的default.aspx.cs里写入这样一行代码 :

File.AppendAllText(“C:\\TestDir\\1.txt”,DateTime.Now.ToString());

前提是c盘必须先建一个目录TestDir,同时除Administrator,System保留完全控制权外,其它帐号的权限都删除掉 运行后,会提示异常: 对路径“C:\TestDir\1.txt”的访问被拒绝。

原因很明显:该站点运行时是以应用程序池(luckty)对应的虚拟帐号运行的,而这个虚拟帐号不具备c:\TestDir的访问权限 这种情况在web服务器(iis6)安全配置中很常见,比如我们把图片上传目录,常常放在主目录之外,同时以虚拟目录形式挂于站点之下,另外在IIS6中不指定该目录任何执行权限 ,这样即使有人非法上传了asp/aspx木马上去,也无法运行搞不成!言归正传,要想让那一行测试代码正常运行,解决办法很简单,把虚拟帐号的权限加入文件夹安全权限中即可,但是问题来了:这个虚拟帐号我们是不可见的,如果你直接添加名为luckty的用户到文件夹安全帐号里,根本通不过(提示找不到luckty用户),说明这个虚拟帐号名称并不是”luckty”

关键:手动输入 IIS AppPool\luckty (即IIS AppPool\应用程序池名),再确定,这回ok了.

当然除了用”IIS AppPool\应用程序池名”外,windows内部还有一个特殊的用户组Authenticated Users,把这个组加入TestDir的安全权限帐号里也可以,不过个人觉得没有”IIS AppPool\应用程序池名”来得精确.

结束语:IIS7.5的虚拟帐号设计确实很棒,想想传统IIS6的时候,为了把同一服务器上的各站点权限分开(以防止木马捣乱),不得不创建一堆iuser_XXX,iwam_XXX帐号并指定密码,再一个个站点分配过去,累死人!而虚拟帐号设计则让这类管理轻松多了,也不用担心密码过于简单或过期问题。So,还在等什么,赶紧升级到win7/win2008 R2吧!

用开源私有云系统Seafile搭建公司云盘系统

因公司同事现在经常需要发送大到几百兆的邮件附件,导致浪费大量邮件服务器空间和资源,而且不便于管理,速度也慢,一直在想部署一套网盘系统,在网上找了几款免费的网盘系统做对比,发现seafile开源网盘系统功能强大,而且免费开源,免费版已经满足日常使用,安装和使用都非常方便。

因原来的预想是用同样的地址访问,在公司内部访问时有内部DNS服务器负责把域名解析到内部服务器上,在外部访问时通过Nginx反向代理,把访问转发到内部服务器上,通过一晚上的努力,所有功能完美实现。

给几个同时安装测试了一下,也给台湾的同事建立了账号,后续测试看看满意度如何。

官方地址:http://www.seafile.com

IBM Lotus Domino服务器故障处理

上周一早上突然接到客户的电话,Lotus客户端无法登录,邮件无法接收,马上远程连到服务器上查看,Domino服务无故停止了,当时也没有多想,重新启动了服务,顺利启动完成,客户服务正常。
那知这周一早上又按到电话,Lotus又无法使用了,当时就觉得有问题了,马上连上服务器,发现Domino服务又停止了,心想像上次一样,重新启动下服务即可,但这次不行了,启动到一半的时候就出错,然后就退出来了。

这下完了,本身对Lotus不熟,这套系统已经用了超过15年了,如果不能恢复,后果相当严重!!!
后来仔细在网上查了两篇资料,根据上面的资料提示,去下载了一个IBM的NSD文件检测工具(Lotus Notes Diagnostic),分析文件后发现每次在退出时系统都是在打开一个用户的数据库时失败,把这个数据库拷贝到客户端也不能直接到开,出现一个红色的警告窗口,客户端直接就退出来了,在服务器将此数据库删除后系统成功启动。
然后将之前备份的那个错误数据恢复,系统至此恢复正常,心里的石头总算落地了,谢天谢地!!

http://blog.csdn.net/gavid0124/article/details/42525645

http://www.cnblogs.com/hannover/archive/2011/05/29/2061949.html

HmailServer使用ClamAV杀毒软件

ClamWin杀毒软件是一款手动杀毒软件,不会与实时杀毒软件冲突,所以可以在服务器安装好其他杀毒软件时同时安装ClamWin。

ClamWin下载地址:http://www.clamwin.com

安装好后再安装ClamAv,它直接使用ClamWin的病毒库。下载地址:http://www.clamav.net/downloads#otherversions 选择对应的版本。

解压到D盘或其他盘上的英文目录内,修改配置文件,简单的修改使用TCP协议,端口和病毒库地址就可以使用了。

使用工具把clamd.exe做成服务,在hmailserver里直接启动clamav即可,测试下有没有正常工作。ClamWin在hmailsrver下使用太耗费资源了。

将程序以windows服务的方式启动

这两天在给hmailserver添加spamassassin垃圾邮件过滤功能,但发现spamd.exe要在登录以后才可以使用,只需要启动一下即可,但这样还是不方便,查了一些资料,发现可以将程序以windows服务的方式启动,特此记录下来,以便需要的朋友参考。以下资料来源于网络:

需要用到的工具及下载地址:

首先介绍2个小工具:

instsrv.exe:用以安装和卸载可执行的服务

srvany.exe:用于将任何EXE程序作为Windows服务运行

将这两个工具拷贝到你的程序目录一起,最好不要有空格。

这2个工具都是是Microsoft Windows Resource Kits工具集的实用的小工具

你可以通过下载并安装Microsoft Windows Resource Kits获得 http://www.microsoft.com/en-us/download/details.aspx?id=17657

服务的安装步骤分5小步:

(1)打开CMD,输入以下内容,

D:\程序目录\instsrv.exe  服务名称(自定,不要有空格)D:\程序目录\srvany.exe

注:这里只是建立 一个服务项目,后面再去添加自序路径

(2)regedit打开注册表编辑器,找到以下目录

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名称

 

(3)鼠标右键单击服务名称,创建一个”项”,名称为”Parameters”

 

(4)鼠标左键单击”Parameters”,在右边点击鼠标右键,创建一个”字符串值”(REG_SZ),名称为”Application”,数值数据里填写目录下可执行文件的绝对路径+文件名

例如:

d:\程序目录\程序名称.exe

 

(5)打开services.msc服务控制面板,找到 服务名称 服务,点启动试试。