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也存在一樣的影響。


   很是感謝,這位仁兄的經驗分享。

相關文章
相關標籤/搜索