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]

Reply via email to