I tried reading from a fifo on Windows via samba to see if it worked or not (I might have something interesting to do with it if it did), and found that it does not. ReadFile() returns 0 bytes immediately where it would be expected to block.
An internet search found one nice old google groups thread. https://groups.google.com/g/linux.samba/c/lkkziMXkgP4 So, this used to work, in 2011. Fun.
This is my smb.conf with sensitive material and comments removed.
[global] name resolve order = bcast host lmhosts wins max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d security = ads obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes min protocol = SMB2 client signing = mandatory server signing = mandatory idmap uid = 10000-20000 idmap gid = 10000-20000 template homedir = /home/%D/%U template shell = /bin/bash root preexec = /etc/samba/makehomedir.sh %U usershare allow guests = yes [allusers] comment = "User Home Directories" guest ok = no read only = no [printers] comment = All Printers browseable = no path = /var/tmp printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no The fifo is in my home directory. Saying it needs to be in a special directory is an answer I can test for.
There's one important thing you don't see. Hide special files is not set.
So the question is: Is this a misconfiguration, a bug in samba, or is this really not expected to work anymore?
Samba version 4.17.12