SMB3 POSIX Extensions

The SMB3 POSIX
Extension Specification

A protocol specification enabling POSIX-compliant systems to interoperate correctly with SMB3 servers. Case sensitivity, Unix permissions, hard links and symlinks over the most secure SMB dialect.

SMB3.1.1
Target Dialect
Stable baseline
Samba 4.22
Server Reference Implementation
Enabled by default in 4.23
Linux 5.8+
Client Support Since
Improved in 6.13

What the Extensions Define

The extensions address protocol-level gaps that prevent POSIX applications from behaving correctly over SMB3 mounts.

Return stat / statfs information

FilePosixInformation and FileFsPosixInformation return inode numbers, link counts and mode

POSIX Mode Bits and File Type Information

Full mode bit support (0777) and handling of special file types.

Hard Links & Symlinks

Hard-links support and symbolic link creation and client side traversal.

Case-Sensitive Paths

Files opened with the POSIX Create Context, receive true case-sensitive resolution on the server.

No Illegal Characters

Windows-reserved characters are fully supported on POSIX handles.

POSIX Byte-Range Locks

Advisory fcntl(2)-style locks.

Negotiate Context

SMB3_POSIX_EXTENSIONS_AVAILABLE negotiated during the SMB2 NEGOTIATE exchange for version agreement.

POSIX delete and rename behaviour

POSIX rename(2) ignores other POSIX opens, delete(2) allows direct namespace removal.

Implementation Status

Current POSIX extension support across clients and server implementations.

ComponentRolePOSIX SupportSince VersionNotes
SambaServerSupportedSamba 4.22Full support, enabled by default in 4.23
Linux kernel (cifs.ko)ClientSupported5.8 (exp.) / 6.13+Mount with vers=3.1.1,posix
ksmbdServerSupportedLinux 5.15In-kernel SMB3 server
Windows ServerServerNot SupportedUses proprietary semantics
CIFS UNIX ExtensionsLegacyDeprecatedUse SMB3 POSIX Extensions instead

Try the Extensions Today

Linux 6.13+ and a Samba server are all you need.

01

Kernel Requirement

Ensure you run Linux 6.13 or later. POSIX extension support was substantially improved in this release.

02

Mount with POSIX

Use the posix option.

mount.cifs //server/share \ /mnt -o posix
03

Server-Side Config

Enabled by default on Samba (smb3 unix extensions = yes)

04

Run xfstests

Validate behaviour using the Linux xfstests suite, link on the documentation page.