On Sunday 28 December 2003 23:23, Merlin Zener wrote:
> Hi all,
>
> I'm having another go at trying to get my Mandrake desktop to talk
> to my WIN2K laptop. I tried a while back but gave up.
> I think I'm confusing the basic concepts here - I had the
> impression that I had to use Samba, but just now tonight I've just
> been reading some help pages and they seem to only talk about using
> Samba for windows users to log on to the Linux box. Am I trying to
> use the wrong tool for the job?
>
No, you're not.  Samba allows linux/unix and windows systems to 
communicate - in both directions.  If you want to be able to move 
files in both directions you will need both boxes to be both server 
and client.

On the linux box you must add accounts for each windows user that 
needs to access, making sure that you have the network name, user 
account login name and password identical to the windows account - 
and don't forget that it is case-sensitive.

> My logic would seem to tell me that I have to have a username and
> password set up on the WIN2K box so I made one, but I can't find
> anywhere in Samba to specify the new username and password. I found
> a Wiki page on "Samba basics" which says "WebMin and SWAT both have
> methods for dealing with this, and are easy enough to use that I
> won't cover them." Well that sounded encouraging, so I installed
> Webmin. After much stuffing around and seemingly downloading the
> same set of files 4 times I got Webmin running [don't ask me
> how...]. But in the Samba Share Manager page the only thing I can
> see that is relevant is the link "Edit Samba users and passwords".
> But clicking on that only gives me the message "No Samba users
> defined" - without giving any hint as to how to define them.
>
In webmin you can 'convert unix users to samba users'.  You will then 
need to check each user account and make sure that you have selected 
to use a password, and defined the password.

The other way is to use a root console with the command
smbpasswd -a user_name  which will then ask for a new password.

> I did some more reading and googling without finding a helpful
> instruction page [man Samba doesn't help much, for example! LOL].
> Before I go any further I thought I'd better check in with you guys
> - to get back to the question at the top of this email: am I using
> the wrong tool? [or trying to...]
>
There is an excellent O'Reilly book called Using Samba, which is 
available for download.  It is meaty, though.  I used it a lot when I 
was learning how to set samba up.  There is also a diagnostic set 
originally designed by Andrew Tridgell, to which I have added some 
comments to cover the fact that some commands have changed over the 
years.  A copy is attached.  HTH

Anne
-- 
Registered Linux User No.293302
Have you visited http://twiki.mdklinuxfaq.org yet?
In some of the following tests I have commented alternative commands that seem to be 
needed with later versions of Samba.  It appears that nmb -L is replaced by nmblookup.



DIAGNOSING YOUR SAMBA SERVER

This file contains a list of tests you can perform to validate your Samba server. It 
also tells you what the likely cause of the problem is if it fails any one of these 
steps. If it passes all these tests then it is probably working fine.

You should do ALL the tests, in the order shown. I have tried to carefully choose them 
so later tests only use capabilities verified in the earlier tests.

I would welcome additions to this set of tests. Please mail them to [EMAIL PROTECTED]

If you send me an email saying "it doesn't work" and you have not followed this test 
procedure then you should not be surprised if I ignore your email.

ASSUMPTIONS
-----------
In all of the tests I assume you have a Samba server called BIGSERVER and a PC called 
ACLIENT. I also assume the PC is running windows for workgroups with a recent copy of 
the microsoft tcp/ip stack. The procedure is similar for other types of clients.

I also assume you know the name of a available share in your smb_conf. I will assume 
this share is called "tmp". You can add a "tmp" share like by adding the following to 
smb_conf: 

[tmp]
 comment = temporary files 
 path = /tmp
 read only = yes

These tests also assume version 1.9.14 or later of the samba suite. If you have 
version 1.9.13 then see "NOTE 1" below.


TEST 1:
-------
run the command "testparm". If it reports any errors then your
smb_conf configuration file is faulty.


TEST 2:
-------
run the command "ping BIGSERVER" from the PC and "ping ACLIENT" from the unix box. If 
you don't get a valid response then your TCP/IP software is not correctly installed. 

Note that you will need to start a "dos prompt" window on the PC to run ping.

If you get a message saying "host not found" or similar then your DNS software or 
/etc/hosts file is not correctly setup. It is possible to run samba without DNS 
entries for the server and client, but I assume you do have correct entries for the 
remainder of these tests.

TEST 3:
-------
run the command "smbclient -L BIGSERVER -U%" on the unix box. You should get a list of 
available shares back. 

If you get a error message containing the string "Bad password" then you probably have 
either an incorrect "hosts allow", "hosts deny" or "valid users" line in your 
smb_conf, or your guest account is not valid. Check what your guest account is using 
"testparm" and temporarily remove any "hosts allow", "hosts deny", "valid users" or 
"invalid users" lines.

If you get a "connection refused" response then the smbd server could not be run. If 
you installed it in inetd.conf then you probably edited that file incorrectly. If you 
installed it as a daemon then check that it is running, and check that the netbios-ssn 
port is in a LISTEN state using "netstat -a".

TEST 4:         ; try nmblookup -B BIGSERVER __SAMBA__
-------
run the command "nmbd -L __SAMBA__ -B BIGSERVER". You should get a bunch of info back 
including the string "got a positive name query response". You should also see a 
message "got a positive node status response" and below that a list of netbios names. 
The name BIGSERVER
should be included in that list.

If you don't then nmbd is incorrectly installed. Check your inetd.conf if you run it 
from there, or that the daemon is running and listening to udp port 137.

One common problem is that many inetd implementations can't take many parameters on 
the command line. If this is the case then create a one-line script that contains the 
right parameters and run that from inetd.

TEST 5:         ; try nmblookup -B ACLIENT
-------
run the command "nmbd -L '*' -B ACLIENT"

You should get a "positive name query response" from the PC. If you don't then the 
client software on the PC isn't installed correctly, or isn't started, or you got the 
name of the PC wrong. Note that you probably won't get a "node status response" from 
the PC due to a bug in the microsoft netbios nameserver implementation (it responds to 
the wrong port number).

TEST 6:
-------
run the command "nmbd -L '*'"   ;try nmblookup -d 2 '*'

This time we are trying the same as the previous test but are trying it via a 
broadcast to the default broadcast address. All Netbios/TCPIP hosts on the network 
should respond, although Samba may not catch all of the responses in the short time it 
listens.

If this doesn't give a similar result to the previous test then nmbd isn't correctly 
getting your broadcast address through its automatic mechanism. In this case you 
should experiment with the -B option which allows you to manually specify the 
broadcast address, overriding the automatic detection. You should try different 
broadcast addresses until your find the one that works. It will most likely be 
something like a.b.c.255 as microsoft tcpip stacks only listen on 1's based broadcast 
addresses. If you get stuck then ask your local networking guru for help (and show 
them this paragraph).

If you find you do need the -B option (ie. the automatic detection doesn't work) then 
you should add the -B option with the right broadcast address for your network to the 
command line of nmbd in
inetd.conf or in the script you use to start nmbd as a daemon. Once you do this go 
back to the "nmbd -L __SAMBA__ -B BIGSERVER" test to make sure you have it running 
properly.

If your PC and server aren't on the same subnet then you will need to use the -B 
option to set the broadcast address to the that of the PCs subnet.

TEST 7:         ;Does not work on later versions, No new command found.
-------
run the command "nmbd -M -" 

this should find a master browser on your network. If you don't have one then browsing 
won't work with samba. See the file BROWSING.txt for details. Note that you may need 
the -B option to the command if the previous test showed that the default broadcast is 
incorrect.

TEST 8:
-------
run the command "smbclient '\\BIGSERVER\TMP'". You should then be prompted for a 
password. You should use the password of the account you are logged into the unix box 
with. If you want to test with another account then add the -U <accountname> option to 
the command
line. 

Once you enter the password you should get the "smb>" prompt. If you don't then look 
at the error message. If it says "invalid network name" then the service "tmp" is not 
correctly setup in your smb_conf. 

If it says "bad password" then the likely causes are:

- you have shadow passords (or some other password system) but didn't   compile in 
support for                              them in smbd
- your "valid users" configuration is incorrect
- you have a mixed case password and you haven't enabled the "password   level" option 
at a high enough level
- the "path =" line in smb_conf is incorrect. Check it with testparm

Once connected you should be able to use the commands "dir" "get" "put" etc. Type 
"help <command>" for instructions. You should especially check that the amount of free 
disk space shown is correct when you type "dir".

TEST 9:
-------
On the PC type the command "net view \\BIGSERVER". You will need to do this from 
within a "dos prompt" window. You should get back a list of available shares on the 
server.

If you get a "network name not found" or similar error then netbios name resolution is 
not working. This is usually caused by a problem in particular, make sure your "hosts 
allow" line is correct (see the man pages)

- fixup the nmbd installation
- add the IP address of BIGSERVER to the "wins server" box in the advanced tcp/ip 
setup on the PC.
- enable windows name resolution via DNS in the advanced section of   the tcp/ip setup
- add BIGSERVER to your lmhosts file on the PC.

If you get a "invalid network name" or "bad password error" then the same fixes apply 
as they did for the "smbclient -L" test above. In particular, make sure your "hosts 
allow" line is correct (see the man pages)


TEST 10:                ; leave out the x:
--------
run the command "net use x: \\BIGSERVER\TMP". You should be prompted for a password 
then you should get a "command completed successfully" message. If not then your PC 
software is incorrectly installed or your smb_conf is incorrect. make sure your "hosts 
allow" and other config
lines in smb_conf are correct. 

It's also possible that the server can't work out what user name to connect you as. To 
see if this is the problem add the line "user = USERNAME" to the [tmp] section of 
smb_conf where "USERNAME" is the username corresponding to the password you typed. If 
you find this
fixes things you may need the username mapping option.

TEST 11:
--------
>From file manager try to browse the server. Your samba server should appear in the 
>browse list of your local workgroup (or the one you specified in the Makefile). You 
>should be able to double click on the name of the server and get a list of shares. If 
>you get a "invalid password" error when you do then you are probably running WinNT 
>and it is refusing to browse a server that has no encrypted password capability and 
>is in user level security mode.

Still having troubles?
----------------------
Try the mailing list or newsgroup, or use the tcpdump-smb utility to sniff the problem.

ADDITIONAL NOTES
----------------
NOTE 1: 
If you have version 1.9.13 of Samba then the "nmbd -L ACLIENT -B ACLIENT" test may 
fail if your client doesn't export any shares. To fix this either export a share or 
change the "lookup_type" in nameserv.c from ' ' to 0 and recompile.

Also the "wildcard" lookup capability used in the command "nmbd -L '*'" was only added 
in 1.9.14. If you have 1.9.13 then use a clients netbios name instead (for example 
"nmbd -L ACLIENT").

http://www.rtr.com/win95pak/sambadiag.htm
Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to