今天遇到了一个奇怪的问题,CentOS 6.7 64bit,在普通用户(user)的$HOME目录下有一个.bashrc,里面定义了该用户应该有的PATH
- 情况一、通过下面的操作可以找到命令
su - user
which cmd
- 情况二、通过下面的操作找不到命令
su - user -c 'which cmd'
最后对比了bash版本,发现正常的机器,bash是4.2.10版本,而有问题的机器,是上次bash漏洞,修复了,顺便就升级到4.3,从其他机器拷贝4.2.10版本的bash到该机器,并修改user的登录shell
mkdir /usr/local/bash_4.2
scp ip:/bin/bash /usr/local/bash_4.2/bash
vi /etc/passwd
修改user的登录shell为/usr/local/bash_4.2/bash
测试正常