idmap-config
The idmap config
directives in Samba are used to configure how Windows Security Identifiers (SIDs) are mapped to Unix user IDs (UIDs) and group IDs (GIDs). This mapping is essential for integrating Samba with Windows Active Directory or when operating in mixed environments, ensuring that file permissions and identity management work seamlessly between Windows and Unix systems.
Overview
Purpose:
idmap config
specifies which backend to use for the SID-to-UID/GID mapping and defines the numerical range for these mappings. This configuration allows Samba to translate Windows account identities into Unix IDs, ensuring that domain users have proper file access permissions on Unix systems.Backends: Samba supports several ID mapping backends, including:
tdb / tdb2: File-based mapping using a local database.
rid: Algorithmically derives UID/GID values from the Relative Identifier (RID) portion of the SID.
rfc2307: Uses LDAP attributes (e.g., uidNumber and gidNumber) based on the RFC 2307 schema.
ldap: Stores and retrieves mappings from an LDAP directory.
ad: Retrieves Unix attributes directly from Active Directory (AD) when AD is extended with Unix attributes.
Basic Configuration
The idmap config
settings are placed in the [global]
section of your Samba configuration file (smb.conf
). Here’s a basic example:
backend
: Specifies the mapping backend to use (e.g.,tdb2
,rid
,rfc2307
,ldap
, orad
).range
: Defines the range of UIDs and GIDs that Samba will assign to Windows accounts for that particular domain or mapping. This range should not overlap with locally managed Unix accounts.
Detailed Options
Each mapping backend might support additional options. Here are a few examples:
For
idmap_rid
:The
rid
backend uses the Relative Identifier from the Windows SID to calculate Unix IDs.For
idmap_rfc2307
:This backend reads Unix attributes directly from the LDAP directory (or AD with Unix extensions).
For
idmap_ldap
:The
ldap
backend stores mapping information in an LDAP directory.
Best Practices
Non-overlapping Ranges: Ensure that the UID/GID ranges defined for different backends or domains do not overlap with local system accounts.
Consistency: Use a consistent mapping strategy across your environment to simplify administration and troubleshooting.
Backup and Documentation: Document your
idmap config
settings and back up your Samba configuration file, so you can easily restore or replicate the setup if needed.Testing: After making changes to
idmap config
, use commands likewbinfo -u
andgetent passwd
to verify that Windows domain users are correctly mapped to Unix IDs.
Conclusion
The idmap config
directives are central to Samba's ability to integrate with Windows domains by mapping Windows SIDs to Unix UIDs/GIDs. By carefully selecting the appropriate backend and defining a proper range, administrators can ensure seamless interoperability and consistent file permission management across mixed-OS environments. Proper configuration and testing of these settings are crucial for a secure and well-functioning Samba deployment.
Last updated