OS: suse 9
Mysql: 4.0.15
Googled: yep, but didn't find anything conclusive

I'm attempting to chroot mysql, and I'm failing [miserabaly].  I realize
that this is a mysql list, but I currently believe it's either a dependency
of mysql I forgot or something something I'm not aware of w/ mysql. I also
figured I'd get a better response from people who also have chroot'd mysql
rather than asking the chroot folks.

Excuting mysql non-chroot'd works fine.  I'm using the stock mysql from
Suse, and therefore it's dynam linked.  I've 'ldd /usr/sbin/myslqd' as well
as 'ldd /usr/bin/mysql'

It [chroot] fails stating "permision denied" w/o giving anymore info [is
there some hidden switch for chroot?]
When I strace it [strace -o fail.log chroot /chroot/mysql/ mysql
/usr/sbin/mysqld &] I get this in the output log:::


execve("/usr/bin/chroot", ["chroot", "/chroot/mysql/", "mysql",
"/usr/sbin/mysqld"], [/* 41 vars */]) = 0
uname({sys="Linux", node="template", ...}) = 0
brk(0)                                  = 0x804b9ac
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x40019000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=12190, ...}) = 0
old_mmap(NULL, 12190, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001a000
close(3)                                = 0
open("/lib/i686/libc.so.6", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320]\1"..., 512) =
512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1461208, ...}) = 0
old_mmap(NULL, 1256644, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001d000
old_mmap(0x40149000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x12c000) = 0x40149000
old_mmap(0x4014e000, 7364, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014e000
close(3)                                = 0
munmap(0x4001a000, 12190)               = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No
such file or directory)
brk(0)                                  = 0x804b9ac
brk(0x806c9ac)                          = 0x806c9ac
brk(0)                                  = 0x806c9ac
brk(0x806d000)                          = 0x806d000
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2601, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x4001a000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2601
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x4001a000, 4096)                = 0
open("/usr/lib/locale/en_US/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=178468, ...}) = 0
mmap2(NULL, 178468, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40150000
close(3)                                = 0
chroot("/chroot/mysql/")                = 0
chdir("/")                              = 0
execve("/sbin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars */]) = -1
ENOENT (No such file or directory)
execve("/usr/sbin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars */]) =
-1 ENOENT (No such file or directory)
execve("/usr/local/sbin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars
*/]) = -1 ENOENT (No such file or directory)
execve("/root/bin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars */]) =
-1 ENOENT (No such file or directory)
execve("/usr/local/bin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars
*/]) = -1 ENOENT (No such file or directory)

execve("/usr/bin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars */]) =
-1 EACCES (Permission denied)

execve("/usr/X11R6/bin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars
*/]) = -1 ENOENT (No such file or directory)
execve("/bin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars */]) = -1
ENOENT (No such file or directory)
execve("/usr/games/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars */]) =
-1 ENOENT (No such file or directory)
execve("/opt/gnome/bin/mysql", ["mysql", "/usr/sbin/mysqld"], [/* 41 vars
*/]) = -1 ENOENT (No such file or directory)
write(2, "chroot: ", 8)                 = 8
write(2, "mysql", 5)                    = 5
write(2, ": Permission denied", 19)     = 19
write(2, "\n", 1)                       = 1
exit_group(126)                         = ?



Now I'm definitely not a 'strace guru' but the last set of::: execve
"/sbin/mysql" seems to be chroot looking for 'mysqld' and not finding
it...But then it finds it [in the jail [/chroot/mysql/usr/bin/mysql] ] but
doesn't like the permissions. :(  Which follows the 'error message' that I
get when just using chroot w/o strace.

Here is a listing of my /chroot/mysql/* w/ permissions.  Am I missing a
dependency? Any thoughts? 


/chroot/mysql/dev:
total 8
drwxr-xr-x    2 mysql    mysql        4096 Apr 13 13:14 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..
crw-rw-rw-    1 mysql    mysql      1,   3 Apr 13 13:14 null

/chroot/mysql/etc:
total 36
drwxr-xr-x    2 mysql    mysql        4096 Apr 13 13:12 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..
-rw-r--r--    1 mysql    mysql         484 Apr 13 13:03 group
-rw-r--r--    1 mysql    mysql         370 Apr 13 13:02 host.conf
-rw-r--r--    1 mysql    mysql         696 Apr 13 13:01 hosts
-rw-r--r--    1 mysql    mysql        4901 Apr 13 13:03 my.cnf
-rw-r--r--    1 mysql    mysql          60 Apr 13 13:12 passwd
-rw-r--r--    1 mysql    mysql          18 Apr 13 13:02 resolv.conf

/chroot/mysql/lib:
total 3392
drwxr-xr-x    2 mysql    mysql        4096 Apr 13 14:28 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..
-rwxr-xr-x    1 mysql    mysql      112347 Apr 13 13:30 ld-linux.so.2
-rwxr-xr-x    1 mysql    mysql     1469811 Apr 13 13:30 libc.so.6
-rwxr-xr-x    1 mysql    mysql       43542 Apr 13 13:26 libcrypt.so.1
-rwxr-xr-x    1 mysql    mysql       13625 Apr 13 13:26 libdl.so.2
-rwxr-xr-x    1 mysql    mysql       40474 Apr 13 13:29 libgcc_s.so.1
-rwxr-xr-x    1 mysql    mysql      183008 Apr 13 13:29 libm.so.6
-rwxr-xr-x    1 mysql    mysql      319785 Apr 13 14:28 libncurses.so.5
-rwxr-xr-x    1 mysql    mysql       89220 Apr 13 13:27 libnsl.so.1
-rwxr-xr-x    1 mysql    mysql       86940 Apr 13 13:28 libpthread.so.0
-rwxr-xr-x    1 mysql    mysql      984408 Apr 13 13:28 libstdc++.so.5
-rwxr-xr-x    1 mysql    mysql       65927 Apr 13 13:26 libz.so.1

/chroot/mysql/sbin:
total 2572
drwxr-xr-x    2 mysql    mysql        4096 Apr 13 14:49 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..
-rwxr-xr-x    1 mysql    mysql     2617686 Apr 13 14:49 mysqld

/chroot/mysql/tmp:
total 8
drwxrwxrwt    2 mysql    mysql        4096 Apr 13 12:56 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..

/chroot/mysql/usr:
total 20
drwxr-xr-x    5 mysql    mysql        4096 Apr 13 13:33 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..
drwxr-xr-x    3 mysql    mysql        4096 Apr 13 12:56 bin
drwxr-xr-x    2 mysql    mysql        4096 Apr 13 13:34 sbin
drwxr-xr-x    3 mysql    mysql        4096 Apr 13 13:09 share

/chroot/mysql/var:
total 16
drwxr-xr-x    4 mysql    mysql        4096 Apr 13 13:39 .
drwxr-xr-x    9 mysql    mysql        4096 Apr 13 14:49 ..
drwxr-xr-x    3 mysql    mysql        4096 Apr 13 14:35 lib
drwxr-xr-x    2 mysql    mysql        4096 Apr 13 12:56 tmp


Many many many many thanks!!!!
TroyC

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to