mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
529763a9aa
lib/messaging/ lib/registry/ lib/ldb-samba/ librpc/rpc/ auth/auth_winbind.c auth/gensec/ auth/kerberos/ dsdb/repl/ dsdb/samdb/ dsdb/schema/ torture/ cluster/ctdb/ kdc/ ntvfs/ipc/ torture/rap/ ntvfs/ utils/getntacl.c ntptr/ smb_server/ libcli/wrepl/ wrepl_server/ libcli/cldap/ libcli/dgram/ libcli/ldap/ libcli/raw/ libcli/nbt/ libnet/ winbind/ rpc_server/ metze (This used to be commit 6223c7fddc972687eb577e04fc1c8e0604c35435)
This is the registry library. The registry is basically a bunch of hives, each of which is loaded from a file. When using a local registry, it is possible to specify where hives should be loaded from, etc. There are separate APIs for accessing the data in a hive and the data in the registry itself. Each supports different backends. The following "full registry" backends are currently provided: * Remote (over DCE/RPC) * Local (allows "mounting" hives) * Wine (uses the wine plain-text file) The following hive backends are supported: - ldb - regf (NTUSER.DAT-style files) - rpc (Remote individual hives) - directory reg_open_samba() loads a set of hives based on smb.conf settings. Lines in smb.conf should have the following syntax: registry:<hivename> = <backend>:<location> So an example usage could be: registry:HKEY_CURRENT_USER = regf:NTUSER.DAT registry:HKEY_LOCAL_MACHINE = ldb:tdb://registry.tdb WERR_NOT_SUPPORTED will be returned for all hives that haven't been set. On Windows the various registry hives are loaded from: HKEY_CURRENT_CONFIG: %SystemRoot%\System32\Config\System HKEY_CURRENT_USER: %Profile%\NTUser.dat HKEY_LOCAL_MACHINE\SAM: %SystemRoot%\System32\Config\Sam HKEY_LOCAL_MACHINE\Security: %SystemRoot%\System32\Config\Security HKEY_LOCAL_MACHINE\Software: %SystemRoot%\System32\Config\Software HKEY_LOCAL_MACHINE\System: %SystemRoot%\System32\Config\System HKEY_USERS\.DEFAULT: %SystemRoot%\System32\Config\Default HKEY_LOCAL_MACHINE\HARDWARE: is autogenerated