Add an initial amount of documentation of registry based
authorMichael Adam <obnox@samba.org>
Fri, 22 Jun 2007 22:44:13 +0000 (22:44 +0000)
committerGerald W. Carter <jerry@samba.org>
Wed, 23 Apr 2008 14:01:51 +0000 (09:01 -0500)
configuration to smb.conf(5). This explains registry shares
and registry global options and mentions "net conf".

This will be in 3.0.26, but Jerry told me to commit this
anyways. The plan is to branch the doc for 3.0.25b from r1126 (say).

I could not check the result since I could not get the
manpages built correctly on any system I tried. So the
output needs to be checked - sorry, I will fix my
environment later...

Michael

docs/manpages-3/smb.conf.5.xml
docs/smbdotconf/misc/include.xml
docs/smbdotconf/misc/registryshares.xml [new file with mode: 0644]

index 83fff41f809440329ec31f49e1c31e43233f2833..ff527c1f53c10c49cdc4681135597d0257fdf575 100644 (file)
@@ -711,6 +711,84 @@ chmod 1770 /usr/local/samba/lib/usershares
 
 </refsect1>
 
+<refsect1>
+       <title>REGISTRY-BASED CONFIGURATION</title>
+
+       <para>
+               Starting with Samba version 3.0.26, the capability to
+               store Samba configuration in the registry is available. 
+               There are two levels of registry configuration. 
+       </para>
+
+       <orderedlist continuation="restarts" inheritnum="ignore" numeration="arabic">
+               <listitem><para>Share definitions stored in registry are used.
+               This is triggered by setting the global parameter
+               <parameter>registry shares</parameter> to
+               <term>yes</term> in <term>smb.conf</term>.
+               </para>
+               <para>Note: Shares defined in <term>smb.conf</term> always take priority over 
+               shares of the same name defined in registry.
+               </para></listitem>
+
+               <listitem><para>Global <term>smb.conf</term> options stored in
+               registry are used. This
+               is triggered by a new special meaning of the
+               parameter <parameter>include = registry</parameter> in
+               the [global] section of <term>smb.conf</term>. 
+               This reads the content of
+               the global configuration section from the regsitry
+               and includes the result with the same priorities as
+               an include of a text file. Activation of global
+               registry options automatically activates registry
+               shares.
+               </para></listitem>
+       </orderedlist>
+
+       <para>  
+               Even when global registry options are used, the initial source of
+               configuration is still the <term>smb.conf</term> file. 
+               It is this possible though, to produce a registry-only configuration 
+               with a minimal configuration file like this:
+<programlisting>
+       <smbconfsection name="[global]"/>
+       <smbconfoption name="include">registry</smbconfoption>
+</programlisting>
+               This is also currently the only supported configuration with global
+               registry options activated. More precisely, it is only supported to 
+               specify options in <term>smb.conf</term> <emph>before</emph> the
+               occurrence of <parameter>include = registry</parameter>.
+       </para>
+
+       <para>
+               Caveat: To make registry-based configurations foolprof at least to a
+               certain extent, the use of <parameter>lock directory</parameter>
+               and <parameter>include</parameter> inside the registry
+               configuration has been disabled. Especially, by changing the
+               <parameter>lock directory</parameter> inside the registry
+               configuration, one would create a broken setup where the daemons
+               do not see the configuration they loaded once it is active. This
+               phenomenon can of course also be triggered by specifying
+               <parameter>lock directory</parameter> after the
+               <parameter>include = registry</parameter> directive. This is why
+               this type of configuration is classified "unsupported" above.
+       </para>
+
+       <para>
+               The registry configuration can be accessed with
+               tools like <term>regedit</term> or <term>net rpc
+               registry</term> in the key
+               <term>HKLM\Software\Samba\smbconf</term>.
+
+               More conveniently, the <term>conf</term> subcommand of the
+               <citerefentry><refentrytitle>net</refentrytitle> 
+               <manvolnum>7</manvolnum></citerefentry> utility
+               offers a dedicated interface to read and write the
+               registry based configuration locally, i.e. directly
+               on the server. 
+       </para>
+
+</refsect1>
+
 <refsect1>
        <title>EXPLANATION OF EACH PARAMETER</title>
        
index 17ccea33c02dbe143c147de2f27710abd6721f58..84e20dff89a01a30439d6238336956ec0ff996da 100644 (file)
@@ -1,6 +1,6 @@
 <samba:parameter name="include"
                 context="G"
-                        type="string"
+                type="string"
                 hide="1"
                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
 <description>
        It takes the standard substitutions, except <parameter moreinfo="none">%u</parameter>, 
        <parameter moreinfo="none">%P</parameter> and <parameter moreinfo="none">%S</parameter>.
        </para>
+       
+       <para>
+       The parameter <parameter>include = registry</parameter> has
+       a special meaning: It does <emphasis>not</emphasis> include
+       a file named <term>registry</term> from the current working
+       directory, but instead reads the global configuration options 
+       from the registry. See the section on registry-based
+       configuration for details. Note that this option
+       automatically activates registry shares.
+       </para>
 </description>
 
 <value type="default"></value>
diff --git a/docs/smbdotconf/misc/registryshares.xml b/docs/smbdotconf/misc/registryshares.xml
new file mode 100644 (file)
index 0000000..5557661
--- /dev/null
@@ -0,0 +1,16 @@
+<samba:parameter name="config file"
+                 context="G"
+                type="bool"
+                advanced="1"
+                 xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
+<description>
+       <para>
+       This turns on or off support for share definitions read from
+       registry. Shares in defined in <term>smb.conf</term> take
+       precedence over shares with the same name defined in
+       registry. See the section on registry-based configuration
+       for details. 
+       </para>
+</description>
+<value type="example">/usr/local/samba/lib/smb.conf.%m</value>
+</samba:parameter>