SMBFS(4FS) File Systems SMBFS(4FS)

CIFS/SMB file system

The smbfs file system allows you to mount CIFS shares that are exported from Windows or compatible systems. SMB is the historical name for the CIFS protocol, which stands for Server Message Block and is more commonly used in technical contexts.

The smbfs file system permits ordinary UNIX applications to change directory into an smbfs mount and perform simple file and directory operations. Supported operations include open(2), close(2), read(2), write(2), rename(2), rm(1), mkdir(1), rmdir(1), and ls(1).

Some local UNIX file systems (for example UFS) have features that are not supported by smbfs. These include:
  • No mapped-file access because mmap(2) returns ENOSYS.
  • Locking is local only and is not sent to the server.

The following are limitations in the CIFS protocol:

  • unlink(2) or rename(2) of open files returns Er EBUSY .
  • rename(2) of extended attribute files returns EINVAL.
  • Creation of files with any of the following illegal characters returns EINVAL: colon (:), backslash (\), slash (/), asterisk (*), question mark (?), double quote ("), less than (⟨), greater than (⟩), and vertical bar (|).
  • chmod(2) and chown(2) settings are silently discarded.
  • Links are not supported.
  • Symbolic links are not supported.
  • mknod(2) is not supported. (Only file and directory objects are supported.)

The current smbfs implementation does not support multi-user mounts. Instead, each Unix user needs to make their own private mount points.

Currently, all access through an smbfs mount point uses the Windows credentials established by the user that ran the mount(8) command. Normally, permissions on smbfs mount points should be 0700 to prevent Unix users from using each others' Windows credentials. See the dirperms option to mount_smbfs(8) for details regarding how to control smbfs mount point permissions.

An important implication of this limitation is that system-wide mounts, such as those made using /etc/vfstab or automount maps are only useful in cases where access control is not a concern, such as for public read-only resources.


smbutil(1), nsmbrc(5), attributes(7), mount(8), mount_smbfs(8)
September 9, 2009 OmniOS