Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Samba] unix fifo inaccessible via samba share

242 views
Skip to first unread message

Charles Redditt

unread,
Jul 19, 2011, 5:40:03 PM7/19/11
to
Issue: unix fifo (named pipe) does not appear in share, attempts to read
the pipe result in "Access Denied"

From an XP laptop, I can open and access my samba share normally. I can
read all files and subdirectories in the share, but a fifo I need to read
does not appear at all. I have made the fifo mode 777 (world readable,
writeable, executeable) and tried other things like setting " follow
symlinks = yes ", "unix extensions = no" and "log level = 3", making the
fifo name less than 8 char, but nothing seems to help. If I try to
directly read from the share, from a MSDOS cmdline, with a "type
\\server\myshare\mypipe" I get only an "Access Denied" message.

I have been able to do this for years on other machines, specifically one
running CentOS 5.5, smb version 3.0.33-3.29.el5_6.2

and yes, I can read from the fifo w/o any problem from the linux
commandline. I have also tried to read the fifo via smbclient but get much
the same result (smb: \> get mypipe
NT_STATUS_ACCESS_DENIED opening remote file \mypipe)


OS: CentOS 6 (64 bit)
samba Version: 3.5.4-68.el6_0.2

relevant portions of smb.conf:

log level = 3
unix extensions = no
follow symlinks = yes
security = user
passdb backend = tdbsam
encrypt passwords = yes

[myshare]
comment = my comment
path = /path/to/share
public = yes
writable = yes
browseable = yes
guest ok = yes
write list = charlie

When I attempt to read the pipe from my laptop, the below appears in my
logfile ("/var/log/samba/log.mylaptop"):

[2011/07/19 16:17:23.363416, 3] smbd/process.c:1485(process_smb)
Transaction 63 of length 80 (0 toread)
[2011/07/19 16:17:23.363605, 3] smbd/process.c:1294(switch_message)
switch message SMBtrans2 (pid 8989) conn 0x7ff3f473b110
[2011/07/19 16:17:23.363679, 3] smbd/sec_ctx.c:310(set_sec_ctx)
setting sec ctx (500, 500) - sec_ctx_stack_ndx = 0
[2011/07/19 16:17:23.364132, 3]
smbd/trans2.c:5099(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004
[2011/07/19 16:17:23.364218, 3] smbd/vfs.c:851(check_reduced_name)
check_reduced_name [.] [/path/to/share]
[2011/07/19 16:17:23.364296, 3] smbd/vfs.c:1008(check_reduced_name)
check_reduced_name: . reduced to /path/to/share
[2011/07/19 16:17:23.364483, 3]
smbd/trans2.c:5225(call_trans2qfilepathinfo)
call_trans2qfilepathinfo . (fnum = -1) level=1004 call=5 total_data=0
[2011/07/19 16:17:23.367804, 3] smbd/process.c:1485(process_smb)
Transaction 64 of length 80 (0 toread)
[2011/07/19 16:17:23.367886, 3] smbd/process.c:1294(switch_message)
switch message SMBtrans2 (pid 8989) conn 0x7ff3f473b110
[2011/07/19 16:17:23.367946, 3]
smbd/trans2.c:5099(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1005
[2011/07/19 16:17:23.368013, 3] smbd/vfs.c:851(check_reduced_name)
check_reduced_name [.] [/path/to/share]
[2011/07/19 16:17:23.368078, 3] smbd/vfs.c:1008(check_reduced_name)
check_reduced_name: . reduced to /path/to/share
[2011/07/19 16:17:23.368147, 3]
smbd/trans2.c:5225(call_trans2qfilepathinfo)
call_trans2qfilepathinfo . (fnum = -1) level=1005 call=5 total_data=0
[2011/07/19 16:17:23.371384, 3] smbd/process.c:1485(process_smb)
Transaction 65 of length 100 (0 toread)
[2011/07/19 16:17:23.371451, 3] smbd/process.c:1294(switch_message)
switch message SMBtrans2 (pid 8989) conn 0x7ff3f473b110
[2011/07/19 16:17:23.371508, 3] smbd/trans2.c:2252(call_trans2findfirst)
call_trans2findfirst: dirtype = 16, maxentries = 1366,
close_after_first=1, close_if_end = 1 requires_resume_key = 1 level = 0x104,
max_data_bytes = 16384
[2011/07/19 16:17:23.372288, 3] smbd/vfs.c:851(check_reduced_name)
check_reduced_name [mypipe] [/path/to/share]
[2011/07/19 16:17:23.372510, 1] smbd/vfs.c:932(check_reduced_name)
check_reduced_name: couldn't get realpath for mypipe
[2011/07/19 16:17:23.372590, 3] smbd/filename.c:1181(filename_convert)
filename_convert: check_name failed for name mypipe with
NT_STATUS_ACCESS_DENIED
[2011/07/19 16:17:23.372644, 3] smbd/error.c:80(error_packet_set)
error packet at smbd/trans2.c(2305) cmd=50 (SMBtrans2)
NT_STATUS_ACCESS_DENIED
[2011/07/19 16:17:25.339308, 3] smbd/sec_ctx.c:310(set_sec_ctx)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0

thx,
-charlie
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba

Chris Weiss

unread,
Jul 19, 2011, 5:50:01 PM7/19/11
to
smb and cifs, being Windows inventions, have no concept of a unix
fifo, there's simply nothing for samba to translate it to/from

Charles Redditt

unread,
Jul 19, 2011, 6:40:02 PM7/19/11
to
So, you're telling me this is a feature?

Since it's been working fine on previous versions of smbd,
I take it that this is a bug that's been fixed?

-charlie
*
*FROM Chris Weiss* *cweiss at gmail.com
<samba%40lists.samba.org?Subject=Re%3A%20%5BSamba%5D%20unix%20fifo%20inaccessible%20via%20samba%20share&In-Reply-To=%3CCAEhO07OWwZDC_W1Md6DckMzxULKnELfq4hYPV86szYb0PG7%3DzQ%40mail.gmail.com%3E>*
**Tue Jul 19 15:40:19 MDT 2011*


>smb and cifs, being Windows inventions, have no concept of a unix
>fifo, there's simply nothing for samba to translate it to/from

On Tue, Jul 19, 2011 at 4:37 PM, Charles Redditt <redcharlie at
gmail.com <https://lists.samba.org/mailman/listinfo/samba>> wrote:
>* Issue: unix fifo (named pipe) does not appear in share, attempts to read*>* the pipe result in "Access Denied"*>**>* From an XP laptop, I can open and access my samba share normally. I can*>* read all files and subdirectories in the share, but a fifo I need to read*>* does not appear at all. I have made the fifo mode 777 (world readable,*>* writeable, executeable) and tried other things like setting " follow*>* symlinks = yes ", "unix extensions = no" and "log level = 3", making the*>* fifo name less than 8 char, but nothing seems to help. If I try to*>* directly read from the share, from a MSDOS cmdline, with a "type*>* \\server\myshare\mypipe" I get only an "Access Denied" message.*>**>* I have been able to do this for years on other machines, specifically one*>* running CentOS 5.5, smb version 3.0.33-3.29.el5_6.2*

Chris Weiss

unread,
Jul 19, 2011, 8:00:01 PM7/19/11
to
Maybe I'm not in the loop, but i'd not be surprised for this to work from a
client with unix extensions, but not windows. I could very well be wrong
though.

Jeremy Allison

unread,
Jul 19, 2011, 9:10:01 PM7/19/11
to
On Tue, Jul 19, 2011 at 04:37:58PM -0500, Charles Redditt wrote:
> Issue: unix fifo (named pipe) does not appear in share, attempts to read
> the pipe result in "Access Denied"
>
> >From an XP laptop, I can open and access my samba share normally. I can
> read all files and subdirectories in the share, but a fifo I need to read
> does not appear at all. I have made the fifo mode 777 (world readable,
> writeable, executeable) and tried other things like setting " follow
> symlinks = yes ", "unix extensions = no" and "log level = 3", making the
> fifo name less than 8 char, but nothing seems to help. If I try to
> directly read from the share, from a MSDOS cmdline, with a "type
> \\server\myshare\mypipe" I get only an "Access Denied" message.
>
> I have been able to do this for years on other machines, specifically one
> running CentOS 5.5, smb version 3.0.33-3.29.el5_6.2
>
> and yes, I can read from the fifo w/o any problem from the linux
> commandline. I have also tried to read the fifo via smbclient but get much
> the same result (smb: \> get mypipe
> NT_STATUS_ACCESS_DENIED opening remote file \mypipe)

Yeah, this should work (it used to). Can you try with
3.5.9 (latest version) and if it doesn't log a bug please ?

Thanks,

Jeremy.

TAKAHASHI Motonobu

unread,
Jul 20, 2011, 10:10:01 AM7/20/11
to
From: Jeremy Allison <j...@samba.org>
Date: Tue, 19 Jul 2011 18:02:54 -0700

> On Tue, Jul 19, 2011 at 04:37:58PM -0500, Charles Redditt wrote:
> > Issue: unix fifo (named pipe) does not appear in share, attempts to read
> > the pipe result in "Access Denied"

(snip)


> Yeah, this should work (it used to). Can you try with
> 3.5.9 (latest version) and if it doesn't log a bug please ?

I try with 3.5.9 and it works fine.
I'm surprising Samba supports fifo!

1) Compile this program available from http://www.ncad.co.jp/~komata/c-kouza12.htm

-----
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/errno.h>
#include <sys/fcntl.h>

void main()
{
int fd;
char buf[256];

if(mkfifo("FifoTest",0666)==-1){
perror("mkfifo");
}

if((fd=open("FifoTest",O_WRONLY))==-1){
perror("open");
exit(-1);
}

while(1){
fgets(buf,sizeof(buf)-1,stdin);
if(feof(stdin)){
break;
}
write(fd,buf,strlen(buf));
}
close(fd);
}
-----

2) echo testtest | ./a.out

3) mount from Windows XP with "net use"

4) type FifoTest and works fine.

---
TAKAHASHI Motonobu <mo...@samba.gr.jp>

Charles Redditt

unread,
Jul 20, 2011, 12:20:01 PM7/20/11
to
It works with 3.5.9!
thanx!

I downloaded the 3.5.9 tarball, compiled and installed as per instructions
in the included howto html docs. But it installed in /usr/local/samba/,
whereas the default CentOS 6 install (3.5.4) is still in /usr/sbin/smbd.

So, it works, but I have to start it manually, so that it's running the
right version and knows where to find the config file. Is there any way I
can get it to install in the RHEL/CentOS set of paths?

thx
-chalire

--
Thanks for using the Albert Gore Jr. Information Superhighway. Please post
responsibly. Happy Cerf-ing!

Michael Wood

unread,
Jul 20, 2011, 3:50:01 PM7/20/11
to
On 20 July 2011 18:15, Charles Redditt <redch...@gmail.com> wrote:
> It works with 3.5.9!
> thanx!
>
> I downloaded the 3.5.9 tarball, compiled and installed as per instructions
> in the included howto html docs.  But it installed in /usr/local/samba/,
> whereas the default CentOS 6 install (3.5.4) is still in /usr/sbin/smbd.
>
> So, it works, but I have to start it manually, so that it's running the
> right version and knows where to find the config file.   Is there any way I
> can get it to install in the RHEL/CentOS set of paths?

It would be easier to try these packages:

http://ftp.sernet.de/pub/samba/3.5/rhel/5/

--
Michael Wood <esio...@gmail.com>

0 new messages