reasons why samba doesn't reload its smb.conf file

Luke Kenneth Casson Leighton lkcl at
Fri Sep 5 15:45:26 GMT 1997

server.c:open_sockets() does an accept() on a socket.  this is blocking. 
therefore, if there are no connections to the main smbd process, it's not
going to reload its services.  mainly because it doesn't need to.  it 
will do a reload_services() once a connection is made, having noticed 
that its configuration file has changed. 

the process() loop calls reload_services() once a minute.  so, during 
idle time (if you have made a connection), your files should be reloaded.

i've just checked this, and it does work: once a connection is made (i use
smbclient '\\server\tmp' -U lkcl), you can modify smb.conf, it will check
the mod_time, and reload the file. 

ok, i've just modified a share - [tmp] _while_ connected, from "read only 
= yes" to "read only = no".  i _still_ get "access denied" when 
attempting to delete elv_199.1.

so, if a service already exists and is in use, its parameters probably 
don't get changed.


More information about the samba mailing list