httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Hewitt" <ada...@staff.iinet.net.au>
Subject [users@httpd] suexec
Date Sat, 03 Dec 2005 03:48:35 GMT
Hi All,

 

I have made progress with my previous suexec + mod_ldap_user + multiple
vhosts issue, however I am now getting a strange problem where suexec is
being called when I try accessing a cgi in one vhost but not another:

 

[pid 23260] read(43,
"username@domainname.com\0$1$2693dd5d$M7PwuqJqWpYiqpHsUyUuZ0\0Not
Available\0/u/a/username@domainname.com\0/bin/default-shell\0", 119) =
119

[pid 23260] close(43)                   = 0

[pid 23260] stat64("/u", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0

[pid 23260] stat64("/u/a/username@domainname.com/cgi-bin/filedel.cgi",
{st_mode=S_IFREG|0755, st_size=522, ...}) = 0

[pid 23260] open("/u/a/.htaccess", O_RDONLY) = -1 ENOENT (No such file
or directory)

[pid 23260] open("/u/a/username@domainname.com/.htaccess", O_RDONLY) =
-1 ENOENT (No such file or directory)

[pid 23260] open("/u/a/username@domainname.com/cgi-bin/.htaccess",
O_RDONLY) = -1 ENOENT (No such file or directory)

[pid 23260]
open("/u/a/username@domainname.com/cgi-bin/filedel.cgi/.htaccess",
O_RDONLY) = -1 ENOTDIR (Not a directory)

[pid 23260] getpid()                    = 23260

[pid 23260] pipe([43, 44])              = 0

[pid 23260] fcntl64(44, F_GETFL)        = 0x1 (flags O_WRONLY)

[pid 23260] fcntl64(44, F_SETFL, O_WRONLY|O_NONBLOCK) = 0

[pid 23260] pipe([45, 46])              = 0

[pid 23260] fcntl64(45, F_GETFL)        = 0 (flags O_RDONLY)

[pid 23260] fcntl64(45, F_SETFL, O_RDONLY|O_NONBLOCK) = 0

[pid 23260] pipe([47, 48])              = 0

[pid 23260] fcntl64(47, F_GETFL)        = 0 (flags O_RDONLY)

[pid 23260] fcntl64(47, F_SETFL, O_RDONLY|O_NONBLOCK) = 0

[pid 23260] fork(Process 23294 attached

)                      = 23294

[pid 23260] close(43 <unfinished ...>

[pid 23294] --- SIGSTOP (Stopped (signal)) @ 0 (0) ---

[pid 23260] <... close resumed> )       = 0

[pid 23260] close(46)                   = 0

[pid 23260] close(48)                   = 0

[pid 23294] getpid( <unfinished ...>

[pid 23260] close(44)                   = 0

[pid 23260] poll( <unfinished ...>

[pid 23294] <... getpid resumed> )      = 23294

[pid 23294] getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY,
rlim_max=RLIM_INFINITY}) = 0

[pid 23294] close(3)                    = 0

[pid 23294] close(41)                   = 0

[pid 23294] close(40)                   = 0

[pid 23294] close(39)                   = 0

[pid 23294] close(38)                   = 0

[pid 23294] close(37)                   = 0

[pid 23294] close(36)                   = 0

[pid 23294] close(35)                   = 0

[pid 23294] close(34)                   = 0

[pid 23294] close(33)                   = 0

[pid 23294] close(32)                   = 0

[pid 23294] close(31)                   = 0

[pid 23294] close(30)                   = 0

[pid 23294] close(29)                   = 0

[pid 23294] close(28)                   = 0

[pid 23294] close(27)                   = 0

[pid 23294] close(25)                   = 0

[pid 23294] close(23)                   = 0

[pid 23294] close(26)                   = 0

[pid 23294] close(22)                   = 0

[pid 23294] close(21)                   = 0

[pid 23294] close(20)                   = 0

[pid 23294] close(19)                   = 0

[pid 23294] close(18)                   = 0

[pid 23294] close(17)                   = 0

[pid 23294] close(16)                   = 0

[pid 23294] close(15)                   = 0

[pid 23294] close(10)                   = 0

[pid 23294] close(9)                    = 0

[pid 23294] close(8)                    = 0

[pid 23294] close(6)                    = 0

[pid 23294] close(5)                    = 0

[pid 23294] close(4)                    = 0

[pid 23294] close(42)                   = 0

[pid 23294] close(44)                   = 0

[pid 23294] dup2(43, 0)                 = 0

[pid 23294] close(43)                   = 0

[pid 23294] close(45)                   = 0

[pid 23294] dup2(46, 1)                 = 1

[pid 23294] close(46)                   = 0

[pid 23294] close(47)                   = 0

[pid 23294] dup2(48, 2)                 = 2

[pid 23294] close(48)                   = 0

[pid 23294] rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0

[pid 23294] chdir("/u/a/username@domainname.com/cgi-bin/") = 0

[pid 23294] getpid()                    = 23294

[pid 23294] getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY,
rlim_max=RLIM_INFINITY}) = 0

[pid 23294] rt_sigaction(SIGRTMIN, {SIG_DFL}, NULL, 8) = 0

[pid 23294] rt_sigaction(SIGRT_1, {SIG_DFL}, NULL, 8) = 0

[pid 23294] rt_sigaction(SIGRT_2, {SIG_DFL}, NULL, 8) = 0

[pid 23294] execve("/u/a/username@domainname.com/cgi-bin/filedel.cgi",
["/u/a/username@domainname.com/cgi-bin/filedel.cgi"], [/* 20 vars */]) =
0

 

 

So Apache is now doing a correct lookup for the user (with the realm
appended) and it is getting a correct reply for the home directory, but
then it just does an normal exec instead of using suexec?

 

If I try this with another realm it works (granted the other realm
doesn't get the @domainname.com appended, however the fact that it is
returning the correct user details says to me that this part of it is
ok). I have diff'ed the 2 vhost config files, but they pretty much look
identical.

 

Does anyone have any ideas why suexec would not be getting executed?

 

Adam.


Mime
View raw message