[Samba] netlogon sometimes works (corrected with smb.conf attached)

jason.walton at nomadsoft.com jason.walton at nomadsoft.com
Mon Jan 20 23:37:02 GMT 2003

Could anybody please help? I have tried all sorts and nothing will fix the 
problem permamently.
I have a samba PDC which on occasion happily logs a user on and processes 
the NETLOGON share. However, it doesn't always run this service.
I have placed preexec commands in both the profiles and netlogon shares, 
only the profiles preexec is executed.
Reboots don't make any difference, only determed logout / logins will 
eventually get the netlogon share executed.
I have included the full smb.conf file, samba is now running 2.2.7a, each 
upgrade results in the same problem.

We have two domains, one controlled by an old NT PDC (this is to be 
retired) and one by a new samba PDC (to be the main PDC for all machines, 
once they are migrated). I have noticed that trying to join the samba 
domain over a VPN is impossible, whereas joining the NT domain, works 
first time. I don't know if this last bit is relevant to the problem or 

# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
# NOTE: Whenever you modify this file you should run the command 
# to check that you have not many any basic syntactic errors.
#======================= Global Settings 

## Basic Server Settings
        netbios name = PDC
        netbios aliases = FILESERVER
#       netbios name = PDCM

        # workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4
        workgroup = NOMAD
#       workgroup = PDC1

        # server string is the equivalent of the NT Description field
        server string = Nomad PDC (Samba %v)
#JOW    server string = Samba Server 2.2.6

        # This option is important for security. It allows you to restrict
        # connections to machines which are on your local network. The
        # following example restricts access to two C class networks and
        # the "loopback" interface. For more examples of the syntax see
        # the smb.conf man page
        hosts allow = 192.168.2. 192.168.1.

        # Uncomment this if you want a guest account, you must add this to 
        # otherwise the user "nobody" is used
        ; guest account = pcguest

        # this tells Samba to use a separate log file for each machine
        # that connects
        log file = /var/log/samba/log.%m

        # How much information do you want to see in the logs?
        # default is only to log critical messages
        log level = 1

        # Put a capping on the size of the log files (in Kb).
        max log size = 10250

        # Security mode. Most people will want user level security. See
        # security_level.txt for details.
        security = user
# JOW domain admin group = root @wheel
        domain admin group = root administrator @sysadm

        # Using the following line enables you to customise your 
        # on a per machine basis. The %m gets replaced with the netbios 
        # of the machine that is connecting.
        # Note: Consider carefully the location in the configuration file 
        #       this line.  The included file is read at that point.
        ;   include = /usr/local/samba/lib/smb.conf.%m

        # Most people will find that this option gives better performance.
        # See speed.txt and the manual pages for details
        # You may want to add the following on a Linux system:
        #         SO_RCVBUF=8192 SO_SNDBUF=8192
        ; socket options = TCP_NODELAY

        # Configure Samba to use multiple interfaces
        # If you have multiple network interfaces and want to limit smbd 
        # use, list the ones desired here.  Otherwise smbd & nmbd will 
bind to all
        # active interfaces on the system.  See the man page for details.
        ;   interfaces =

        # Should smbd report that it has MS-DFS Capabilities? Only 
        # if --with-msdfs was passed to ./configure
        ; host msdfs = yes

## Network Browsing
        # set local master to no if you don't want Samba to become a 
        # browser on your network. Otherwise the normal election rules 
        local master = yes

        # OS Level determines the precedence of this server in master 
        # elections. The default value (20) should be reasonable
        os level = 99

        # Domain Master specifies Samba to be the Domain Master Browser. 
        # allows Samba to collate browse lists between subnets. Don't use 
        # if you already have a Windows NT domain controller doing this 
        domain master = yes

        # Preferred Master causes Samba to force a local browser election 
on startup
        # and gives it a slightly higher chance of winning the election
        preferred master = yes

        # added by JOW 2002/11/19 to enable us to see riga network
        remote browse sync =
#JOW    remote browse sync =

## WINS & Name Resolution
        # Windows Internet Name Serving Support Section:
        # WINS Support - Tells the NMBD component of Samba to enable it's 
WINS Server
        wins support = yes

        # WINS Server - Tells the NMBD components of Samba to be a WINS 
        #       Note: Samba can be either a WINS Server, or a WINS Client, 
but NOT both
        ; wins server = w.x.y.z

        # WINS Proxy - Tells Samba to answer name resolution queries on
        # behalf of a non WINS capable client, for this to work there must 
        # at least one  WINS Server on the network. The default is NO.
        ; wins proxy = yes

        # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS 
        # via DNS nslookups.
        dns proxy = no

## Passwords & Authentication
        add user script = /usr/sbin/useradd -d /dev/null -g 400 -s 
/bin/false %u 
        # Use password server option only with security = server
        # The argument list may include:
        #   password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
        # or to auto-locate the domain controller/s
        ;   password server = *
        ;   password server = <NT-Server-Name>

        # You may wish to use password encryption. Please read
        # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba 
        # Do not enable this option unless you have read those documents
        encrypt passwords = yes

        # Should smbd obey the session and account lines in 
/etc/pam.d/samba ?
        # only available if --with-pam was used at compile time
        ; obey pam restrictions = yes

        # When using encrypted passwords, Samba can synchronize the local
        # UNIX password as well.  You will also need the "passwd chat" 
        unix password sync = yes

        # how should smbd talk to the local system when changing a UNIX
        # password?  See smb.conf(5) for details
        passwd program = /usr/bin/passwd -r nis %u
#JOW    passwd program = /usr/bin/passwd %u

        # define this as a standard, as it bloody moves around!
        smb passwd file = /opt/private/smbpasswd
# define how the password is mapped via NIS
# JOW NIS stuff, but doesn't work according to samba bods       passwd 
chat = Enter*login(NIS)*password:* %n\n \nNew*password:* %n\n 
\n*Re-enter*new*password:* %n\n \n*NIS*passwd/attributes*changed*on**
# now define the NIS MASTER method
        passwd chat = New*password:* %n\n \n*Re-enter*new*password:* %n\n 

#       passwd chat = New*password:* %n\n \n*Re-enter*new*password:* %n\n 
# end of define the NIS MASTER method
        passwd chat debug = no

        # This is only available if you compiled Samba to include 
        # Use PAM for changing the password
        ; pam password change = yes

## Domain Control
# JOW added for PDC
        admin users = root

        # Enable this if you want Samba act as a domain controller.
        # make sure you have read the Samba-PDC-HOWTO included in the 
        # before enabling this parameter
        domain logons = yes

        # if you enable domain logons then you may want a per-machine or
        # per user logon script
        # run a specific logon batch file per workstation (machine)
        ; logon script = client.bat
        #JOW make this based on the group the person is in, most are in 
staff or cortex
        logon script = %G.bat
        # run a specific logon batch file per username
        ; logon script = %U.bat

        # Where to store roving profiles (only for Win95 and WinNT)
        #        %L substitutes for this servers netbios name, %U is 
        #        You must uncomment the [Profiles] share below
        logon path = \\%L\Profiles\%U

        # UNC path specifying the network location of the user's home 
        # only used when acting as a DC for WinNT/2k/XP.  Ignored by Win9x 
#JOW put back in when staff.bat is global       logon home = 

        # What drive should the "logon home" be mounted at upon login ?
        # only used when acting as a DC for WinNT/2k/XP.  Ignored by Win9x 
#JOW comment out till every one in staff        logon drive = U:

## Printing

        # If you want to automatically load your printer list rather
        # than setting them up individually then you'll need this
        load printers = yes

        # you may wish to override the location of the printcap file
        ; printcap name = /etc/printcap

        # on SystemV system setting printcap name to lpstat should allow
        # you to automatically obtain a printer list from the SystemV 
        # system
        ; printcap name = lpstat

        # It should not be necessary to specify the print system type 
        # it is non-standard. Currently supported print systems include:
        # bsd, sysv, plp, lprng, aix, hpux, qnx
        ; printing = bsd

        # Enable this to make Samba 2.2 behavior just like Samba 2.0
        # not recommended nuless you are sure of what you are doing
        ; disable spoolss = yes

        # list of users and groups which should be able to remotely manage
        # printer drivers installed on the server
        ; printer admin = root, +ntadmin

## Winbind

        # specify the uid range which can be used by winbindd
        # to allocate uids for Windows users as necessary
        ; winbind uid = 10000-65000

        # specify the uid range which can be used by winbindd
        # to allocate uids for Windows users as necessary
        ; winbind gid = 10000-65000

        # Define a home directory to be given to passwd(5) style entries
        # generated by libnss_winbind.so.  You can use variables here
        ; winbind template homedir = /home/%D/%U

        # Specify a shell for all winbind user entries return by the
        # libnss_winbind.so library.
        ; winbind template shell = /bin/sh

        # What character should be used to separate the DOMAIN and 
        # for a Windows user.  The default is DOMAIN\user, but many people
        # prefer DOMAIN+user
        ; winbind separator = +

#       preload = NETLOGON

#============================ Share Definitions 
     browseable = no
     valid users = peter, lhmphrey
     path = /share/homes/peter

     create mode = 0600
     directory mode = 0700
     comment = Home Directories
     browseable = no
     writable = yes
;JOW20021113     valid users = %S
     path = /share/homes/%U
;     path = %H

# Un-comment the following and create the netlogon directory for Domain 
    path = /profiles/netlogon
    comment = Network Logon Service
    guest ok = yes
    writeable = yes
#JOW2003/01/15    writable = no
    share modes = yes
#    share modes = no
    write list = administrator, @sysadm
preexec = echo %u %H %U %G >> /tmp/logon.netlogon

# Un-comment the following to provide a specific roving profile share
# the default is to use the user's home directory
    path = /profiles
    writeable = yes
    read only = No
    browseable = yes
    guest ok = yes
    profile acls = yes
preexec = echo %u %H %U %G >> /tmp/logon.profiles

        comment = system images that are not to be made visible
        path = /share/images
        valid users = sahmed, jwalton, root, administrator
        read only = No

        comment = helpdesk - see Peter Brent
        read only = No
        path = /share/homes/preserve/helpdesk

        comment = NMR_DEBUG - see Peter Brent
        read only = No
        path = /share/homes/preserve/NMR_DEBUG

        comment = codereview - see dave bunbury
        path = /share/homes/preserve/codereview
        read only = No

        comment = system images that are freely available
        path = /share/images/public
        read only = No

        comment = user view of archived files that will be deleted after 
30 days
        path = /share/archived/share/homes/%U
        read only = No
        comment = global view of archived files that will be deleted after 
30 days
        path = /share/archived
        read only = No

# NOTE: If you have a BSD-style print system there is no need to
# specifically define each individual printer
   # Set public = yes to allow user 'guest account' to print
        comment = printers in london
        path = /var/spool/samba
        guest ok = Yes
        printable = Yes
        browseable = No

        path = /var/spool/samba
        read only = No
        guest ok = Yes
        printable = Yes
        printing = nt
        printer name = 5thfloor
        use client driver = Yes
        oplocks = No

        path = /var/spool/samba
        read only = No
        guest ok = Yes
        printable = Yes
        printing = nt
        printer name = 2ndfloor
        use client driver = Yes
        oplocks = No

        path = /opt/samba/printers
        write list = @administrator,root

-------------- next part --------------
HTML attachment scrubbed and removed

More information about the samba mailing list