切換使用者時提示:cannot change directory to /home/oracle: Permission denied
切換使用者時提示:cannot change directory to /home/oracle: Permission denied
su: /bin/bash: Permission denied帶來的疑惑
徒弟說是在當機後出現下面的問題。
在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也存在同樣的影響。
上述是轉載的內容。
前幾天,徒弟也出現了同樣的問題,主要的原因考慮為不明原因的當機後重啟出現問題。可以直接考慮根空間許可權出現問題,不過我這裡還沒有正常根空間許可權的資料,請徒弟看到了,在正常的情況下,對根空間進行STAT,把狀態資料記錄下來,好以後用於比較。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-745674/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 500 OOPS: cannot change directory:/home/OOP
- RedHat ES5 500 OOPS: cannot change directory:/home/oracleRedhatOOPOracle
- 解決“su: cannot open session: Permission denied”Session
- Cannot restore segment prot after reloc:Permission deniedREST
- 500 OOPS: cannot change directory問題OOP
- Oracle ASM Active Change DirectoryOracleASM
- FATAL: Failed to make swap directory /etc/squid/cache: (13) Permission deniedAIUI
- Linux的wheel組:LINUX下使用者使用su命令切換使用者報錯su: Permission deniedLinux
- git push 到遠端倉庫提示Permission deniedGit
- 使用root 切換普通使用者提示:[sudo] password for oracle:Oracle
- vsftpd中遇到500 OOPS: cannot change directory的解決方案FTPOOP
- Hexo deploy git permission deniedHexoGit
- sqlplus因selinux報錯cannot restore segment prot after reloc: Permission deniedSQLLinuxREST
- libclntsh.so.11.1:cannot restore segment prot after reloc:Permission denied 報錯REST
- No read or write permission to ORACLE_HOME/.patch_storageOracle
- redhat vsftpd及vsftpd 500 OOPS: cannot change directory錯誤解決RedhatFTPOOP
- oracle程式命令的6571(Linux Error: 13: Permission denied)OracleLinuxError
- Angular macOS Err:EACCES: permission deniedAngularMac
- Permission Denied(publickey) 解決
- -bash: ./backup.sql: Permission deniedSQL
- Nginx: stat() failed (13: permission denied)NginxAI
- oracle中create directory建在/home/oracle下可能存在的風險Oracle
- PHP中 mkdir: Permission denied 問題PHP
- adb remount of system failed: Permission deniedREMAI
- nginx部署(13:Permission denied)報錯Nginx
- Jenkins中構建(Build)Docker映象時出現permission deniedJenkinsUIDocker
- 【Android】Permission denied (missing INTERNET permission?)異常踩坑Android
- Error: Permission denied @ apply2filesErrorAPP
- PermissionError: [Errno 13] Permission denied 如何解決Error
- Ubuntu git pull 出現Permission denied ErrorUbuntuGitError
- Oracle redo 日誌切換時間頻率Oracle Redo
- PermissionError: [Errno 13] Permission denied解決辦法Error
- Android10 建立檔案 Permission deniedAndroid
- Permission denied Command PhaseScriptExecution failed with a nonzero exit codeAI
- 詳解Nginx 13: Permission denied 解決方案Nginx
- mysql [ERROR] Can't create IP socket: Permission deniedMySqlError
- Android Studio: /dev/kvm device permission deniedAndroiddev
- Docker + maven build problem — unix://localhost:80: Permission deniedDockerMavenUIlocalhost