Debian Wheezy 和 SUID Perl

Debian Wheezy 和 SUID Perl

我刚刚将 Debian Lenny 机器升级到 Wheezy,发现 suidperl 不见了。通过 Google 搜索发现上游维护者已将其删除;

需要suidperl 运行我们的邮件安装,打开 Webmail。

我没有时间做这个。

谷歌搜索没有发现任何简单的解决方法。

这里有谁知道如何在 wheezy 上获取 suidperl 吗?简单吗?谢谢。

答案1

底线:如果您没有时间这样做,那么您需要恢复到升级前的系统快照/备份,直到您有时间迁移到不建议使用弃用技术的网络邮件系统。

据我回忆(大概有 8 年我没见过开放式网络邮件安装),开放式网络邮件直接读取邮件假脱机(因此需要 suid),而大多数网络邮件系统则与 IMAP 服务器交互(将 suid 的需求推给了邮件服务器,这是它应该去的地方)。

据我所知,suidperl 已被删除在 perl 中2008 年 (?) 就不再有 5.12 了,因为上游(即 Debian 之上)没有人愿意维护它 - 或者换句话说,suidperl 不再存在了。您能幸运地拥有它这么久的唯一原因是 Debian 稳定版使用的是大多数软件的相当老的版本(带有反向移植的安全修复)。它不再存在肯定不是 Debian 的错。

如果你出于某种原因真的想继续在 wheezy 及更新版本上使用 open webmail,你唯一的选择是按照 Open Webmail FAQ 第 4 节:e(ps,ps)进行操作,网址为http://openwebmail.org/openwebmail/doc/faq.txt其中指出:

  ps: If you don't want to recompile perl, you choose to may use
      misc/tools/suidwrap.pl to generate C wrappers for all suid scripts.

      However, this is not recommended at all, as you will not be able
      to use SpeedyCGI with the openwebmail system.

      Here are the steps:
      1. cd cgi-bin/openwebmail
      2. perl misc/tool/wrapsuid/wrapsuid.pl /fullpath/cgi-bin/openwebmail
      3. change #!/usr/bin/suidperl to the path of your perl

      All suid scripts will be renamed to .scriptname.pl and
      the C wrapper will be generated and named as script.pl
      (thanks to Chris Heegard, heegard.AT.NativeI.com)

      The spellcheck may not work on Solaris when using C wrappers.
      (thanks to Isam Ishaq, isam.AT.planet.edu)

很抱歉告诉你一个坏消息,但有时候并没有好的答案:\

答案2

我让 openwebmail 2.53+ 与 speedy 和 c-wrappers 一起工作:

1-从以下网址下载 speedy 2.22 源 http://daemoninc.com/SpeedyCGI/download.html

2 - 提取 tar.gz 并编辑它以进行编译:

/src/speedy_backend_main.h:

-#define speedy_new(s,n,t) 新(123,s,n,t)

+#define speedy_new(s,n,t) Newx(s,n,t)

http://sourceforge.net/p/speedycgi/bugs/91/#7fc6

3 - perl Makefile.PL; make; make install (不要费心添加 -DIAMSUID)

4 - 将 openwebmail*.pl 上的 #! 行更改为

/usr/bin/speedy ---T/tmp/speedy

5 – 在您的 openwebmail*.pl 目录中,运行 c 包装器脚本(相应地更改目录):

perl misc/tools/wrapsuid/wrapsuid.pl /var/www/owtest/cgi-bin/openwebmail

6 - chmod u+s openwebmail*pl

这在我的 squeeze 服务器上运行良好(我正准备升级到 wheezy,因此我需要它能工作)。

(请注意,我的 openwebmail 2.53 不是原装的 2.53,而是可能介于 2.53 和 3beta 之间,但它应该适用于两者)

答案3

感谢大家的建议、提示和帮助。
在最近安装的 64 位 Debian8 (Jessie) 上,Speedy 和 suid 都可以正常工作!在 VirtualPrivateServer 上新安装的 Debian8 上,我还需要进行 pam 身份验证:

apt-get install libpam-dev
perl -MCPAN -e shell
install Authen::PAM
exit

还需要chmod 2750所有目录中的所有文件.openwebmail/db
否则openwebmail/shares/maildb.pl脚本会抱怨无法打开数据库。

除此之外一切似乎都运行良好!

相关内容