Linux下使用Apache访问FTP文件夹引起的问题

19 篇文章 1 订阅

通过FTP服务器接收由IP摄像头上传的抓图文件,在通过Apache实现到HTTP的访问,结果配置FTP和Apache遇到了奇怪的权限问题,与一般的问题不同,经过验证,终于找打了解决方案。

403 权限问题

无论什么问题,首先禁用SELinux,看看是否正常。
禁用SELinux权限的方法是:setenforce 0
开启权限是:setenforece 1
一般情况下,生产服务器建议打开SELinux,以免遭受莫名攻击。

搜索权限问题

Apache日志提示:because search permissions are missing on a component of the path
一般为目录权限问题,需要注意的是对于需要HTTP访问的目录必需从根开始的到需要访问的文件的上级目录一定需要具有执行权限(如果目录不是apache运行的用户,或者添加了组,那么其他用户就需要执行权限)。注意SELinux也会出现上述错误。
需要特别注意的是所有的上级目录一定是具有可执行权限的。
Linux中用户的home目录就是700权限(即组用户和其他用户没有任何访问权限)
一般需要访问的目录为755权限(即组用户和其他用户具有读和执行权限)
比如给/home/ftp目录的其他户增加权限可以采用:

chmod o+x /home/ftp
chmod 755 /home/ftp

FTP目录(home目录)无法被http访问的问题

在开启SELinux下,一般FTP目录为ftp用户的目录,属于系统资源,SELinux不允许httpd访问,需要添加http角色类型(httpd_sys_content_t ),这样,这个目录的文件就可以访问了。
命令如下:

// Apache httpd可以访问
chcon -R -t httpd_sys_content_t /data/ftp/camera
// Aapache httpd 可以读写(注意目录权限)
chcon -R -t public_content_rw_t  /data/ftp/camera
// Apache httpd 可以读写系统目录
chcon -R -t httpd_sys_rw_content_t /data/ftp/camera

我测试了一些相关的SELinux相关的相关选项,发现意义不大。
如果希望查询相关的SELinux选型,可以通过命令:
getsebool -a | grep http
SELinux设置启用命令如下:
setsebool -P allow_ftpd_anon_write=1

通过restorecon -R -v /data/ftp/camera或者chcon -R -t defalut_t /data/ftp/camera恢复所有SELinux角色配置后,发现文件即无法访问。
通过ls -lZ 命令可以查看角色配置策略。

通用通过查看审计日志( /var/log/audit/audit.log)发现由于目标SELinux配置导致的访问拒绝:

type=AVC msg=audit(1497436934.937:33464): avc: denied { getattr } for pid=26873
comm=”httpd” path=”/data/ftp/test/index.html”
dev=”dm-0” ino=204159993
scontext=system_u:system_r:httpd_t:s0
tcontext=unconfined_u:object_r:default_t:s0
tclass=file

从上面可以看出:
scontext=system_u:system_r:httpd_t:s0,
而目标内容为:
tcontext=unconfined_u:object_r:default_t:s0
这也就产生了httpd日志的问题:
[Wed Jun 14 18:44:52.696084 2017] [core:error] [pid 26872] (13)Permission denied: [client 192.168.88.225:57438] AH00035: access to /img1/YUNBO-LEFT-AISLE/2017-06-14/001/jpg/13/52/46[M][0@0][0].jpg denied (filesystem path ‘/data/ftp/camera/YUNBO-LEFT-AISLE/2017-06-14/001/jpg/13/52/46[M][0@0][0].jpg’) because search permissions are missing on a component of the path

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值