I have created a fuse directory, and start it like this: ./myfuse /home/shared -o allow_other -o umask=022 -o nonempty -d
I can access it like this: ls -la /home/shared and it works fine.
Ok, turn that off for a second.
I have a samba-share defined as:
[root@cboardman-rh1 /]# testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[shared]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = MYWORKGROUP
server string = Samba Server Version %v
security = SHARE
guest account = samba-user
lanman auth = Yes
client lanman auth = Yes
log level = 5
log file = /var/log/samba/log.%m
max log size = 50
wins support = Yes
[shared]
comment = Sharing for everyone
path = /home/shared
guest only = Yes
guest ok = Yes
Start up samba, and I can smbclient //cboardman-rh1/shared and connect no problems.
Here's the question: When I put the two together, I get trouble.
Specifically, when I do an ls from smbclient, I get
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
40960 blocks of size 512. 1 blocks available1
and fuse starts looking "/myfuse" instead of "/". ls /home/shared (hitting just fuse) has fuse looking for "/", as desired. Even adding a hack in my fuse code to translate "/myfuse" to "/", I get the same error code.
What is samba doing? I'm not seeing anything helpful in the logs. Any ideas?
I am on a RHEL server with SELinux and iptables disabled.