Hello all,
I recently updated one of my servers - it's now running Ubuntu Linux 14.04.1 server. The exim running is 4.82, the apache calls itself:

Apache/2.4.10 (Unix) mpm-itk/2.4.7-02 OpenSSL/1.0.1f PHP/5.5.16

My problem is that since the update, I cannot send mail via PHP's mail function anymore. PHP logs no error, but exim writes

 unable to set gid=1002 or uid=0 (euid=0): forcing real = effective

(1002 is the apache group)

The thing is: ecactly the same PHP script is running fine from the console even if I log in as the user (and group) of the apache webserver. It just doesn't work from within apache/php.

What is the problem here? The debug output for the web-based try is fairly short:

Exim version 4.82 uid=1308 gid=1002 pid=2701 D=fbb95cfd
Berkeley DB: Berkeley DB 5.3.28: (September  9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Compiler: GCC [4.8.2]
Library version: GnuTLS: Compile: 2.12.23
                         Runtime: 2.12.23
Library version: PCRE: Compile: 8.31
                       Runtime: 8.31 2012-07-06
Total 13 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
LOG: MAIN PANIC DIE
  unable to set gid=1002 or uid=0 (euid=0): forcing real = effective
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=2701 terminating with rc=1 >>>>>>>>>>>>>>>>

The console-based try (which succeeds) is pages and pages of debug output, I'll include the line up to the first difference:

exec /usr/sbin/exim4 -d=0xfbb95cfd -Mc 1XWMlR-0000dk-Aa
Exim version 4.82 uid=106 gid=113 pid=2466 D=fbb95cfd
Berkeley DB: Berkeley DB 5.3.28: (September  9, 2013)
Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0
 passwd
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Compiler: GCC [4.8.2]
Library version: GnuTLS: Compile: 2.12.23
                         Runtime: 2.12.23
Library version: PCRE: Compile: 8.31
                       Runtime: 8.31 2012-07-06
Total 13 lookups
WHITELIST_D_MACROS: "OUTGOING"
TRUSTED_CONFIG_LIST: "/etc/exim4/trusted_configs"
changed uid/gid: forcing real = effective
  uid=0 gid=113 pid=2466
  auxiliary group list: <none>

uid=0 is of course root, gid=113 is "Debian-exim", the default group for exim. So, from what I gather, exim tries to become root:Debian-exim, and succeeds from the console but fails from within apache. Why? The exim4 executable has the properpermissions:

-rwsr-xr-x 1 root root 983296 Feb 25  2014 /usr/sbin/exim4

Why doesn't this work when exim is called via apache/php? What can I do to get PHP mail() working again with exim?

Any help is appreciated; I'm banging my head against the wall here.

Greetings
Kasi Mir


--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to