【转载时请以超链接形式标明文章出处和作者信息及本声明】
原文链接: http://www.ixdba.net/a/mz/2010/0421/14.html 客户一个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也存在同样的影响。
(责任编辑:南非蚂蚁)
本篇文章来源于锋芒网(www.ixdba.net) 原文链接:http://www.ixdba.net/a/mz/2010/0421/14.html
分享到:
相关推荐
标题 "虚拟机root:x:0:0:root:/root:/bin/bash改成 root:x:0:0:root:/root:/bin/csh" 涉及的是Linux操作系统中的用户配置信息更改,特别是关于root用户的Shell切换。在Linux系统中,`/etc/passwd` 文件包含了所有...
以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! ...
-bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...
在Linux系统中,当尝试运行一个Shell脚本(如`t.sh`)并遇到错误“bash: ./t.sh: /bin/bash^M: 损坏的解释器: 没有那个文件或目录”时,这通常意味着脚本的开头行(也称为Shebang行)受到了不兼容的文本编辑器的影响...
linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案 今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看 yum remove yum 然后就杯具了… [root@localhost ~]#...
主要介绍了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以参考下
这已经下载好了,下载之后,通过 bash ./downloadbyfn.sh 1.1.0 -s 运行。 具体可以看https://blog.csdn.net/u013288190/article/details/112286162
这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式...# chmod +x /usr/local/bin/docker-compose 查看版本信息 # docker-compose --ver
COLLECT_LTO_WRAPPER=d:/eclipse/cross/arm-2014.05-29/bin/../libexec/gcc/arm-none-linux-gnueabi/4.8.3/lto-wrapper.exe Target: arm-none-linux-gnueabi Configured with: /scratch/maciej/arm-linux-2014.05-...
到此这篇关于Linux bash:./xxx:无法执行二进制文件报错的文章就介绍到这了,更多相关Linux 无法执行二进制文件 内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!...
讲述linux操作系统的基本命令,第一个命令ls命令的使用
bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 2. 使用 head 显示 /etc/passwd 文件除了最后 20 行以外的内容。 [root@localhost ~]# head -n -40 /etc/passwd root:x:0:0:root:/...
/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin step=5 #间隔的秒数,不能大于10 for (( i = 0; i ; i=(i+step) )); do curl http://xxx/index/wpay/auto_transfer3 curl ...
CentOS 安装软件出现错误:/lib/ld-linux.so.2: bad ELF interpreter 解决 环境: [orangle@localhost Downloads]$ uname -m&&uname -r ...bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF inter
你知道Homebrew吗?它是macOS和Linux上的一个绝佳的终端软件包管理程序。与Linux上的apt-get、yum等相同,它拥有丰富的功能,能实现“即输即装”。只需一行命令“brew install xxx”,它就会自动给你安装上了!...
1. /bin:这是 Linux 系统中最基本的命令目录,包含了一些系统的基本命令,例如 cat、cp、chmod、df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar 等。 2. /usr/bin:这是 Linux 系统中应用软件工具的...