acroread 仅以 root 身份运行

acroread 仅以 root 身份运行

笔记我已经问过完全相同的问题这里,没有成功。我希望这不是问题。

我正在连接到 LDAP 服务器的计算机上工作。计算机在 Linux Mint 17 下运行。我安装acroread

su root
add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
apt-get update
apt-get install acroread

当以 root 身份运行时acroread,一切正常,Adobe Reader 打开。当以非特权用户身份运行时,没有任何反应,没有错误,没有窗口。

我试过

ps -e | grep acroread

查看是否有东西正在运行,但它没有返回任何内容。

您知道为什么会发生这种情况吗?我猜这是因为 I/home/share是从 LDAP 服务器挂载的。

编辑这个问题最初是在 superuser.SE 上提出的。用户 @terdon 要求我不要在多个 SE 上交叉发布,所以我复制了我在 superuser.SE 上的其他答案,因为它没有完全回答问题,但仍然可能有用。


归功于 PositronicBrain(超级用户.SE 用户):

首先,打开命令终端并卸载 acroread:

$ sudo apt-get --purge remove acroread
$ sudo apt-get --purge remove acroread-bin

(可以使用此命令获取包名称:)

$ dpkg -l | grep -i acroread

现在,按照以下说明安装 Adob​​e Reader 9.5.5 2013,这是 Adob​​e 网站上适用于 GNU/Linux 的最新版本:

下载安装程序:

$ wget -c ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb

使用 dpkg 安装软件包:

$ sudo dpkg -i AdbeRdr9.5.5-1_i386linux_enu.deb

打开 Adob​​e Reader 并高兴一下:

$ acroread

(适用于 32 位处理器)

卸载:

$ sudo dpkg --purge adobereader-enu

答案1

a) 停止使用旧的 UNIX acroread,因为它可能还没有见过安全更新几年后或 b) 使用LD_PRELOAD技巧伪造文件passwd打开或 c) 手动将必要的用户帐户添加到本地passwd文件。

我必须将它安装在 LDAPified 机器上,但它失败了,并翻阅了文件passwd

$ strace -e trace=file -o ugh acroread

(acroread:17602): GLib-WARNING **: getpwuid_r(): failed due to unknown user id (1234)
...
$ grep passwd ugh
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3

因此,一个“修复”确实是将用户条目添加到passwd文件中。

答案2

我在 linux mate x64 上使用 ldap 遇到了同样的问题(acroreader 仅以 root 身份运行)。

刚刚安装了 libnss-ldap:i386 并且它以 ldap 用户身份工作没有问题。

答案3

我通过安装 32 位 sssd-client 解决了 Fedora 64 位上的问题:

dnf install -y sssd-client.i686

相关内容