ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 今天的一些实验内容

今天的一些实验内容

原创 Linux操作系统 作者:renrenhao 时间:2012-02-13 22:44:59 0 删除 编辑
平台和软件 vmware server 1.0.3,centos5.6,oracle11.1,weblogic12c
情况描述:已经顺安装好了oracle,并运行正常。安装完weblogic后,无法登陆oracle用户,图形界面进入oracle用户就黑屏,并被踢出来。
解决过程:
 
第一步
起初以为是xwindows的原因找了一篇文章,如下:
登陆界面用root登陆,提示:
由于某些内部错误,无法启动会话
/etc/gdm/presession/default: registering your session with utmp
/etc/gdm/presession/default: running: /usr/bin/sessreg -a --u /var/run/utmp - x "/var/gdm/:0.xservers" -h "" -l " .0" "root"
session_child_run 无法执行 /etc/x11/xdm/xsession default
切换到终端,命令行登陆,用户名和密码都输入之后没有任何反应。回到初始界面。
 查了一些资料。解决问题了。遇到类似问题请参考:
1), 单用户模式登陆系统
在GRUB启动时,移动键盘到Linux的启动项;按e键;然后移动键盘到类似下面的一行:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet
把光标移动这行后,再按一下e键,进入编辑这行;在行尾条一个空格 ,然后输入 linux single
eg:
kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/1 rhgb quiet linux single
按回车返回;之后按一下b键启动。
单用户进去的时候,系统时只读的;运行下面的命令:
#mount -o remount,rw /
2), 禁止SELinux, 打开/etc/selinux/config, 将SELINUX设置成disable
1)中的过程照着做了一遍,没有什么反应。2)中的selinux在装机是就被禁了,所以不可能是这个原因。
 
第二步
问了下同事,他说应该是权限问题。但被其他人催着回家,没说两句就走了,只好自己解决。
在/etc/passwd下发现oracle用户提示/bin/bash没有这个文件。觉得就是这个文件的问题了。在一台已安装了oracle的机器上,修改.bash_profile文件的path路径,加入了:/bin/bash。装完weblogic后发现问题依旧。这时又发现一篇文档,内容如下:
一个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也存在同样的影响
 
发现此文档被转载的次数非常多,但我试验的结果是,方法不对。
 
第三步
后来又看了篇文章,内容如下:  有一个这样的怪事情:一同事在RedHat5.5的系统中安装Weblogic,之前在操作系统下创建了weblogic用户,软件安装完毕之后,执行如下操作报错:

[root@rateapp01 ~]# su - weblogic
su: /bin/bash: Permission denied
[root@rateapp01 ~]#

根据报错信息,应该是权限不对,然后查看bin的权限:

[root@rateapp01 /]# ls -l |grep -i bin
drwxr-x---   2 root root  4096 Jun 10 11:19 bin
drwxr-xr-x   2 root root 12288 Jun 10 11:19 sbin

可以发现/bin的权限为750,通过修改权限:

[root@rateapp01 /]# chmod 755 /bin
[root@rateapp01 /]# su - weblogic
[weblogic@rateapp01 ~]$

按照这篇文章的方法,顺利解决了问题。
 
此次问题,暴漏处我对linux的权限知识还是不够了解,对许多linux的命令还是只知皮毛。还有问题出来时没有细心的去找解决发现,只是重装系统,导致浪费了大量的时间。在解决问题的时候不细心,第三篇文章其实我早就看到,但是没有自信的查看,导致问题解决的时间大大延长。
在此次过程中,学到几个命令:
stat /  
ls -lad {.*,*}

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/204893/viewspace-716193/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-03-09

  • 博文量
    5
  • 访问量
    13189