【问题标题】:Busybox env does not show LD_LIBRARY_PATHBusybox env 不显示 LD_LIBRARY_PATH
【发布时间】:2014-12-24 07:49:24
【问题描述】:

我们在嵌入式系统上使用 linux,该系统具有用于各种 shell 命令的 busybox 1.20.2。我们遇到了一个非常奇怪的问题,即 env 现在确实显示了 LD_LIBRARY_PATH 的值:

$ export LD_LIBRARY_PAT=/usr/bin
$ export LD_LIBRARY_PATH=/usr/bin
$ export LD_LIBRARY_PATH1=/usr/bin
$ env | sort
ENV=/etc/profile.environment
HISTFILE=/tmp/.ash_history.debug.357
HOME=/home/debug
LD_LIBRARY_PAT=/usr/bin
LD_LIBRARY_PATH1=/usr/bin
LOGNAME=debug
MAIL=/var/mail/debug
PATH=/home/debug/bin:/usr/bin:/bin:/usr/sbin:/sbin
PWD=/home/debug
PYTHONPATH=:/home/debug/tools/tools-0.0.0/common
SHELL=/bin/bash
SHLVL=1
SSH_CLIENT=10.10.10.22 58307 22
SSH_CONNECTION=10.10.10.22 58307 10.10.12.23 22
SSH_TTY=/dev/pts/0
TERM=xterm
USER=debug
_=/usr/bin/env
$ 
$ echo $LD_LIBRARY_PAT
/usr/bin
$ echo $LD_LIBRARY_PATH
/usr/bin
$ echo $LD_LIBRARY_PATH1
/usr/bin

如您所见,LD_LIBRARY_PATH 已设置,但它并未显示在 env 的输出中。 AFAIK,这是发生这种情况的唯一环境变量。

谁能解释为什么会这样?谢谢!

【问题讨论】:

  • 奇怪的问题...它是否以 root 身份工作?
  • 你能用env以外的东西来测试吗? python或perl或其他东西,看看它是否正确继承LD_LIBRARY_PATH?是否会因为某种原因,busybox 明确禁止导出 LD_LIBRARY_PATH

标签: linux bash busybox


【解决方案1】:

Linux won't let you mess with the LD_LIBRARY_PATH 因为busybox(可能)已打开其setuid 位。 Busybox 在其二进制文件中内置了一堆常用的 linux 命令,因此它需要 setuid。

【讨论】:

    猜你喜欢
    • 2018-06-08
    • 2018-03-31
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多