[Samba] samba pdc winbind

duportail guy at duportail.be
Wed Feb 11 10:06:20 MST 2015


Op woensdag 11 februari 2015 16:53:40 schreef Rowland Penny:
> On 11/02/15 15:37, duportail wrote:
> > We have debian 7 with samba pdc.
> >
> >  From a joined ubuntu client , i can su for another user but getting other user:
> >
> > root at blank005:~# su 59031614949
> > 98121524292 at blank005:/root$
> >
> > The numbers are usernames .
> >
> > how can this happen?
> >
> > in the samba pcd logs:
> > [2015/02/11 16:10:14.497010,  0] passdb/lookup_sid.c:1684(get_primary_group_sid)
> >    Failed to find a Unix account for 92101633919Failed to find a Unix account for 92101633919Failed to find a Unix account for 92101633919get_user_info_21: User 92101633919 has Primary Group SID (NULL SID),
> >    which conflicts with the domain sid S-1-5-21-1271321931-4267375537-2797277541.  Failing operation.
> > [2015/02/11 16:10:14.505141,  0] passdb/lookup_sid.c:1684(get_primary_group_sid)
> >    Failed to find a Unix account for 84070640762Failed to find a Unix account for 84070640762Failed to find a Unix account for 84070640762Failed to find a Unix account for 84070640762get_user_info_21: User 84070640762 has Primary Group SID (NULL SID),
> >    which conflicts with the domain sid S-1-5-21-1271321931-4267375537-2797277541.  Failing operation.
> > [2015/02/11 16:10:14.508335,  0] passdb/lookup_sid.c:1684(get_primary_group_sid)
> >    Failed to find a Unix account for 84070640762Failed to find a Unix account for 84070640762Failed to find a Unix account for 84070640762get_user_info_21: User 84070640762 has Primary Group SID (NULL SID),
> >    which conflicts with the domain sid S-1-5-21-1271321931-4267375537-2797277541.  Failing operation.
> > [2015/02/11 16:10:14.512676,  0] passdb/lookup_sid.c:1684(get_primary_group_sid)
> >
> > clients smb.conf:
> >
> > #
> > # Sample configuration file for the Samba suite for Debian GNU/Linux.
> > #
> > #
> > # 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 most of which
> > # are not shown in this example
> > #
> > # Some options that are often worth tuning have been included as
> > # commented-out examples in this file.
> > #  - When such options are commented with ";", the proposed setting
> > #    differs from the default Samba behaviour
> > #  - When commented with "#", the proposed setting is the default
> > #    behaviour of Samba but the option is considered important
> > #    enough to be mentioned here
> > #
> > # NOTE: Whenever you modify this file you should run the command
> > # "testparm" to check that you have not made any basic syntactic
> > # errors.
> > # A well-established practice is to name the original file
> > # "smb.conf.master" and create the "real" config file with
> > # testparm -s smb.conf.master >smb.conf
> > # This minimizes the size of the really used smb.conf file
> > # which, according to the Samba Team, impacts performance
> > # However, use this with caution if your smb.conf file contains nested
> > # "include" statements. See Debian bug #483187 for a case
> > # where using a master file is not a good idea.
> > #
> >
> > #======================= Global Settings =======================
> >
> > [global]
> >
> > ## Browsing/Identification ###
> >
> > # Change this to the workgroup/NT-domain name your Samba server will part of
> >     workgroup = fai
> >
> > # server string is the equivalent of the NT Description field
> >     server string = %h server (Samba, Ubuntu)
> >
> > # Windows Internet Name Serving Support Section:
> > # WINS Support - Tells the NMBD component of Samba to enable its WINS Server
> > #   wins support = no
> >
> > # WINS Server - Tells the NMBD components of Samba to be a WINS Client
> > # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
> >     wins server = 172.20.68.14
> > winbind separator = /
> > winbind use default domain = Yes
> > # This will prevent nmbd to search for NetBIOS names through DNS.
> >     dns proxy = no
> > winbind uid = 10000-20000
> > winbind gid = 10000-20000
> > template shell = /bin/bash
> > allow trusted domains = yes
> > name resolve order = lmhosts host wins bcast
> > #invalid users = root ubu
> > # What naming service and in what order should we use to resolve host names
> > # to IP addresses
> > name resolve order = wins lmhosts host  bcast
> >
> > #### Networking ####
> >
> > # The specific set of interfaces / networks to bind to
> > # This can be either the interface name or an IP address/netmask;
> > # interface names are normally preferred
> > ;   interfaces = 127.0.0.0/8 eth0
> >
> > # Only bind to the named interfaces and/or networks; you must use the
> > # 'interfaces' option above to use this.
> > # It is recommended that you enable this feature if your Samba machine is
> > # not protected by a firewall or is a firewall itself.  However, this
> > # option cannot handle dynamic or non-broadcast interfaces correctly.
> > ;   bind interfaces only = yes
> >
> >
> >
> > #### Debugging/Accounting ####
> >
> > # This tells Samba to use a separate log file for each machine
> > # that connects
> >     log file = /var/log/samba/log.%m
> >
> > # Cap the size of the individual log files (in KiB).
> >     max log size = 1000
> >
> > # If you want Samba to only log through syslog then set the following
> > # parameter to 'yes'.
> > #   syslog only = no
> >
> > # We want Samba to log a minimum amount of information to syslog. Everything
> > # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
> > # through syslog you should set the following parameter to something higher.
> >     syslog = 0
> >
> > # Do something sensible when Samba crashes: mail the admin a backtrace
> >     panic action = /usr/share/samba/panic-action %d
> >
> >
> > ####### Authentication #######
> >
> > # "security = user" is always a good idea. This will require a Unix account
> > # in this server for every user accessing the server. See
> > # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
> > # in the samba-doc package for details.
> >     security = domain
> > password server = 172.20.68.14
> > # You may wish to use password encryption.  See the section on
> > # 'encrypt passwords' in the smb.conf(5) manpage before enabling.
> >     encrypt passwords = true
> >
> > # If you are using encrypted passwords, Samba will need to know what
> > # password database type you are using.
> >     passdb backend = tdbsam
> >
> >     obey pam restrictions = yes
> >
> > # This boolean parameter controls whether Samba attempts to sync the Unix
> > # password with the SMB password when the encrypted SMB password in the
> > # passdb is changed.
> >     unix password sync = yes
> >
> > # For Unix password sync to work on a Debian GNU/Linux system, the following
> > # parameters must be set (thanks to Ian Kahan <<kahan at informatik.tu-muenchen.de> for
> > # sending the correct chat script for the passwd program in Debian Sarge).
> >     passwd program = /usr/bin/passwd %u
> >     passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
> >
> > # This boolean controls whether PAM will be used for password changes
> > # when requested by an SMB client instead of the program listed in
> > # 'passwd program'. The default is 'no'.
> >     pam password change = yes
> >
> > # This option controls how unsuccessful authentication attempts are mapped
> > # to anonymous connections
> >     map to guest = bad user
> >
> > ########## Domains ###########
> >
> > # Is this machine able to authenticate users. Both PDC and BDC
> > # must have this setting enabled. If you are the BDC you must
> > # change the 'domain master' setting to no
> > #
> > ;   domain logons = yes
> > #
> > # The following setting only takes effect if 'domain logons' is set
> > # It specifies the location of the user's profile directory
> > # from the client point of view)
> > # The following required a [profiles] share to be setup on the
> > # samba server (see below)
> > ;   logon path = \\%N\profiles\%U
> > # Another common choice is storing the profile in the user's home directory
> > # (this is Samba's default)
> > #   logon path = \\%N\%U\profile
> >
> > # The following setting only takes effect if 'domain logons' is set
> > # It specifies the location of a user's home directory (from the client
> > # point of view)
> > ;   logon drive = H:
> > #   logon home = \\%N\%U
> >
> > # The following setting only takes effect if 'domain logons' is set
> > # It specifies the script to run during logon. The script must be stored
> > # in the [netlogon] share
> > # NOTE: Must be store in 'DOS' file format convention
> > ;   logon script = logon.cmd
> >
> > # This allows Unix users to be created on the domain controller via the SAMR
> > # RPC pipe.  The example command creates a user account with a disabled Unix
> > # password; please adapt to your needs
> >   add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
> >
> > # This allows machine accounts to be created on the domain controller via the
> > # SAMR RPC pipe.
> > # The following assumes a "machines" group exists on the system
> >   add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
> >
> > # This allows Unix groups to be created on the domain controller via the SAMR
> > # RPC pipe.
> > add group script = /usr/sbin/addgroup --force-badname %g
> >
> > ########## Printing ##########
> >
> > # If you want to automatically load your printer list rather
> > # than setting them up individually then you'll need this
> > #   load printers = yes
> >
> > # lpr(ng) printing. You may wish to override the location of the
> > # printcap file
> > ;   printing = bsd
> > ;   printcap name = /etc/printcap
> >
> > # CUPS printing.  See also the cupsaddsmb(8) manpage in the
> > # cupsys-client package.
> > ;   printing = cups
> > ;   printcap name = cups
> >
> > ############ Misc ############
> >
> > # Using the following line enables you to customise your configuration
> > # on a per machine basis. The %m gets replaced with the netbios name
> > # of the machine that is connecting
> > ;   include = /home/samba/etc/smb.conf.%m
> >
> > # Most people will find that this option gives better performance.
> > # See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/speed.html
> > # for details
> > # You may want to add the following on a Linux system:
> > #         SO_RCVBUF=8192 SO_SNDBUF=8192
> > #   socket options = TCP_NODELAY
> > socket options = TCP_NODELAY  SO_RCVBUF=8192 SO_SNDBUF=8192
> > # The following parameter is useful only if you have the linpopup package
> > # installed. The samba maintainer and the linpopup maintainer are
> > # working to ease installation and configuration of linpopup and samba.
> > ;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
> >
> > # Domain Master specifies Samba to be the Domain Master Browser. If this
> > # machine will be configured as a BDC (a secondary logon server), you
> > # must set this to 'no'; otherwise, the default behavior is recommended.
> > #   domain master = auto
> >
> > # Some defaults for winbind (make sure you're not using the ranges
> > # for something else.)
> > #   idmap uid = 10000-20000
> > #  idmap gid = 10000-20000
> >     template shell = /bin/bash
> >
> > # The following was the default behaviour in sarge,
> > # but samba upstream reverted the default because it might induce
> > # performance issues in large organizations.
> > # See Debian bug #368251 for some of the consequences of *not*
> > # having this setting and smb.conf(5) for details.
> >   #  winbind enum groups = yes
> >    # winbind enum users = yes
> > template homedir = /home/%U
> > # Setup usershare options to enable non-root users to share folders
> > # with the net usershare command.
> >
> > # Maximum number of usershare. 0 (default) means that usershare is disabled.
> > ;   usershare max shares = 100
> >
> > # Allow users who've been granted usershare privileges to create
> > # public shares, not just authenticated ones
> >     usershare allow guests = yes
> >
> > #======================= Share Definitions =======================
> >
> > # Un-comment the following (and tweak the other settings below to suit)
> > # to enable the default home directory shares. This will share each
> > # user's home director as \\server\username
> > ;[homes]
> > ;   comment = Home Directories
> > ;   browseable = no
> >
> > # By default, the home directories are exported read-only. Change the
> > # next parameter to 'no' if you want to be able to write to them.
> > ;   read only = yes
> >
> > # File creation mask is set to 0700 for security reasons. If you want to
> > # create files with group=rw permissions, set next parameter to 0775.
> > ;   create mask = 0700
> >
> > # Directory creation mask is set to 0700 for security reasons. If you want to
> > # create dirs. with group=rw permissions, set next parameter to 0775.
> > ;   directory mask = 0700
> >
> > # By default, \\server\username shares can be connected to by anyone
> > # with access to the samba server. Un-comment the following parameter
> > # to make sure that only "username" can connect to \\server\username
> > # The following parameter makes sure that only "username" can connect
> > #
> > # This might need tweaking when using external authentication schemes
> >     valid users = %S
> >
> > # Un-comment the following and create the netlogon directory for Domain Logons
> > # (you need to configure Samba to act as a domain controller too.)
> > ;[netlogon]
> > ;   comment = Network Logon Service
> > ;   path = /home/samba/netlogon
> > ;   guest ok = yes
> > ;   read only = yes
> >
> > # Un-comment the following and create the profiles directory to store
> > # users profiles (see the "logon path" option above)
> > # (you need to configure Samba to act as a domain controller too.)
> > # The path below should be writable by all users so that their
> > # profile directory may be created the first time they log on
> > ;[profiles]
> > ;   comment = Users profiles
> > ;   path = /home/samba/profiles
> > ;   guest ok = no
> > ;   browseable = no
> > ;   create mask = 0600
> > ;   directory mask = 0700
> >
> > [printers]
> >     comment = All Printers
> >     browseable = no
> >     path = /var/spool/samba
> >     printable = yes
> >     guest ok = no
> >     read only = yes
> >     create mask = 0700
> >
> > # Windows clients look for this share name as a source of downloadable
> > # printer drivers
> > [print$]
> >     comment = Printer Drivers
> >     path = /var/lib/samba/printers
> >     browseable = yes
> >     read only = yes
> >     guest ok = no
> > # Uncomment to allow remote administration of Windows print drivers.
> > # You may need to replace 'lpadmin' with the name of the group your
> > # admin users are members of.
> > # Please note that you also need to set appropriate Unix permissions
> > # to the drivers directory for these users to have write rights in it
> > ;   write list = root, @lpadmin
> >
> > # A sample share for sharing your CD-ROM with others.
> > ;[cdrom]
> > ;   comment = Samba server's CD-ROM
> > ;   read only = yes
> > ;   locking = no
> > ;   path = /cdrom
> > ;   guest ok = yes
> >
> > # The next two parameters show how to auto-mount a CD-ROM when the
> > #       cdrom share is accesed. For this to work /etc/fstab must contain
> > #       an entry like this:
> > #
> > #       /dev/scd0   /cdrom  iso9660 defaults,noauto,ro,user   0 0
> > #
> > # The CD-ROM gets unmounted automatically after the connection to the
> > #
> > # If you don't want to use auto-mounting/unmounting make sure the CD
> > #       is mounted on /cdrom
> > #
> > ;   preexec = /bin/mount /cdrom
> > ;   postexec = /bin/umount /cdrom
> >
> >
> >
> >
> 
> Can you post the smb.conf from the debian 7 PDC ?
> 
> Rowland
> 
> 
I think thats why I have a lot of black screens on the clients.
Here debian pdc smb.conf:
root at fai:~# cat /etc/samba/smb.conf
# 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
#
# For a step to step guide on installing, configuring and using samba, 
# read the Samba-HOWTO-Collection. This may be obtained from:
#  http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
#
# Many working examples of smb.conf files can be found in the 
# Samba-Guide which is generated daily and can be downloaded from: 
#  http://www.samba.org/samba/docs/Samba-Guide.pdf
#
# 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 "testparm"
# to check that you have not made any basic syntactic errors. 
#
#======================= Global Settings =====================================
[global]

# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
   workgroup = fai

# server string is the equivalent of the NT Description field
   server string = Samba Server

# Security mode. Defines in which mode Samba will operate. Possible 
# values are share, user, server, domain and ads. Most people will want 
# user level security. See the Samba-HOWTO-Collection for details.
   security = user

# 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.1. 192.168.2. 127.

# 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 spool
# system
;   printcap name = lpstat

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

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# 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

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

# 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>

# Use the realm option only with security = ads
# Specifies the Active Directory realm the host is part of
;   realm = MY_REALM

# Backend to store user information in. New installations should 
# use either tdbsam or ldapsam. smbpasswd is available for backwards 
# compatibility. tdbsam requires no further configuration.
   passdb backend = tdbsam

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

# Configure Samba to use multiple interfaces
# If you have multiple network interfaces then you must list them
# here. See the man page for details.
 #  interfaces = 192.168.12.2/24 192.168.5.2/24 

# Browser Control Options:
# set local master to no if you don't want Samba to become a master
# browser on your network. Otherwise the normal election rules apply
;   local master = no

# OS Level determines the precedence of this server in master browser
# elections. The default value should be reasonable
;   os level = 33

# Domain Master specifies Samba to be the Domain Master Browser. This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
  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

# Enable this if you want Samba to be a domain logon server for 
# Windows95 workstations. 
  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 = %m.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 username
#        You must uncomment the [Profiles] share below
   logon path = \\%L\Profiles\%U

# 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 Client
#       Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
 ; wins server = 192.168.5.1

# WINS Proxy - Tells Samba to answer name resolution queries on
# behalf of a non WINS capable client, for this to work there must be
# 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 names
# via DNS nslookups. The default is NO.
   dns proxy = no 

# These scripts are used on a domain controller or stand-alone 
# machine to add or delete corresponding unix accounts
  add user script = /usr/sbin/useradd %u
  add group script = /usr/sbin/groupadd %g
  add machine script = /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u
  delete user script = /usr/sbin/userdel %u
  delete user from group script = /usr/sbin/deluser %u %g
  delete group script = /usr/sbin/groupdel %g


#============================ Share Definitions ==============================
[homes]
   comment = Home Directories
   browseable = yes
   read only = no
guest ok = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S
invalid users = root
# Un-comment the following and create the netlogon directory for Domain Logons
 [netlogon]
   comment = Network Logon Service
  path = /usr/local/samba/lib/netlogon
   guest ok = yes
   writable = no
 #share modes = yes


# Un-comment the following to provide a specific roving profile share
# the default is to use the user's home directory
;[Profiles]
;    path = /usr/local/samba/profiles
;    browseable = no
;    guest ok = yes


# NOTE: If you have a BSD-style print system there is no need to 
# specifically define each individual printer
[printers]
   comment = All Printers
   path = /usr/spool/samba
   browseable = no
# Set public = yes to allow user 'guest account' to print
   guest ok = no
   writable = no
   printable = yes

# This one is useful for people to share files
;[tmp]
;   comment = Temporary file space
;   path = /tmp
;   read only = no
;   public = yes

# A publicly accessible directory, but read only, except for people in
# the "staff" group
;[public]
;   comment = Public Stuff
;   path = /home/samba
;   public = yes
;   writable = no
;   printable = no
;   write list = @staff

# Other examples. 
#
# A private printer, usable only by fred. Spool data will be placed in fred's
# home directory. Note that fred must have write access to the spool directory,
# wherever it is.
;[fredsprn]
;   comment = Fred's Printer
;   valid users = fred
;   path = /homes/fred
;   printer = freds_printer
;   public = no
;   writable = no
;   printable = yes

# A private directory, usable only by fred. Note that fred requires write
# access to the directory.
;[fredsdir]
;   comment = Fred's Service
;   path = /usr/somewhere/private
;   valid users = fred
;   public = no
;   writable = yes
;   printable = no

# a service which has a different directory for each machine that connects
# this allows you to tailor configurations to incoming machines. You could
# also use the %U option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
;[pchome]
;  comment = PC Directories
;  path = /usr/pc/%m
;  public = no
;  writable = yes

# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specified, in which case all files would be owned by that user instead.
;[public]
;   path = /usr/somewhere/else/public
;   public = yes
;   only guest = yes
;   writable = yes
;   printable = no

# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specific users. In this
# setup, the directory should be writable by both users and should have the
# sticky bit set on it to prevent abuse. Obviously this could be extended to
# as many users as required.
;[myshare]
;   comment = Mary's and Fred's stuff
;   path = /usr/somewhere/shared
;   valid users = mary fred
;   public = no
;   writable = yes
;   printable = no
;   create mask = 0765




More information about the samba mailing list