我刚刚将 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
脚本会抱怨无法打开数据库。
除此之外一切似乎都运行良好!