WEB服务器访问任何页面均提示403

    今日刚准备下班,研发同事就是WEB服务器访问不了; 一看QQ聊天记录有同事在处理,因而下班。php

    刚进电梯处理故障同事打电话来讲明了状况, 确实没法处理。抓紧时间回家开始解决。html


   登陆服务器进行如下操做无果:node

    检查WEB目录权限。。。。。。。  正常数据库

    检查进程。。。。。。。。。。。  正常bash

    使用root用户启动WEB服务器。。。正常访问服务器

        至此确定是用户权限的问题, 逐使用sudo和su切换到普通用户看看权限问题oracle


    切换用户时提示:ui

cannot change directory to /home/www: Permission denied
su: /bin/bash: Permission denied

    

   从没遇到这种状况, 逐上网搜索:spa

        关键词1:  linux 只有root用户可访问资源   无果.net

        关键词2:  linux 普通用户不能访问系统资源            无果

        关键词3:     cannot change directory to /home/www: Permission denied 无果

        关键词4:        su: /bin/bash: Permission denied

                找到如下文章:

                su: /bin/bash: Permission denied带来的疑惑

         按照文中的方法处理,问题解决。如下是文章的内容:

        

客户一个oracle忽然当机了,因为业务启动,客户下意识的重启了服务器,系统是起来了,准备切换到oracle用户下启动数据库,能够怎么都没法su切换,真是火上浇油呀,描述以下:
在root用户下,su到一个普通用户oracle,获得以下错误:

[root@localhost ~]# su -  oracle
su: warning: cannot change directory to /home/oracle: Permission denied
su: /bin/bash: Permission denied

而oracle用户也没法经过直接登陆,出现一样错误。

这是一个很是奇怪的问题,究竟是什么致使的呢?思路以下:
1,程序执行权限问题
2,程序依赖的共享库权限问题
3,目录权限问题
4,根空间问题。

检查/bin/bash,权限正确,检查/home/oracle权限正确,检查/lib/ld-***.so,权限也正确。

继续调试,检查/etc/passwd,将oracle的home设置为/tmp,把/tmp设置为777,这个权限应该是最宽松的。

而su出现一样的错误。

也就是oracle用户没法访问777权限的/tmp。

问题到底出如今哪里呢?

最后
经过star命令,看到了问题根本,
[root@localhost ~]#stat  /
输出以下:由于你ls是看不到的。
  File: “/”
  Size: 1024            Blocks: 2          IO Block: 1024   目录
Device: 803h/2051d      Inode: 2           Links: 22
Access: (0666/drw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2007-12-01 22:28:48.000000000 +0800
Modify: 2007-12-01 22:28:34.000000000 +0800
Change: 2007-12-01 23:17:35.000000000 +0800

问题出来了,这里的权限是错误的,X权限的丢失形成的。

[root@localhost ~]#chmod 755 /


修改后,问题消失。

产生上述问题的方法:
第一种,chmod 666 /,能够致使。

或者,
第二种,chmod 700 /lib/ld-xxxx.so,也能够致使su失败。

有兴趣能够本身试一下。

/ 权限的丢失对于各类运行在本身用户身份上的daemon也存在一样的影响。


   很是感谢,这位仁兄的经验分享。

相关文章
相关标签/搜索