IIS中应用程序池的运行账户(标识)有以下4个选项

  • LocalService 本地服务
  • LocalSystem 本地系统
  • NetWorkService 网络服务
  • ApplicationPoolIdentify
    IIS应用程序池标识(程序池账户)ApplicationPoolIdentify-LMLPHP
    默认情况下新建的应用程序池标识为ApplicationPoolIdentify,官网文档解释(传送门)为:

大概的意思:在IIS7.5以后的版本中,新建的所有程序池默认运行标识为ApplicationPoolIdentity。启动该应用程序池时,会自动创建一个与应用程序池同名的虚拟账户来运行该进程。
说它是虚拟的,是因为在用户管理里看不到该用户或用户组,在命令行下输入net user也无法显示,但该帐号又是确实存在的。可以通过任务管理器观察到w3wp.exe这个web程序进程是以应用程序的名称作为用户名运行的。
IIS应用程序池标识(程序池账户)ApplicationPoolIdentify-LMLPHP

通过前面的观察,确定CQApi这个账户是隐藏不可见的,那么如果当我们需要操作一个当前项目外的文件夹时,我们需要给这个文件赋予当前运行账号以操作权限,但是我们直接使用CQApi为关键字去查找会发现根本没有这个账号。
IIS应用程序池标识(程序池账户)ApplicationPoolIdentify-LMLPHP
关键:手动输入IIS AppPool\CQApi (即IIS AppPool\应用程序池名)
IIS应用程序池标识(程序池账户)ApplicationPoolIdentify-LMLPHP

除此之外,还可以通过给目录分配Authenticated Users用户组来获取权限

用Authenticated Users代替everyone组可以防止匿名访问。

07-26 05:22