force-create-mode
force-create-mode is a Samba configuration parameter that forces specific permission bits to be set on newly created files on a share. It ensures that regardless of the permissions requested by the client, new files will always have certain minimum permission bits enabled. This is useful for enforcing a baseline security policy on files stored on a Samba share.
Purpose
Enforce Baseline Security: Guarantees that all newly created files have a predefined set of permission bits, protecting them from being created with overly permissive settings.
Consistent Permissions: Helps maintain a uniform permission policy across all files on the share, regardless of client-side requests.
How It Works
When a file is created on a Samba share:
The client's requested permissions are first filtered by the
create mask.Samba then applies the
force create modesettings using a bitwise OR operation, ensuring that the specified bits are always set.
For example, if you set:
create mask = 0660force create mode = 0640
This means that even if a client requests different permissions, the resulting file will always have at least read/write permissions for the owner and read permission for the group, within the limits of the create mask.
Configuration
You set force create mode in the share definition within your smb.conf file.
Example
[shared]
   path = /srv/samba/shared
   writable = yes
   create mask = 0660
   force create mode = 0640create mask = 0660: Limits the maximum permissions to read/write for the owner and group.
force create mode = 0640: Ensures that every new file has at least read/write for the owner and read for the group.
Use Cases
Security Enforcement: Ensures that all files have a minimum level of protection, preventing unauthorized access.
Simplified Administration: Automates permission management, reducing the need for manual corrections after file creation.
Mixed Environment Consistency: Helps maintain uniform permissions when files are created by users on different client systems.
Considerations
Interplay with create mask:
create masksets an upper limit for permissions, whileforce create modeensures that certain bits are always present. Both should be configured in tandem to achieve the desired permission set.Testing: Always test these settings on a small share before rolling them out to production, to confirm that the final permissions meet your security requirements.
Conclusion
The force-create-mode parameter in Samba is an effective way to enforce a baseline set of permissions on newly created files within a share. By guaranteeing that specific permission bits are always set, it helps maintain consistent security policies across your file system, ensuring that files are protected according to your organizational standards.
Last updated