> On Mon, Oct 20, 2008 at 12:52:57PM -0700, Steve Rippl wrote: > > > But checking our server I find that the processes DO still exist! So > > I'm getting a user session in smbstatus with a specific PID and when I > > ps -ef | grep PID there is the smbd process still running, yet the user > > has long since logged out (days ago)?! It's not just that the .tbd file > > hasn't been updated, it's that the /usr/local/bin/smbd process is still > > running. A restart of Samba clears them all up immediately, but why are > > they hanging around when the client is gone? Is this just happening to > > me on our particular setup or is this normal behavior? > > No, that's not normal behavior, but it does explain why > the session id's are hanging around. Once the client > terminates the TCP session the smbd should die (and > clean up all resources such as session id's etc.). > > When you find a process in this state attach using > strace -p <pid> (on Linux) to see what it's up to. > > Jeremy.
So after one day I have ~50 left-over sessions. Running strace as above I seem to usually get... select(32, [5 23 31], [], NULL, {43, 450000}) = 0 (Timeout) gettimeofday({1224652458, 61107}, NULL) = 0 geteuid() = 0 getegid() = 0 setgroups(0, []) = 0 setresgid(4294967295, 0, 4294967295) = 0 getegid() = 0 setresuid(0, 0, 4294967295) = 0 geteuid() = 0 write(23, "\205\0\0\0", 4) = 4 gettimeofday({1224652458, 61549}, NULL) = 0 geteuid() = 0 fstat(25, {st_mode=S_IFREG|0644, st_size=894111, ...}) = 0 gettimeofday({1224652458, 61698}, NULL) = 0 select(32, [5 23 31], [], NULL, {60, 0} <unfinished ...> although a couple of time I got more go by... ...[cut-off]... getegid() = 0 setgroups(0, []) = 0 setresgid(4294967295, 0, 4294967295) = 0 getegid() = 0 setresuid(0, 0, 4294967295) = 0 geteuid() = 0 fcntl(8, F_SETLKW, {type=F_RDLCK, whence=SEEK_SET, start=244, len=1}) = 0 fcntl(8, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=244, len=1}) = 0 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/samba", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0644, st_size=69, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db98000 read(25, "@include [EMAIL PROTECTED] co"..., 4096) = 69 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-auth", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=484, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-auth - aut"..., 4096) = 484 open("/lib/security/pam_unix.so", O_RDONLY) = 30 read(30, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260*\0\0"..., 832) = 832 fstat(30, {st_mode=S_IFREG|0644, st_size=50568, ...}) = 0 mmap(NULL, 2195080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 30, 0) = 0x7f2f892fd000 mprotect(0x7f2f89309000, 2093056, PROT_NONE) = 0 mmap(0x7f2f89508000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 30, 0xb000) = 0x7f2f89508000 mmap(0x7f2f89509000, 48776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2f89509000 close(30) = 0 open("/etc/ld.so.cache", O_RDONLY) = 30 fstat(30, {st_mode=S_IFREG|0644, st_size=45774, ...}) = 0 mmap(NULL, 45774, PROT_READ, MAP_PRIVATE, 30, 0) = 0x7f2f8db8b000 close(30) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libselinux.so.1", O_RDONLY) = 30 read(30, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240Q\0\0"..., 832) = 832 fstat(30, {st_mode=S_IFREG|0644, st_size=109368, ...}) = 0 mmap(NULL, 2209176, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 30, 0) = 0x7f2f888d4000 mprotect(0x7f2f888ed000, 2097152, PROT_NONE) = 0 mmap(0x7f2f88aed000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 30, 0x19000) = 0x7f2f88aed000 mmap(0x7f2f88aef000, 1432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f2f88aef000 close(30) = 0 open("/etc/selinux/config", O_RDONLY) = -1 ENOENT (No such file or directory) statfs("/selinux", 0x7fff960e0250) = -1 ENOENT (No such file or directory) open("/proc/mounts", O_RDONLY) = 30 fstat(30, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db8a000 read(30, "rootfs / rootfs rw 0 0\nnone /sys"..., 1024) = 1024 read(30, "dered 0 0\n/dev/mapper/group-mate"..., 1024) = 649 read(30, "", 1024) = 0 close(30) = 0 munmap(0x7f2f8db8a000, 4096) = 0 munmap(0x7f2f8db8b000, 45774) = 0 open("/lib/security/pam_smbpass.so", O_RDONLY) = -1 ENOENT (No such file or directory) read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-account", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=392, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-account - "..., 4096) = 392 read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-session", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=372, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-session - "..., 4096) = 372 read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 read(25, "", 4096) = 0 close(25) = 0 munmap(0x7f2f8db98000, 4096) = 0 open("/etc/pam.d/other", O_RDONLY) = 25 fstat(25, {st_mode=S_IFREG|0644, st_size=520, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db98000 read(25, "#\n# /etc/pam.d/other - specify t"..., 4096) = 520 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-auth", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=484, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-auth - aut"..., 4096) = 484 read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-account", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=392, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-account - "..., 4096) = 392 read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-password", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=1571, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-password -"..., 4096) = 1571 read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 stat("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/etc/pam.d/common-session", O_RDONLY) = 29 fstat(29, {st_mode=S_IFREG|0644, st_size=372, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2f8db97000 read(29, "#\n# /etc/pam.d/common-session - "..., 4096) = 372 read(29, "", 4096) = 0 close(29) = 0 munmap(0x7f2f8db97000, 4096) = 0 read(25, "", 4096) = 0 close(25) = 0 munmap(0x7f2f8db98000, 4096) = 0 getuid() = 0 gettimeofday({1224651679, 698762}, NULL) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 sendto(19, "<86>Oct 21 22:01:19 smbd: pam_un"..., 84, MSG_NOSIGNAL, NULL, 0) = 84 munmap(0x7f2f892fd000, 2195080) = 0 munmap(0x7f2f888d4000, 2209176) = 0 fcntl(8, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=244, len=1}) = 0 fcntl(8, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=119392, len=1}) = 0 fcntl(8, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=119392, len=1}) = 0 fcntl(8, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=164, len=1}) = 0 fcntl(8, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=164, len=1}) = 0 fcntl(8, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=244, len=1}) = 0 write(23, "\0\0\0\'\377SMBt\0\0\0\0\210\1\310\0\0\0\0\0\0\0\0\0\0"..., 43) = 43 gettimeofday({1224651679, 699806}, NULL) = 0 select(32, [5 23 31], [], NULL, {60, 0}) = 1 (in [23], left {60, 0}) read(23, "\0\0\0#", 4) = 4 read(23, "\377SMBq\0\0\0\0\30\7\310\0\0\0\0\0\0\0\0\0\0\0\0\3\0\377"..., 35) = 35 geteuid() = 0 getegid() = 0 setgroups(0, []) = 0 setresgid(4294967295, 0, 4294967295) = 0 getegid() = 0 setresuid(0, 0, 4294967295) = 0 geteuid() = 0 chdir("/srv/materials") = 0 geteuid() = 0 getegid() = 0 setgroups(0, []) = 0 setresgid(4294967295, 0, 4294967295) = 0 getegid() = 0 setresuid(0, 0, 4294967295) = 0 geteuid() = 0 gettimeofday({1224651679, 700334}, NULL) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0 geteuid() = 0 write(26, "[2008/10/21 22:01:19, 1] smbd/se"..., 57) = 57 geteuid() = 0 write(26, " 10.42.70.34 (10.42.70.34) clos"..., 67) = 67 fcntl(9, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=300, len=1}) = 0 fcntl(9, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=992424, len=1}) = 0 fcntl(9, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=992424, len=1}) = 0 fcntl(9, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=164, len=1}) = 0 fcntl(9, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=164, len=1}) = 0 fcntl(9, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=300, len=1}) = 0 chdir("/") = 0 geteuid() = 0 getegid() = 0 setgroups(0, []) = 0 setresgid(4294967295, 0, 4294967295) = 0 getegid() = 0 setresuid(0, 0, 4294967295) = 0 geteuid() = 0 write(23, "\0\0\0#\377SMBq\0\0\0\0\210\1\310\0\0\0\0\0\0\0\0\0\0\0"..., 39) = 39 gettimeofday({1224651679, 701084}, NULL) = 0 select(32, [5 23 31], [], NULL, {60, 0} <unfinished ...> Process 7683 detached Any help would be much appreciated as I'm relying on accurate sessions in order to be able to have accurate records of who's on where and when (student accountability!) -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba