oracle無法su切換的問題

來源:互聯網
上載者:User

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

本文出自 “技術成就夢想” 部落格,請務必保留此出處 http://ixdba.blog.51cto.com/2895551/526427

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.