Jeremy Allison wrote: > On Wed, Jul 09, 2008 at 12:39:13AM +0800, chenyun_zhou wrote: > > Hi, everyone > > > > I am try to write a program to edit smb.conf, and the question is " > > If I open smb.conf for editing, but other process such as smbd , nmbd and > > winbind is reading the file, How to handle the this collision, and I want > > to open this file immediaetly ,and afte closing this file , tell these > > process to read it." > > Do what all other unix programs do in this circumstance. > Create a temp smb.conf file and then do an atomic rename > into place. The next time smbd/nmbd re-read the file (or > when you tell them to do it via a MSG_SMB_CONF_UPDATED > message) they'll see the new contents.
Hi chenyun_zhou, Let me draw your attention to the new registry based configuration that is offered as a new feature in 3.2.0. Configuration stored in samba's registry.tdb database can be used if you activate it in a (minimal) smb.conf. Then you can edit the configuration comfortably with the new "net conf" command. (e.g. from scripts). Since the tdb databases support locking, this method has no problems with concurrent access. To give you an idea, here is the list of subcommands of net conf: net conf list Dump the complete configuration in smb.conf like format. net conf import Import configuration from file in smb.conf format. net conf listshares List the share names. net conf drop Delete the complete configuration. net conf showshare Show the definition of a share. net conf addshare Create a new share. net conf delshare Delete a share. net conf setparm Store a parameter. net conf getparm Retrieve the value of a parameter. net conf delparm Delete a parameter. net conf getincludes Show the includes of a share definition. net conf setincludes Set includes for a share. net conf delincludes Delete includes from a share definition. This is simply the output of "net conf" without further arguements. For details, see the smb.conf(5) and net(8) manpages. Yesterday, I have also started to write a document about this at: http://wiki.samba.org/index.php/Registry_Configuration But is really only started, needs to be completed... There also is a "libsmbconf" library that proveds an interface to the configuration, but it is not yet provided as a shared library. In source/lib/netapi/examples/netdomjoin-gui/ you can find an example gui program that uses libsmbconf to edit parts of the configuration. Cheers - Michael -- Michael Adam <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen phone: +49-551-370000-0, fax: +49-551-370000-9 AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen http://www.SerNet.DE, mailto: Info @ SerNet.DE
pgpBGY7qVDl7Y.pgp
Description: PGP signature
-- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba