Package: Samba Version: recent/all
It's a long one.....probably an upstream bug. I've been trying to get samba to work with my windows 98 machine. I'm running Debian 2.4 custom as "laptop" x.y.z.4, and w98 as "desktop" x.y.z.2. My smb.conf file is below, and it works good with testparm. I'm running smbd and nmbd as daemons and I've checked /etc/inetd to make sure it's not there. Permissions on /wdc are 1705 Permissions on /var/run/samba are 755 fstab mounts /dev/hda2 on /wdc as rw for samba to offer My problem is described waaay below, but here is some stuff I found through troubleshooting you might want to put into DIAGNOSIS.txt: test 1 - testparm: ok test 2 - ping laptop, ping desktop: ok test 3 - smbclient -L laptop == asks for password == lists shares: ok ADD TO DIAGNOSIS.txt test 3a - smbclient -L ACLIENT If you get a message: got positive response from 192.168.1.2 tdbnull((null)): tdb_open_ex: could not open /var/run/samba/unexpected.tdb: no such file or directory Password: list shares: ok This may be an indication that nmbd has not loaded. Reasons are that DHCP or ifconfig have not acquired a valid IP address on the device. test 4 - nmblookup -B BIGSERVER __SAMBA__ querying __SAMBA_- on 127.0.0.1 tdbnull((null)): tdb_open_ex: could not open /var/run/samba/unexpected.tdb: no such file or directory name_query failed to find __SAMBA__ This is a DEFINITE indication that nmbd did not load. Edit your smb.conf and add the line "log level = 3", then reboot. Check /var/log/samba/log.nmbd and see if it contains: [2005/02/04 13:56:38, 0] nmbd/nmbd_subnetdb.c:create_subnets(240) create_subnets: No local interfaces ! [2005/02/04 13:56:38, 0] nmbd/nmbd.c:main(861) ERROR: Failed when creating subnet lists. Exiting. One solution is to restart samba using /etc/init.d/samba stop then /etc/init.d/samba start. Then try this command again. Usually this will work if your NIC has an IP. Another solution is to add the following to /etc/init.d/samba: NOTE: I HIGHLY suggest you make this a standard implementation in /etc/init.d/samba. Unfortunately, I don't know how to keep this from hanging if the command 'ifconfig ...' doesn't work. # FIND THESE LINES NMBDPID=/var/run/samba/nmbd.pid SMBDPID=/var/run/samba/smbd.pid # ADD THESE BELOW THEM SMB_DEV=eth0 SMB_WAIT=30 # FIND THIS LINE echo -n "Starting Samba daemons:" # OVERWRITE EXISTING LINES WITH THIS if (($SMB_WAIT > 0)); then echo " Waiting ${SMB_WAIT}s for eth0 ipaddr..." until [[ $tbBreak ]] || (($SMB_WAIT < 0)); do sleep 1 SMB_WAIT=$((SMB_WAIT-1)) tbBreak=`ifconfig $SMB_DEV 2>/dev/null | grep 'inet addr'` done if [[ $tbBreak ]]; then echo -n Loading: else echo "$SMB_DEV timed out..daemons not loaded." fi fi if [[ ! $SMB_WAIT ]] || \ ((($SMB_WAIT >= 0)) && [[ $tbBreak ]]); then echo -n " nmbd" start-stop-daemon --start --quiet --exec /usr/sbin/nmbd -- -D echo -n " smbd" start-stop-daemon --start --quiet --exec /usr/sbin/smbd -- -D echo "." fi # UNTIL YOU SEE THESE ;; Reboot or restart samba using "/etc/init.d/samba stop" then "/etc/init.d/samba start". Tests 3 & 4 should now work. test 8 - ACLIENT machine ADD TO DIAGNOSIS.txt *** NOTE *** For this step to work, you must login to your windows machine. On your linux machine, you must have a valid user account with the SAME login name as you use to logon to your windows machine. The passwords must also match. If you create a user account and then delete the passwd using "passwd -d username", this is a great way to test the connection BEFORE messing with password and security issues. Set up your "smb.conf" file as: # Set these in globals security = user null passwords = yes guest account = username # This could be in globals or in sharename (I think) # guest ok = yes # Comment out these # Debian linux uses /etc/samba/.... # Other releases may use /etc/.... # encrypt passwords = true # smb passwd file = /etc/samba/smbpasswd # Or for each share [ sharename ] guest ok = yes Also, check the write permissions on the following password files: chmod 1777 /etc chmod 755 /etc/passwd chmod 755 /etc/shadow NOW ON ACLIENT MACHINE TRY: command.com net view \\BIGSERVER test 9 - net use x: \\BIGSERVER\TMP Command completed successfully l: dir mkdir me dir rmdir me ok test 10 - nmblookup -M WORKGROUP querying WORKGROUP on 192.168.1.255 192.168.1.2 WORKGROUP<1d) test 11 - browse from file manager \\BIGSERVER test 12 - browse form internet explorer \\BIGSERVER test 13 - browse form network neighborhood \\BIGSERVER -------HERE'S MY PROBLEM-------- I can't write to my linux share \\laptop\windex (aka /dev/hda2 on /wdc = rw,nouser,suid) from my win98 Found out I cant chmod on mounts, so unmounted and chmod then remount. Cant' write. Modified fstab to /dev/hda2 /wdc vfat rw,nouser,suid 0 0 And rebooted. Still can't write to it. Can write to /tmp and /linux from w98 Suggestions??? Cheers, Christopher -------HERE'S MY smb.conf-------- #======================= Global Settings ======================= [global] #--------------------------------------------------------------- # CUSTOM SETTINGS - global #--------------------------------------------------------------- # Change this for the workgroup/NT-domain name your Samba server will part of workgroup = MSHOME # server string is the equivalent of the NT Description field server string = %h server (Samba %v) # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m lock directory = /var/log/samba lm announce = yes lm interval = 200 log level = 3 # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no # Use this if your Samba server has more than one interface # 24 is for Class C networks and may need recalculation for subnets # See IP-Masquerade mini-HOWTO for more info. # interfaces = 192.168.1.1/24 # "security = user" is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # security_level.txt for details. security = user null passwords = yes guest account = christopher # You may wish to use password encryption. Please read ENCRYPTION.txt, # Win95.txt and WinNT.txt in the Samba documentation. Do not enable this # option unless you have read those documents # # For encrypted smb passwords: # Create DWORD EnablePlainTextPassword = 0x01 in: # W95 HKLM\System\CurrentControlSet\Services\VxD\VNETSETUP # WNT HKLM\System\CurrentControlSet\Services\Rdr\Parameters # WME HKLM\System\CurrentControlSet\Services\LanmanWorkStation\Parameters # encrypt passwords = true # smb passwd file = /etc/samba/smbpasswd #--------------------------------------------------------------- # 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 # 'printing = cups' works nicely ; printing = bsd # Put a capping on the size of the log files (in Kb). max log size = 1000 # If you want Samba to log though syslog only then set the following # parameter to 'yes'. Please note that logging through syslog in # Samba is still experimental. ; syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smb,nmb} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 # 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 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 # --- Browser Control Options --- # Please _read_ BROWSING.txt and set the next four parameters according # to your network setup. The defaults are specified below (commented # out.) It's important that you read BROWSING.txt so you don't break # browsing in your network! # 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 = yes # OS Level determines the precedence of this server in master browser # elections. The default value should be reasonable ; os level = 20 # 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 = auto # 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 = auto # --- End of Browser Control Options --- # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable it's 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 = w.x.y.z # What naming service and in what order should we use to resolve host names # to IP addresses ; name resolve order = lmhosts host wins bcast # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # /etc/samba/smbpasswd file is changed. ; unix password sync = false # For Unix password sync. to work on a Debian GNU/Linux system, the following # parameters must be set (thanks to Augustin Luton <[EMAIL PROTECTED]> for # sending the correct chat script for the passwd program in Debian Potato). passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n . # 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 = no # 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' & obey pam restrictions = yes # Some defaults for winbind (make sure you're not using the ranges # for something else.) ; winbind uid = 10000-20000 ; winbind gid = 10000-20000 ; template shell = /bin/bash #======================= Share Definitions ======================= [homes] #--------------------------------------------------------------- # CUSTOM SETTINGS - homes #--------------------------------------------------------------- comment = Home Directories browseable = no # By default, the home directories are exported read-only. Change next # parameter to 'yes' if you want to be able to write to them. # Documentation says "readonly = no" writeable = 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 #--------------------------------------------------------------- # 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 ; writeable = no ; share modes = no #--------------------------------------------------------------- # Not sure about this yet #--------------------------------------------------------------- ;[printers] ; comment = All Printers ; browseable = no ; path = /tmp ; printable = yes ; public = no ; writeable = no ; create mode = 0700 #--------------------------------------------------------------- # A sample share for sharing your CD-ROM with others. ;[cdrom] ; comment = Samba server's CD-ROM ; writeable = no ; locking = no ; path = /cdrom ; public = 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 #--------------------------------------------------------------- # This was added to the file #--------------------------------------------------------------- [tmp] comment = Temporary file space path = /tmp # May be writeable = yes read only = no public = yes #--------------------------------------------------------------- # WINDOWS SHARES - each [section] is the name of the share # Establish connection using file manager and \\<hostname>\<sharename> # Establish connection using file manager and \\<ipaddress>\<sharename> #--------------------------------------------------------------- [Linux] comment = Root User Only guest ok = yes path = / printable = no public = yes writeable = yes # Use no mangle case for 95/98/NT mangle case = no case sensitive = yes default case = lower preserve case = yes short preserve case = yes [WINDEX] comment = Root User Only guest ok = yes path = /wdc printable = no public = yes writeable = yes # Use no mangle case for 95/98/NT mangle case = no case sensitive = no default case = lower preserve case = yes short preserve case = yes -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]