[Samba] multiple smbd/nmbd on one machine

Markus Schwindenhammer schwindenhammer at cliss.net
Sun Oct 15 12:36:33 GMT 2006


Hi everybody,

hope my question is not misplaced :)

I have an HA-Cluster (RHEL 4 update 3, Veritas Storage-Foundation  
4.1, samba Version 3.0.10-1.4E.9) an have to run 3 different smbd/ 
nmbd on one machine.

So my smb.conf looks different for each "service", and is also stored  
in a separate folder.

(Structure is:

/home/smb/domain/cfg/ ...   #config for domain-controlling
/home/smb/share/cfg/ ...      #config for normal shares
/home/smb/perv/cfg/ ...        #config for a pervasive database that  
uses samba

... means that at this place the smb.conf, smbpasswd, ./locking/ 
*.tdb, ./private/secrets.tdb is stored

That is the only way, I can move the config and *.tdb in case of an  
fail-over to another node (shared storage).
)

Nearly everything is running well. I can create profiles, files and  
folders, can move them, change them but I cannot delete them. I have  
also figured out, that it must be a problem with one file in ./ 
locking/, because:


<<
#Samba Konfigurationsdatei fuer Domäen-Controlling

[global]

#Do something sensible when Samba crashes: mail the admin a backtrace
         panic action = /usr/share/samba/panic-action %d

#Serveridentifizierung im Netzwerk
         workgroup = edv
         server string =  FileServer
         netbios name = Fileserverc

#Grundeinstellungen fuer Shares
         browseable = no
         public = no
         writeable = no
         guest ok = no
         hide dot files = yes
         pid directory = /home/smb/domain/cfg
         bind interfaces only = yes
         interfaces = 192.168.0.202
#       lock directory = /home/smb/domain/cfg/locking
         log file = /home/smb/domain/cfg/log/log.%m
         private dir = /home/smb/domain/cfg/private
         map acl inherit = yes

#Definition des PDC's
         domain master = yes
         preferred master = yes
         local master = yes
         domain logons = Yes
         os level = 60
         wins support = yes
         name resolve order = wins lmhosts hosts bcast
         security = user
         encrypt passwords = Yes
         smb passwd file = /home/smb/domain/cfg/smbpasswd
         #use spnego = no
         client schannel = no
         server schannel = no
         client signing = no
         server signing = no

#Logon-Einstellungen fuer Windows 2000
         logon drive = Z:
         logon path = \\%L\profiles\%U.pds
         logon script = %U.logon.bat
         passdb backend = smbpasswd
         update encrypted = yes

#Performance Einstellungen
         #short preserve case = yes
         max log size = 5000
         #case sensitive = no
         #default case = lower
         dead time = 15
         #read raw = yes
         #write raw = yes
         socket options = TCP_NODELAY
         fake oplocks = no
         debug level = 10
         #preserve case = yes
         getwd cache = yes
         add machine script = /usr/sbin/useradd  -c Machine -d /var/ 
lib/nobody -s /bin/false %m$
         #read only = Yes

#Einstellungen der einzelnen Shares
[netlogon]
         path = /home/smb/domain/share/netlogon
         guest ok = Yes
         writable = no
         share modes = no

[profiles]
         path = /home/smb/domain/share/profiles
         browseable = yes
         read only = no
         writeable = yes
         create mask = 0777
         directory mask = 0777
         comment = Benutzerprofile
         read only = No

[Test]
         path = /home/01075
         browseable = yes
         read only = no
         writeable = yes
         create mask = 0777
         directory mask = 0777

 >>

This is a version of smb.conf where everything is working fine. But  
by taking "lock directory = /home/smb/domain/cfg/locking" in the  
config, I cannot delete the files/folders, only touch, move and so on...

But that is no solution, because by running 3 times smbd I do need 3  
different lock directories...

Oh, btw: This is one entry in log.$machinename

[2006/10/09 19:06:40, 10] smbd/trans2.c:set_delete_on_close_internal 
(2859)
   set_delete_on_close_internal: Added delete on close flag for fnum  
= 13738, file kpetzold.pds/NTUSER.DAT
[2006/10/09 19:06:40, 10] smbd/trans2.c:set_delete_on_close_over_all 
(2877)
   set_delete_on_close_over_all: Adding delete on close flag for fnum  
= 13738, file kpetzold.pds/NTUSER.DAT
[2006/10/09 19:06:40, 0] smbd/trans2.c:set_delete_on_close_over_all 
(2887)
   set_delete_on_close_over_all: failed to change delete on close  
flag for file kpetzold.pds/NTUSER.DAT
[2006/10/09 19:06:40, 10] smbd/trans2.c:set_delete_on_close_over_all 
(2877)
   set_delete_on_close_over_all: Adding delete on close flag for fnum  
= 13738, file kpetzold.pds/NTUSER.DAT
[2006/10/09 19:06:40, 0] smbd/trans2.c:set_delete_on_close_over_all 
(2887)
   set_delete_on_close_over_all: failed to change delete on close  
flag for file kpetzold.pds/NTUSER.DAT
   close_normal_file: failed to change delete on close flag for file  
kpetzold.pds/NTUSER.DAT
[2006/10/09 19:06:40, 10] smbd/trans2.c:set_delete_on_close_internal 
(2859)
   set_delete_on_close_internal: Added delete on close flag for fnum  
= 13739, file kpetzold.pds/prf4B.tmp
[2006/10/09 19:06:40, 10] smbd/trans2.c:set_delete_on_close_over_all 
(2877)
   set_delete_on_close_over_all: Adding delete on close flag for fnum  
= 13739, file kpetzold.pds/prf4B.tmp
[2006/10/09 19:06:40, 0] smbd/trans2.c:set_delete_on_close_over_all 
(2887)
   set_delete_on_close_over_all: failed to change delete on close  
flag for file kpetzold.pds/prf4B.tmp
[2006/10/09 19:06:40, 10] smbd/trans2.c:set_delete_on_close_over_all 
(2877)
   set_delete_on_close_over_all: Adding delete on close flag for fnum  
= 13739, file kpetzold.pds/prf4B.tmp
[2006/10/09 19:06:40, 0] smbd/trans2.c:set_delete_on_close_over_all 
(2887)
   set_delete_on_close_over_all: failed to change delete on close  
flag for file kpetzold.pds/prf4B.tmp
   close_normal_file: failed to change delete on close flag for file  
kpetzold.pds/prf4B.tmp

{BTW: Dear programmers, please change the logging, so that there is  
only one line per entry!!!! The way it is solved now, it is  
absolutely useless for using grep!}


Is it possible that the path to /locking/*.tdb is hardcoded?

Does anybody has an idea?  Thank you very much!

Yours

	Markus


More information about the samba mailing list