SysVol replication (DFS-R): Difference between revisions

From SambaWiki
m (Added information about idmap.ldb sync frequency)
(I copied over instructions about idmap.ldb from the "Joining_a_Samba_DC_to_an_Existing_Active_Directory" page, since they are a prerequisite for using the sysvol replication workarounds.)
 
Line 15: Line 15:




To use a Sysvol Replication workaround, all domain controllers (DC) must use the same ID mappings for built-in users and groups.

By default, a Samba DC stores the user & group IDs in 'xidNumber' attributes in 'idmap.ldb'. Because of the way 'idmap.ldb' works, you cannot guarantee that each DC will use the same ID for a given user or group. To ensure that you do use the same IDs, you must:

* Create a hot-backup of the <code>/usr/local/samba/private/idmap.ldb</code> file on the existing DC:

# tdbbackup -s .bak /usr/local/samba/private/idmap.ldb

: This creates a backup file <code>/usr/local/samba/private/idmap.ldb.bak</code>.

* Move the backup file to the <code>/usr/local/samba/private/</code> folder on the new joined DC and remove the <code>.bak</code> suffix to replace the existing file.

* Run <code>net cache flush</code> on the new DC.

* You will now need to sync Sysvol to the new DC.

* Reset the Sysvol folder's file system access control lists (ACL) on the new DC:

# samba-tool ntacl sysvolreset





Latest revision as of 17:21, 19 October 2024

Samba in its current state doesn't support SysVol replication via DFS-R (Distributed File System Replication) or the older FRS (File Replication Service) used in Windows Server 2000/2003 for Sysvol replication.

We Currently advise administrators to use one of the following workarounds:



To use a Sysvol Replication workaround, all domain controllers (DC) must use the same ID mappings for built-in users and groups.

By default, a Samba DC stores the user & group IDs in 'xidNumber' attributes in 'idmap.ldb'. Because of the way 'idmap.ldb' works, you cannot guarantee that each DC will use the same ID for a given user or group. To ensure that you do use the same IDs, you must:

  • Create a hot-backup of the /usr/local/samba/private/idmap.ldb file on the existing DC:
# tdbbackup -s .bak /usr/local/samba/private/idmap.ldb
This creates a backup file /usr/local/samba/private/idmap.ldb.bak.
  • Move the backup file to the /usr/local/samba/private/ folder on the new joined DC and remove the .bak suffix to replace the existing file.
  • Run net cache flush on the new DC.
  • You will now need to sync Sysvol to the new DC.
  • Reset the Sysvol folder's file system access control lists (ACL) on the new DC:
# samba-tool ntacl sysvolreset