Linux基础:关于su 命令的的几个相关报错

清晨一场梦 2012-05-30

问题1、在系统上有很多命令不能用,例如敲入service  xinetd restart  显示bash: service : command not found  是什么原因?
首先先确认在切换帐户的时候是用 “su  root”还是用“su – root”,如果是用前者切换的话,虽然用户切换过去了,但是root帐户的环境变量并没有被完全切换过去,所以会导致如上的错误,所以在切换帐户的时候一定要用su – root去切换,这样才能把和这个用户相关的所有信息都切换过去。

问题2、su: /bin/bash: 权限不够
今天在接电话时遇到这样一个问题,登录root之后,使用su切换到一个普通用户weblogic的时候,报如下错误:su: /bin/bash: 权限不够(Permission denied)
解决方法:/下的目录除了下面几个目录以外的都为 755权限
lost+found = 700
root = 750
tmp =777
让用户列出/下所有有目录,跟我机器上的目录权限进行了比较,发现/bin的目录权限不太一样,所以将其权限改为755,问题解决。
修改方法:
cd  /
chmod  755  bin

问题3、su: incorrect  password (不正确的密码)
在登录系统的时候,用root用户从本地登录和SSH登录都没有问题,但是用telnet登录系统的时候,从普通用户切换到root用户的时候切换不过去,报如下错误:
su: incorrect  password (不正确的密码)
解决方法:
首先您需要知道su这个文件原始的权限应该如下:
-rwsr-xr-x. 1 root root 34904 Jul 15  2011 /bin/su
但是你发现你的是:
-rwxr-xr-x. 1 weblogic dba 34904 Jul 15  2011 /bin/su
所以问题你应该能找到了吧,那就是权限发生了变化,所以得出如下结论:
1.修改这个文件的属主和属组:
chown root:root  /bin/su
2.修改这个文件的权限:
chmod  u+s /bin/su
就这么两步就OK了

以上是我工作中预到的一些关于su的问题。

相关推荐