Linux流行系统故障:su切换用户带来的疑惑
在root用户下,su切换到一个普通用户oracle却发生了错误,如图1所示。 于是,尝试直接通过oracle用户登录系统,发现此时的oracle用户也无法登录了,出现与上面同样的错误。 2、解决思路 从上面错误提示可知是权限出现了问题,那么可以从权限入手进行排查,基本思路如下: ● 用户目录/home/oracle权限问题。 ● su程序执行权限问题。 ● 程序依赖的共享库权限问题。 ● SELinux问题导致。 ● 系统根空间问题。 3、排查问题 根据上面的思路,逐一检查,考虑到su在切换到oracle用户时会读取oracle目录下的环境变量配置文件,因此,首先检查/home/oracle目录的权限是否存在问题: [root@loaclhost home]# ls -al /home|grep oracle drwx---- 4 oralce oinstall 4096 01-31 10:45 oracle 从输出可知,/home/oracle目录的属主是oracle用户,而oracle用户对这个目录具有“rwx”权限,因此,oracle用户目录的权限设置是正确的,可以排除这个问题。 接着检查su执行权限问题: [root@loaclhost home]# 11 /bin/su -rwsr-xr-x 1 root root 24120 2007-11-30 /bin/su 可见su命令执行权限也没有问题,这个问题也排除了。 继续检查su依赖的共享库权限,使用ldd命令检查su命令依赖的共享库文件,如图2所示。 根据上面的操作,依次检查su命令依赖的每个库文件的权限,发现也都是正常的,都具有可执行权限,因此,共享库的问题也排除了。 根据上面的思路,继续检查SELinux的设置,执行命令如图3所示。 由输出可知,SELinux处于关闭状态,这个原因也排除了。 到目前为止,问题变得扑朔迷离,到底是哪里出现问题了呢?作为Linux运维人员,例行检查系统根分区状态是非常必要的,那么首先检查一下根分区的磁盘空间大小,发现剩余空间还有很多,排除空间问题。既然报的错误是权限有问题,那么只要以权限为线索,不偏离这个核心就没错,于是继续尝试检查/home目录下各个用户的权限,执行命令如图4所示。 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |