![su 命令的奇怪行为](https://linux22.com/image/153797/su%20%E5%91%BD%E4%BB%A4%E7%9A%84%E5%A5%87%E6%80%AA%E8%A1%8C%E4%B8%BA.png)
每次我在此框上运行su
命令时,我都会不断看到以下奇怪的消息。切换用户最终会继续,但为什么会显示这些消息?
<Server>:~ # su -
-bash: eval: line 26: unexpected EOF while looking for matching `"'
-bash: eval: line 27: syntax error: unexpected end of file
-bash: eval: line 26: unexpected EOF while looking for matching `"'
-bash: eval: line 27: syntax error: unexpected end of file
<Server>:~ # cat /etc/SuSE-release
SUSE Linux Enterprise Server 11 (x86_64)
VERSION = 11
PATCHLEVEL = 4
<Server>:~ # uname -r
3.0.101-108.84-default
是的,我确实研究过“。”根文件,但我在其中看不到任何奇怪的内容。当我尝试su..而不仅仅是在root中时,所有用户也会发生这种情况。
看来这是一个新的升级,不幸的是我无法判断它过去是否能够成功运行 su 。
kernel-default-3.0.101-108.84.1 Tue Mar 19 04:25:06 2019
kernel-default-base-3.0.101-108.84.1 Tue Mar 19 04:24:33 2019
kernel-default-devel-3.0.101-108.84.1 Tue Mar 19 04:24:28 2019
<Server>:~ # cat .bashrc
export TMOUT=900 # 900 s = 15 min
umask 077
<Server>:~ # cat .bash_profile
umask 077
export PATH=$PATH:/opt/quest/bin
答案1
"
中的一项条目 缺失/etc/sysconfig/proxy
。
for sys in /etc/sysconfig/windowmanager \
/etc/sysconfig/mail \
/etc/sysconfig/proxy \
/etc/sysconfig/console \
/etc/sysconfig/news
do
test -s $sys || continue
while read line ; do
case "$line" in
\#*|"") continue ;;
esac
eval val=${line#*=}
第 24 行/etc/profile.d/profile.sh
是eval val=${line#*=}
.它基本上读取了上面的所有配置文件,/etc/sysconfig/proxy
结果发现是可疑的。