Ok, two combined into one here:

A. Khattri asked if I was logged in as root, yes I am.

and

When I said this:

>> cdrtx / # ldd /usr/bin/crontab
>>          linux-gate.so.1 =>  (0xffffe000)
>>          libc.so.6 => /lib/libc.so.6 (0xb7ec4000)
>>          /lib/ld-linux.so.2 (0x80000000)

Ian Hastie said:
>But it's fcrontab that's having the problems.  Why did you do the ldd
>on crontab?  What is fcrontab anyway and where does it come from?

Well, I did the ldd on crontab, cause crontab is the command I use to edit the crontab files, like `crontab -e`. My cron daemon of choice is fcron, "A command scheduler with extended capabilities over cron and anacron". An on systems that use fcron we have this:

cdrtx cdr_tx # ls -l /usr/bin/crontab
lrwxrwxrwx  1 root root 8 Aug 26 23:45 /usr/bin/crontab -> fcrontab

So fcrontab is the fcron version of crontab symlinked to look like plain ass 
crontab.  It comes with the fcron package.

Anywho...after rebuilding glibc and fcron I'm still having the same issue:

cdrtx cdr_tx # crontab -e
crontab: error while loading shared libraries: libc.so.6: cannot open shared 
object file: Permission denied

But I can still say things like:

cdrtx cdr_tx # strings /lib/libc.so.6 |wc -l
4494

Which prove to me that I can both open and read the /lib/libc.so.6 file.

So then I tried strace, like this:

cdrtx cdr_tx # strace crontab -e
execve("/usr/bin/crontab", ["crontab", "-e"], [/* 31 vars */]) = 0
uname({sys="Linux", node="cdrtx", ...}) = 0
brk(0)                                  = 0x8052000
fcntl64(0, F_GETFD)                     = 0
fcntl64(1, F_GETFD)                     = 0
fcntl64(2, F_GETFD)                     = 0
access("/etc/suid-debug", F_OK)         = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = -1 EACCES (Permission denied)
open("/lib/tls/i686/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/lib/tls/i686/sse2", 0xbfd3ab48) = -1 EACCES (Permission denied)
open("/lib/tls/i686/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/lib/tls/i686", 0xbfd3ab48)     = -1 EACCES (Permission denied)
open("/lib/tls/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/lib/tls/sse2", 0xbfd3ab48)     = -1 EACCES (Permission denied)
open("/lib/tls/libc.so.6", O_RDONLY)    = -1 EACCES (Permission denied)
stat64("/lib/tls", 0xbfd3ab48)          = -1 EACCES (Permission denied)
open("/lib/i686/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/lib/i686/sse2", 0xbfd3ab48)    = -1 EACCES (Permission denied)
open("/lib/i686/libc.so.6", O_RDONLY)   = -1 EACCES (Permission denied)
stat64("/lib/i686", 0xbfd3ab48)         = -1 EACCES (Permission denied)
open("/lib/sse2/libc.so.6", O_RDONLY)   = -1 EACCES (Permission denied)
stat64("/lib/sse2", 0xbfd3ab48)         = -1 EACCES (Permission denied)
open("/lib/libc.so.6", O_RDONLY)        = -1 EACCES (Permission denied)
stat64("/lib", 0xbfd3ab48)              = -1 EACCES (Permission denied)
open("/usr/lib/tls/i686/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission 
denied)
stat64("/usr/lib/tls/i686/sse2", 0xbfd3ab48) = -1 EACCES (Permission denied)
open("/usr/lib/tls/i686/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/usr/lib/tls/i686", 0xbfd3ab48) = -1 EACCES (Permission denied)
open("/usr/lib/tls/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/usr/lib/tls/sse2", 0xbfd3ab48) = -1 EACCES (Permission denied)
open("/usr/lib/tls/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/usr/lib/tls", 0xbfd3ab48)      = -1 EACCES (Permission denied)
open("/usr/lib/i686/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/usr/lib/i686/sse2", 0xbfd3ab48) = -1 EACCES (Permission denied)
open("/usr/lib/i686/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/usr/lib/i686", 0xbfd3ab48)     = -1 EACCES (Permission denied)
open("/usr/lib/sse2/libc.so.6", O_RDONLY) = -1 EACCES (Permission denied)
stat64("/usr/lib/sse2", 0xbfd3ab48)     = -1 EACCES (Permission denied)
open("/usr/lib/libc.so.6", O_RDONLY)    = -1 EACCES (Permission denied)
stat64("/usr/lib", 0xbfd3ab48)          = -1 EACCES (Permission denied)
writev(2, [{"crontab", 7}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libc.so.6", 9}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"Permission denied", 17}, {"\n", 1}], 10crontab: error while loading shared libraries: libc.so.6: cannot open shared object file: Permission denied
) = 108
exit_group(127)                         = ?


I cannot open /etc/ld.so.cache!  What? See:

cdrtx cdr_tx # ls -l /etc/ld.so.cache
-rw-r--r--  1 root root 18311 Aug 27 21:13 /etc/ld.so.cache

Should be able to read that as well, root nor anyother use cannot run crontab. My fcron.allow,deny and conf files all look perfect and should allow any user at all to run.

Any other ideas?

/djb
--
gentoo-user@gentoo.org mailing list

Reply via email to