Well, now Mike, here's my setup and it works fine: { socket_type = dgram protocol = udp wait = yes user = amanda group = disk server = /home/backup/Linux-intel/libexec/amandad disable = no }
Other than the path to the server being different and having no server_args or groups line or having a disable line, the two configs look about the same. Wayne Richards > all, > > i'm having serious problems getting amanda to function on a server > running xinetd. the amanda setup on this particular box runs fine with > inetd, but i cannot get xinetd to cooperate with me. > > the skinny: > > upon amcheck, xinetd attempts to spawn 25 amandad processes, > generating 25 pairs of START/FAIL lines in my logs. after the 25 > attempts, xinetd disables the service. > > amanda functions as expected under inetd. > > the error reported by amcheck: > > WARNING: copernicus.sheergenius.com: selfcheck request timed out. Host down? > > my xinetd entry: > > service amanda > { > protocol = udp > socket_type = dgram > wait = yes > user = amanda > group = disk > groups = yes > server = /usr/local/libexec/amandad > server_args = amandad > } > > my .amandahosts file has appropriate entries and is 0600. stracing > xinetd gives me much information, but no leads. strace output, > verbatim, from xinetd's socket() call amandad's exit() call, follows: > > * note that, for tracing purposes, i changed user/group to root/root > for the service so that ptrace() would attach to the new process. > enlighten me if there is a safe way to follow processes across > forks() that are setuid() under linux. > > * aaa.bbb.ccc.ddd references the amanda server in question; > www.xxx.yyy.zzz references the dns server > > [pid 27743] socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 5 > [pid 27743] fcntl64(5, F_SETFD, FD_CLOEXEC) = 0 > [pid 27743] setsockopt(5, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > [pid 27743] bind(5, {sin_family=AF_INET, sin_port=htons(10080), > sin_addr=inet_addr("0.0.0.0")}}, 16) = 0 > [pid 27743] socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 6 > [pid 27743] fcntl64(6, F_SETFD, FD_CLOEXEC) = 0 > [pid 27743] setsockopt(6, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > [pid 27743] bind(6, {sin_family=AF_INET, sin_port=htons(901), > sin_addr=inet_addr("0.0.0.0")}}, 16) = 0 > [pid 27743] listen(6, 7) = 0 > [pid 27743] chdir("/") = 0 > [pid 27743] time([1055179791]) = 1055179791 > [pid 27743] getpid() = 27743 > [pid 27743] rt_sigaction(SIGPIPE, {0x401592c0, [], 0x4000000}, {SIG_IGN}, 8) = 0 > [pid 27743] send(7, "<29>Jun 9 12:29:51 xinetd[27743"..., 108, 0) = 108 > [pid 27743] rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > [pid 27743] time([1055179791]) = 1055179791 > [pid 27743] getpid() = 27743 > [pid 27743] rt_sigaction(SIGPIPE, {0x401592c0, [], 0x4000000}, {SIG_IGN}, 8) = 0 > [pid 27743] send(7, "<29>Jun 9 12:29:51 xinetd[27743"..., 72, 0) = 72 > [pid 27743] rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > [pid 27743] time([1055179791]) = 1055179791 > [pid 27743] getpid() = 27743 > [pid 27743] rt_sigaction(SIGPIPE, {0x401592c0, [], 0x4000000}, {SIG_IGN}, 8) = 0 > [pid 27743] send(7, "<29>Jun 9 12:29:51 xinetd[27743"..., 72, 0) = 72 > [pid 27743] rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0 > [pid 27743] rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 > [pid 27743] select(7, [3 5 6], NULL, NULL, NULL <unfinished ...> > [pid 27742] <... nanosleep resumed> {3, 0}) = 0 > [pid 27742] _exit(0) = ? > <... select resumed> ) = 1 (in [5]) > recvfrom(5, "A", 1, MSG_PEEK, {sin_family=AF_INET, sin_port=htons(647), > sin_addr=inet_addr("aaa.bbb.ccc.ddd")}}, [16]) = 1 > time(NULL) = 1055179822 > fork() = 27764 > [pid 27764] rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0 > [pid 27764] rt_sigaction(SIGTSTP, {SIG_DFL}, {SIG_IGN}, 8) = 0 > [pid 27764] rt_sigaction(SIGTTIN, {SIG_DFL}, {SIG_IGN}, 8) = 0 > [pid 27764] rt_sigaction(SIGTTOU, {SIG_DFL}, {SIG_IGN}, 8) = 0 > [pid 27764] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > [pid 27764] close(3) = 0 > [pid 27764] close(4) = 0 > [pid 27764] close(0) = 0 > [pid 27764] close(1) = 0 > [pid 27764] close(2) = 0 > [pid 27764] setgid32(0) = 0 > [pid 27764] open("/etc/passwd", O_RDONLY) = 0 > [pid 27764] fcntl64(0, F_GETFD) = 0 > [pid 27764] fcntl64(0, F_SETFD, FD_CLOEXEC) = 0 > [pid 27764] fstat64(0, {st_mode=S_IFREG|0644, st_size=3196, ...}) = 0 > [pid 27764] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x40014000 > [pid 27764] _llseek(0, 0, [0], SEEK_CUR) = 0 > [pid 27764] read(0, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 3196 > [pid 27764] close(0) = 0 > [pid 27764] munmap(0x40014000, 4096) = 0 > [pid 27764] open("/etc/group", O_RDONLY <unfinished ...> > [pid 27743] time( <unfinished ...> > [pid 27764] <... open resumed> ) = 0 > [pid 27743] <... time resumed> [1055179822]) = 1055179822 > [pid 27764] fcntl64(0, F_GETFD <unfinished ...> > [pid 27743] time( <unfinished ...> > [pid 27764] <... fcntl64 resumed> ) = 0 > [pid 27743] <... time resumed> [1055179822]) = 1055179822 > [pid 27764] fcntl64(0, F_SETFD, FD_CLOEXEC <unfinished ...> > [pid 27743] getpid( <unfinished ...> > [pid 27764] <... fcntl64 resumed> ) = 0 > [pid 27743] <... getpid resumed> ) = 27743 > [pid 27764] fstat64(0, <unfinished ...> > [pid 27743] rt_sigaction(SIGPIPE, {0x401592c0, [], 0x4000000}, > <unfinished ...> > [pid 27764] <... fstat64 resumed> {st_mode=S_IFREG|0644, st_size=1057, ...}) = 0 > [pid 27743] <... rt_sigaction resumed> {SIG_IGN}, 8) = 0 > [pid 27764] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0 <unfinished ...> > [pid 27743] send(7, "<86>Jun 9 12:30:22 xinetd[27743"..., 78, 0 > <unfinished ...> > [pid 27764] <... mmap2 resumed> ) = 0x40014000 > [pid 27743] <... send resumed> ) = 78 > [pid 27764] _llseek(0, 0, <unfinished ...> > [pid 27743] rt_sigaction(SIGPIPE, {SIG_IGN}, <unfinished ...> > [pid 27764] <... _llseek resumed> [0], SEEK_CUR) = 0 > [pid 27743] <... rt_sigaction resumed> NULL, 8) = 0 > [pid 27764] read(0, <unfinished ...> > [pid 27743] select(7, [3 6], NULL, NULL, NULL <unfinished ...> > [pid 27764] <... read resumed> "root::0:root\nbin::1:root,bin,dae"..., 4096) = > 1057 > [pid 27764] read(0, "", 4096) = 0 > [pid 27764] close(0) = 0 > [pid 27764] munmap(0x40014000, 4096) = 0 > [pid 27764] setgroups32(0xb, 0x8087340) = 0 > [pid 27764] setuid32(0) = 0 > [pid 27764] socket(PF_UNIX, SOCK_STREAM, 0) = 0 > [pid 27764] connect(0, {sin_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) > = -1 ENOENT (No such file or directory) > [pid 27764] close(0) = 0 > [pid 27764] open("/etc/hosts", O_RDONLY) = 0 > [pid 27764] fcntl64(0, F_GETFD) = 0 > [pid 27764] fcntl64(0, F_SETFD, FD_CLOEXEC) = 0 > [pid 27764] fstat64(0, {st_mode=S_IFREG|0644, st_size=553, ...}) = 0 > [pid 27764] mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x40014000 > [pid 27764] read(0, "# /etc/hosts: This file describ"..., 4096) = 553 > [pid 27764] read(0, "", 4096) = 0 > [pid 27764] close(0) = 0 > [pid 27764] munmap(0x40014000, 4096) = 0 > [pid 27764] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 0 > [pid 27764] connect(0, {sin_family=AF_INET, sin_port=htons(53), > sin_addr=inet_addr("www.xxx.yyy.zzz")}}, 28) = 0 > [pid 27764] send(0, "Il\1\0\0\1\0\0\0\0\0\0\003141\00259\003149\003209\7in-"..., > 45, 0) = 45 > [pid 27764] gettimeofday({1055179822, 161471}, NULL) = 0 > [pid 27764] poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 > [pid 27764] recvfrom(0, > "Il\201\200\0\1\0\1\0\2\0\0\003141\00259\003149\003209\7"..., 65536, 0, > {sin_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("www.xxx.yyy.zzz")}}, > [16]) = 128 > [pid 27764] close(0) = 0 > [pid 27764] time([1055179822]) = 1055179822 > [pid 27764] time([1055179822]) = 1055179822 > [pid 27764] getpid() = 27764 > [pid 27764] rt_sigaction(SIGPIPE, {0x401592c0, [], 0x4000000}, {SIG_DFL}, 8) = 0 > [pid 27764] send(7, "<86>Jun 9 12:30:22 xinetd[27764"..., 75, 0) = 75 > [pid 27764] rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0 > [pid 27764] _exit(0) > > the last syscall of note is the recvfrom() call to the dns server. the > hostname in .amandahosts is correct. > > no files are generated in /tmp/amanda (in fact, the directory is not > even created, amanda/disk or root/root). i've been banging my head > against a solid brick wall for weeks regarding this issue. any ideas > are greatly appreciated. > > -mike > > ------------------------------------------------------------------------ > /~\ the ascii "life would be so much easier if we > \ / ribbon campaign could just look at the source code" > X against html -- dave olson > / \ email!