Weird samba (sarge) problem - not following symlinks?
I've just updated my system from Woody to Sarge, and am now encountering a
weird problem with Samba:
My debian PDC box, tamora, serves files to the rest of my LAN via Samba. My
MythTV backend (banquo, running Gentoo and a basic samba config for when I
have to grab files from it via windows) mounts the SMB shares. But now this
system seems broken, as samba no longer seems to follow a crucial symlink.
MythTV's video module demands that all videos be present in a single
directory, which isn't how I've set my system up. Tamora has a symlink that
points from /home/share/movies/Television to /home/share/tv/:
tamora:~# ls -l /home/share/movies/Television
lrwxr-xr-x 1 root root 15 Jun 13 15:34 /home/share/movies/Television ->
/home/share/tv/
Before, the gentoo box followed the symlink, and all the contents of
/home/share/tv were listed under the movies mount point,
/home/mythtv/movies, in the Television folder. However, when I look at it
now, the symlink is represented as a file rather than a symlink to another
directory
banquo ~ # ls -l /home/mythtv/movies/Television
lrwxr--r-- 1 root root 15 Jun 13 15:34 /home/mythtv/movies/Television ->
/home/share/tv/
Obviously, the symlink isn't being "processed" before it leaves Tamora, and
is hence being pointed to a non-existent mount point on banquo.
Since the only config to have changed is that of tamora, I'm assuming that
there has been some kind of error in the upgrade process (missing an option
of some sort in smb.conf?) - and before you ask, "follow symlinks" isn't
set anywhere.
Follows smb.conf (comments deleted, largely unchanged from samba 2) and
relevant logs from tamora and banquo:
[global]
panic action = /usr/share/samba/panic-action %d
workgroup = snafu
netbios name = tamora
server string = %h server (Samba %v PDC)
domain logons = yes
logon home = \\%L\%U\.profile
logon drive = Z:
logon path = \\%L\profiles\%U
logon script = netlogon.bat
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
security = user
encrypt passwords = true
passdb backend = tdbsam guest #think this is obsolete as of smb3
socket options = TCP_NODELAY
local master = yes
os level = 64
domain master = yes
preferred master = yes
dns proxy = no
name resolve order = lmhosts host wins bcast
unix password sync = false
obey pam restrictions = yes
[homes]
comment = Home Directories
browseable = no
writeable = yes
create mask = 0700
directory mask = 0700
[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = no
read only = yes
writable = no
browseable = no
share modes = no
write list = @admin
[profiles]
path = /home/samba/profiles
writable = yes
browseable = no
create mask = 0600
directory mask = 0700
[Movies]
comment = Movie Archive
path = /home/share/movies
valid users = admin std patrickl mythtv
writeable = yes
write list = @smbadmins
[Music]
comment = Music Archive
path = /home/share/music
valid users = admin std patrickl mythtv
write list = @smbadmins
writeable = yes
[TV]
comment = TV Shows
path = /home/share/tv
valid users = admin patrickl std
write list = @smbadmins
writeable = yes
[Apps]
comment = Computer Apllications
path = /home/share/apps
valid users = admin std
write list = @smbadmins
writeable = yes
tamora:~# cat /var/log/samba/log.smbd
[2005/06/12 06:28:35, 0] printing/pcap.c:pcap_cache_reload(149)
Unable to open printcap file /etc/printcap for read!
[2005/06/12 06:28:35, 0] printing/pcap.c:pcap_cache_reload(149)
Unable to open printcap file /etc/printcap for read!
[2005/06/12 17:25:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 17:57:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 18:29:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 19:01:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 19:33:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 21:09:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 21:41:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 22:13:57, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 22:45:58, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/12 23:17:58, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/13 00:21:58, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/13 00:53:59, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/13 01:25:59, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/13 01:28:53, 0] smbd/server.c:main(798)
smbd version 3.0.14a-Debian started.
Copyright Andrew Tridgell and the Samba Team 1992-2004
[2005/06/13 01:28:53, 0] printing/pcap.c:pcap_cache_reload(149)
Unable to open printcap file /etc/printcap for read!
[2005/06/13 01:28:53, 0] printing/pcap.c:pcap_cache_reload(149)
Unable to open printcap file /etc/printcap for read!
[2005/06/13 02:29:59, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/13 03:01:59, 0] lib/util_sock.c:get_peer_addr(1150)
getpeername failed. Error was Transport endpoint is not connected
banquo ~ # cat /var/log/samba3/log.smbd
[2005/06/10 09:52:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 10:24:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 12:32:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 13:04:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 13:36:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 14:40:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 15:12:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 15:44:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 16:16:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 16:48:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 17:20:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 17:52:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 18:24:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 18:56:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 19:28:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 20:00:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 20:32:14, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 21:04:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 21:36:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 22:08:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 22:40:15, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/10 23:44:16, 0] lib/util_sock.c:get_peer_addr(1000)
banquo ~ # cat /var/log/samba3/log.0.0.0.0
[2005/06/13 18:29:58, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
[2005/06/13 18:29:58, 0] lib/access.c:check_access(328)
[2005/06/13 18:29:58, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
Denied connection from (0.0.0.0)
[2005/06/13 18:29:58, 1] smbd/process.c:process_smb(1084)
[2005/06/13 18:29:58, 0] lib/util_sock.c:get_peer_addr(1000)
getpeername failed. Error was Transport endpoint is not connected
Connection denied from 0.0.0.0
[2005/06/13 18:29:58, 0] lib/util_sock.c:write_socket_data(430)
write_socket_data: write failure. Error = Connection reset by peer
[2005/06/13 18:29:58, 0] lib/util_sock.c:write_socket(455)
write_socket: Error writing 5 bytes to socket 22: ERRNO = Connection
reset by peer
[2005/06/13 18:29:58, 0] lib/util_sock.c:send_smb(647)
Error writing 5 bytes to client. -1. (Connection reset by peer)
...and so on and so forth, ad infinitum. Googling has returned a multitude
of nothing helpful (there seem to be hundreds of people who've had this
error at some point, but I don't see any solutions) - if there's anything
else needed, or anything glaringly obvious that I've missed, or even if you
have the same problem yourself and are similarly stumped, please say so!
Many thanks for any light that can be shed on this issue.
S Tait
Reply to: