Windows服务器配置apache+php目录安全权限设置的情况说明【未完全版20131221最后更新】 -云主机博士

PikPak安卓最新版APP v1.46.2_免费会员兑换邀请码【508001】可替代115网盘_全平台支持Windows和苹果iOS&Mac_ipad_iphone -云主机博士 第1张

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]NexGenAI - 您的智能助手,最低价体验ChatGPT Plus共享账号

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

众所周知,在windows下当Apache第一次被安装为服务后,它会以用户“System”(本地系统账号)运行。如果web服务器的所有资源都在本地系统上,这样做会问题比较少,但是将会具有很大的安全权限来影响本地机器,因此千万不能开启System帐号的网络权限。

于是要创建一个新的帐户来替代这个帐号启动apache并设置相应的权限:
1、在计算机管理里的本地用户和组里面创建一个帐户,例如:apache,密码设置为:apacheuser,加入guests组(如果出现问题,可以赋予user权限);
2、打开开始->管理工具->本地安全策略,在用户权限分配中选择“作为服务登陆”,添加apache用户;
3、计算机管理里面选择服务,找到apache2.2,先停止服务,右击->属性,选择登陆,把单选框从本地系统帐户切换到此帐户,然后查找选择apache,输入密码apacheuser,然后点确定(这个时候apache还不能正常启动,一般情况肯定会报错:Apache2.2 服务因 1 (0x1) 服务性错误而停止。);
4、赋予apache安装目录(比如:D:/apache2.2)以及web目录(比如D:/wwwroot)apache帐号的可读写权限,去除各磁盘根目录除administror与system以外的所有权限,赋予apache安装目录所在的磁盘根目录apache帐户的可读取列目录权限(我开始觉得没必要,但后来发现:这是导致上面出错的关键。错误信息:Apache2.2 服务因 1 (0x1) 服务性错误而停止)
5、启动apache,一切OK了。
6、php.ini中指定的PHP临时上传目录和session保存目录,并给予目录apache完 全控制权限,例如:

    upload_tmp_dir = “E:/PHP/uploadtmp/”
    session.save_path = “E:/PHP/sessiontmp/”

7、给予D:/php目录读取与运行的权限;
8、给予zend安装目录读取与运行的权限;
9.限制读取访问的目录,修改apache安装目录下conf文件夹下的 httpd.conf,加上:

    php_admin_value open_basedir “D:/wwwroot”
    php_admin_value safe_mode On

httpd.conf配置(假如将PHP读写权限限制在E:\smis目录下)
Apache2.0配置示例代码如下:

    <VirtualHost *:80>
    ServerName www.yunzhujiboshi.com
    DocumentRoot “E:/yunzhujiboshi”
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm default.htm index.php default.php
    AllowOverride None
    Order Deny,Allow
    Allow from all
    php_admin_value open_basedir “E:/yunzhujiboshi/;E:/APMServ5.2.0/PHP/uploadtemp/;E:/APMServ5.2.0/PHP/sessiondata/”
    php_admin_value safe_mode On
    </VirtualHost>

Apache2.2配置示例代码如下:

    <VirtualHost *:80>
    ServerName www.yunzhujiboshi.com
    DocumentRoot “E:/yunzhujiboshi”
    </VirtualHost>
    <Directory “E:/smis”>
    Options FollowSymLinks IncludesNOEXEC Indexes
    DirectoryIndex index.html index.htm default.htm index.php default.php
    AllowOverride None
    Order Deny,Allow
    Allow from all
    php_admin_value open_basedir “E:/yunzhujiboshi/;E:/APMServ5.2.0/PHP/uploadtemp/;E:/APMServ5.2.0/PHP/sessiondata/”
    php_admin_value safe_mode On
    </Directory>

PS:需要赋予apache所在目录的独立帐号权限,还有apache所在的磁盘独立帐号权限!

PHP目录结构以及NTFS格式下安全的目录权限设置:
当前目录结构为:

D:\php
|
+———————+————————+—————————+—————————+
php4(php5)           temp                     MySQL                           Zend                     phpMyAdmin

以下的是针对IIS设置的:
D:\php设置为管理员和SYSTEM完全权限即可,其他用户均无权限(users 组读取和运行权限。 )
对于其下的二级目录
php4(或者php5)、 tmp 给EVERYONE完全权限,SYSTEM权限未确定
MySQL 、Zend 管理员和SYSTEM完全权限
phpMyAdmin 在继承上级 PHP 目录权限的基础上,增加一个 Internet 来宾帐户读取和运行的权限。

以下的是针对Apache设置的:
目前暂时给予D:\php目录管理员和apapche独立帐号所有权限,对于其的目录读写权限,后期在进行单独的测试设置!

宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取


iproyal.png
原文链接:,转发请注明来源!
「Windows服务器配置apache+php目录安全权限设置的情况说明【未完全版20131221最后更新】 -云主机博士」评论列表

发表评论