summaryrefslogtreecommitdiff
path: root/docs/faq/sambafaq.sgml
blob: b8bcf92741cbe22153c71702e9458334c3aece00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
<!doctype linuxdoc system> <!-- -*- SGML -*- -->
<!--
 v 0.5 18 Oct 1996 Dan Shearer Dan.Shearer@unisa.edu.au
	First linuxdoc-sgml version, outline only
 v 0.6 25 Oct 1996 Dan
	Filled in from current text faq

-->

<article>

<title> Samba FAQ

<author>Paul Blackman, <tt>ictinus@lake.canberra.edu.au</tt>

<date>, v 0.5

<abstract> This is the Frequently Asked Questions (FAQ) document for
Samba, the free and very popular SMB server product. An SMB server
allows file and printer connections from clients such as Windows,
OS/2, Linux and others. Current to version 1.9.16. Please send any
corrections to the author.
</abstract>

<toc>

<sect> General Information<p> <label id="general_info">

All about Samba - what it is, how to get it, related sources of
information, how to understand the version numbering scheme, pizza
details

<sect1> What is Samba? <p> <label id="introduction">

Samba is a suite of programs which work together to allow clients to
access to a server's filespace and printers via the SMB (Server
Message Block) protocol. Initially written for Unix, Samba now also
runs on Netware, OS/2 and VMS.

In practice, this means that you can redirect disks and printers to
Unix disks and printers from Lan Manager clients, Windows for
Workgroups 3.11 clients, Windows NT clients, Linux clients and OS/2
clients. There is also a generic Unix client program supplied as part
of the suite which allows Unix users to use an ftp-like interface to
access filespace and printers on any other SMB servers. This gives the
capability for these operating systems to behave much like a LAN
Server or Windows NT Server machine, only with added functionality and
flexibility designed to make life easier for administrators.

The components of the suite are (in summary):

<itemize>

<item> smbd, the SMB server. This handles actual connections from
clients, doing all the file, permission and username work

<item>nmbd, the Netbios name server, which helps clients locate
servers, doing the browsing work and managing domains as this
capability is being built into Samba

<item>smbclient, the Unix-hosted client program

<item>smbrun, a little 'glue' program to help the server run external
programs

<item>testprns, a program to test server access to printers

<item>testparms, a program to test the Samba configuration file for
correctness

<item>smb.conf, the Samba configuration file

<item> smbprint, a sample script to allow a Unix host to use smbclient
to print to an SMB server

<item> documentation! DON'T neglect to read it - you will save a great
deal of time!

</itemize>

The suite is supplied with full source (of course!) and is GPLed.

The primary creator of the Samba suite is Andrew Tridgell. Later
versions incorporate much effort by many net.helpers. The man pages
and this FAQ were originally written by Karl Auer.

<sect1> What is the current version of Samba? <p> <label id="current_version">

At time of writing, the current version was 1.9.16. If you want to be
sure check the bottom of the change-log file. <url
url="ftp://samba.anu.edu.au/pub/samba/alpha/change-log">

For more information see <ref id="version_nums" name="What do the
version numbers mean?">

<sect1> Where can I get it? <p> <label id="where">

The Samba suite is available via anonymous ftp from
samba.anu.edu.au. The latest and greatest versions of the suite are in
the directory:

/pub/samba/

Development (read "alpha") versions, which are NOT necessarily stable
and which do NOT necessarily have accurate documentation, are
available in the directory:

/pub/samba/alpha

Note that binaries are NOT included in any of the above. Samba is
distributed ONLY in source form, though binaries may be available from
other sites. Recent versions of some Linux distributions, for example,
do contain Samba binaries for that platform.

<sect1> What do the version numbers mean? <p> <label id="version_nums">

It is not recommended that you run a version of Samba with the word
"alpha" in its name unless you know what you are doing and are willing
to do some debugging. Many, many people just get the latest
recommended stable release version and are happy. If you are brave, by
all means take the plunge and help with the testing and development -
but don't install it on your departmental server. Samba is typically
very stable and safe, and this is mostly due to the policy of many
public releases.

How the scheme works:

1) when major changes are made the version number is increased. For
example, the transition from 1.9.15 to 1.9.16. However, this version
number will not appear immediately and people should continue to use
1.9.15 for production systems (see next point.)

2) just after major changes are made the software is considered
unstable, and a series of alpha releases are distributed, for example
1.9.16alpha1. These are for testing by those who know what they are
doing.  The "alpha" in the filename will hopefully scare off those who
are just looking for the latest version to install.

3) when Andrew thinks that the alphas have stabilised to the point
where he would recommend new users install it, he renames it to the
same version number without the alpha, for example 1.9.16.

4) inevitably bugs are found in the "stable" releases and minor patch
levels are released which give us the pXX series, for example
1.9.16p2.

So the progression goes:

                        1.9.15p7        (production)
                        1.9.15p8        (production)
                        1.9.16alpha1    (test sites only)
                          :
                        1.9.16alpha20   (test sites only)
                        1.9.16          (production)
                        1.9.16p1        (production)

The above system means that whenever someone looks at the samba ftp
site they will be able to grab the highest numbered release without an
alpha in the name and be sure of getting the current recommended
version.

<sect1> What platforms are supported? <p> <label id="platforms">

Many different platforms have run Samba successfully. The platforms
most widely used and thus best tested are Linux and SunOS.

At time of writing, the Makefile claimed support for:

     * SunOS
     * Linux with shadow passwords
     * Linux without shadow passwords
     * SOLARIS
     * SOLARIS 2.2 and above (aka SunOS 5)
     * SVR4
     * ULTRIX
     * OSF1 (alpha only)
     * OSF1 with NIS and Fast Crypt (alpha only)
     * OSF1 V2.0 Enhanced Security (alpha only)
     * AIX
     * BSDI
     * NetBSD
     * NetBSD 1.0
     * SEQUENT
     * HP-UX
     * SGI
     * SGI IRIX 4.x.x
     * SGI IRIX 5.x.x
     * FreeBSD
     * NeXT 3.2 and above
     * NeXT OS 2.x
     * NeXT OS 3.0
     * ISC SVR3V4 (POSIX mode)
     * ISC SVR3V4 (iBCS2 mode)
     * A/UX 3.0
     * SCO with shadow passwords.
     * SCO with shadow passwords, without YP.
     * SCO with TCB passwords
     * SCO 3.2v2 (ODT 1.1) with TCP passwords
     * intergraph
     * DGUX
     * Apollo Domain/OS sr10.3 (BSD4.3)

<sect1> How can I find out more about Samba? <p> <label id="more">

There are two mailing lists devoted to discussion of Samba-related
matters.  There is also the newsgroup, comp.protocols.smb, which has a
great deal of discussion on Samba. There is also a WWW site 'SAMBA Web
Pages' at http://samba.canberra.edu.au/pub/samba/samba.html, under
which there is a comprehensive survey of Samba users. Another useful
resource is the hypertext archive of the Samba mailing list.

Send email to listproc@samba.anu.edu.au. Make sure the subject line is
blank, and include the following two lines in the body of the message:

      subscribe samba Firstname Lastname
      subscribe samba-announce Firstname Lastname

Obviously you should substitute YOUR first name for "Firstname" and
YOUR last name for "Lastname"! Try not to send any signature stuff, it
sometimes confuses the list processor.

The samba list is a digest list - every eight hours or so it
regurgitates a single message containing all the messages that have
been received by the list since the last time and sends a copy of this
message to all subscribers.

If you stop being interested in Samba, please send another email to
listproc@samba.anu.edu.au. Make sure the subject line is blank, and
include the following two lines in the body of the message:

      unsubscribe samba
      unsubscribe samba-announce

The From: line in your message MUST be the same address you used when
you subscribed.

<sect1> Something's gone wrong - what should I do? <p> <label id="wrong">

[#] *** IMPORTANT! *** [#] 
DO NOT post messages on mailing lists or in newsgroups until you have
carried out the first three steps given here!

Firstly, see if there are any likely looking entries in this FAQ! If
you have just installed Samba, have you run through the checklist in
DIAGNOSIS.txt? It can save you a lot of time and effort.

Secondly, read the man pages for smbd, nmbd and smb.conf, looking for
topics that relate to what you are trying to do.

Thirdly, if there is no obvious solution to hand, try to get a look at
the log files for smbd and/or nmbd for the period during which you
were having problems. You may need to reconfigure the servers to
provide more extensive debugging information - usually level 2 or
level 3 provide ample debugging info. Inspect these logs closely,
looking particularly for the string "Error:".

Fourthly, if you still haven't got anywhere, ask the mailing list or
newsgroup.  In general nobody minds answering questions provided you
have followed the preceding steps. It might be a good idea to scan the
archives of the mailing list, which are available through the Samba
web site described in the previous
section.

If you successfully solve a problem, please mail the FAQ maintainer a
succinct description of the symptom, the problem and the solution, so
I can incorporate it in the next version.

If you make changes to the source code, _please_ submit these patches
so that everyone else gets the benefit of your work. This is one of
the most important aspects to the maintainence of Samba. Send all
patches to samba-bugs@samba.anu.edu.au, not Andrew Tridgell or any
other individual and not the samba team mailing list.

<sect1> Pizza supply details <p> <label id="pizza">

Those who have registered in the Samba survey as "Pizza Factory" will
already know this, but the rest may need some help. Andrew doesn't ask
for payment, but he does appreciate it when people give him
pizza. This calls for a little organisation when the pizza donor is
twenty thousand kilometres away, but it has been done.

Method 1: Ring up your local branch of an international pizza chain
and see if they honour their vouchers internationally. Pizza Hut do,
which is how the entire Canberra Linux Users Group got to eat pizza
one night, courtesy of someone in the US

Method 2: Ring up a local pizza shop in Canberra and quote a credit
card number for a certain amount, and tell them that Andrew will be
collecting it (don't forget to tell him.) One kind soul from Germany
did this.

Method 3: Purchase a pizza voucher from your local pizza shop that has
no international affiliations and send it to Andrew. It is completely
useless but he can hang it on the wall next to the one he already has
from Germany :-)

Method 4: Air freight him a pizza with your favourite regional
flavours. It will probably get stuck in customs or torn apart by
hungry sniffer dogs but it will have been a noble gesture.

<sect>Compiling and installing Samba on a Unix host<p> 
<label id="unix_install">

<sect1>I can't see the Samba server in any browse lists!<p>
<label id="no_browse">

*** Until the FAQ can be updated, please check the file:
*** ftp://samba.anu.edu.au/pub/samba/BROWSING.txt
*** for more information on browsing.

If your GUI client does not permit you to select non-browsable
servers, you may need to do so on the command line. For example, under
Lan Manager you might connect to the above service as disk drive M:
thusly:

   net use M: \\mary\fred

The details of how to do this and the specific syntax varies from
client to client - check your client's documentation.

<sect1>Some files that I KNOW are on the server doesn't show up when I
view the files from my client!<p> 
<label id="missing_files">

<sect1>Some files on the server show up with really wierd filenames when
I view the files from my client!<p> 
<label id="strange_filenames">

If you check what files are not showing up, you will note that they
are files which contain upper case letters or which are otherwise not
DOS-compatible (ie, they are not legal DOS filenames for some reason).

The Samba server can be configured either to ignore such files
completely, or to present them to the client in "mangled" form. If you
are not seeing the files at all, the Samba server has most likely been
configured to ignore them.  Consult the man page smb.conf(5) for
details of how to change this - the parameter you need to set is
"mangled names = yes".

<sect1>My client reports "cannot locate specified computer" or similar<p> 
<label id="cant_see_server">

This indicates one of three things: You supplied an incorrect server
name, the underlying TCP/IP layer is not working correctly, or the
name you specified cannot be resolved.

After carefully checking that the name you typed is the name you
should have typed, try doing things like pinging a host or telnetting
to somewhere on your network to see if TCP/IP is functioning OK. If it
is, the problem is most likely name resolution.

If your client has a facility to do so, hardcode a mapping between the
hosts IP and the name you want to use. For example, with Man Manager
or Windows for Workgroups you would put a suitable entry in the file
LMHOSTS. If this works, the problem is in the communication between
your client and the netbios name server. If it does not work, then
there is something fundamental wrong with your naming and the solution
is beyond the scope of this document.

If you do not have any server on your subnet supplying netbios name
resolution, hardcoded mappings are your only option. If you DO have a
netbios name server running (such as the Samba suite's nmbd program),
the problem probably lies in the way it is set up. Refer to Section
Two of this FAQ for more ideas.

By the way, remember to REMOVE the hardcoded mapping before further
tests :-)     

<sect1>My client reports "cannot locate specified share name" or
similar<p> 
<label id="cant_see_share">

This message indicates that your client CAN locate the specified
server, which is a good start, but that it cannot find a service of
the name you gave.

The first step is to check the exact name of the service you are
trying to connect to (consult your system administrator). Assuming it
exists and you specified it correctly (read your client's doco on how
to specify a service name correctly), read on:

     * Many clients cannot accept or use service names longer than
eight
         characters.
     * Many clients cannot accept or use service names containing
spaces.
     * Some servers (not Samba though) are case sensitive with service
names.
     * Some clients force service names into upper case.

<sect1>My client reports "cannot find domain controller", "cannot log
on to the network" or similar <p> 
<label id="cant_see_net">

Nothing is wrong - Samba does not implement the primary domain name
controller stuff for several reasons, including the fact that the
whole concept of a primary domain controller and "logging in to a
network" doesn't fit well with clients possibly running on multiuser
machines (such as users of smbclient under Unix). Having said that,
several developers are working hard on building it in to the next
major version of Samba. If you can contribute, send a message to
samba-bugs!

Seeing this message should not affect your ability to mount redirected
disks and printers, which is really what all this is about.

For many clients (including Windows for Workgroups and Lan Manager),
setting the domain to STANDALONE at least gets rid of the message.

<sect1>Printing doesn't work :-(<p> <label id="no_printing">

Make sure that the specified print command for the service you are
connecting to is correct and that it has a fully-qualified path (eg.,
use "/usr/bin/lpr" rather than just "lpr").

Make sure that the spool directory specified for the service is
writable by the user connected to the service. In particular the user
"nobody" often has problems with printing, even if it worked with an
earlier version of Samba. Try creating another guest user other than
"nobody".

Make sure that the user specified in the service is permitted to use
the printer.

Check the debug log produced by smbd. Search for the printer name and
see if the log turns up any clues. Note that error messages to do with
a service ipc$ are meaningless - they relate to the way the client
attempts to retrieve status information when using the LANMAN1
protocol.

If using WfWg then you need to set the default protocol to TCP/IP, not
Netbeui. This is a WfWg bug.

If using the Lanman1 protocol (the default) then try switching to
coreplus.  Also not that print status error messages don't mean
printing won't work. The print status is received by a different
mechanism.

<sect1>My programs install on the server OK, but refuse to work properly<p>
<label id="programs_wont_run">

There are numerous possible reasons for this, but one MAJOR
possibility is that your software uses locking. Make sure you are
using Samba 1.6.11 or later. It may also be possible to work around
the problem by setting "locking=no" in the Samba configuration file
for the service the software is installed on. This should be regarded
as a strictly temporary solution.

In earlier Samba versions there were some difficulties with the very
latest Microsoft products, particularly Excel 5 and Word for Windows
6. These should have all been solved. If not then please let Andrew
Tridgell know.

<sect1>My "server string" doesn't seem to be recognised<p>
<label id="bad_server_string">

my client reports the default setting, eg. "Samba 1.9.15p4", instead
of what I have changed it to in the smb.conf file.

You need to use the -C option in nmbd. The "server string" affects
what smbd puts out and -C affects what nmbd puts out. In a future
version these will probably be combined and -C will be removed, but
for now use -C

<sect1>My client reports "This server is not configured to list shared
resources" <p> <label id="cant_list_shares">

Your guest account is probably invalid for some reason. Samba uses the
guest account for browsing in smbd.  Check that your guest account is
valid.

See also 'guest account' in smb.conf man page.

<sect1>Log message "you appear to have a trapdoor uid system" <p>
<label id="trapdoor_uid">

This can have several causes. It might be because you are using a uid
or gid of 65535 or -1. This is a VERY bad idea, and is a big security
hole. Check carefully in your /etc/passwd file and make sure that no
user has uid 65535 or -1. Especially check the "nobody" user, as many
broken systems are shipped with nobody setup with a uid of 65535.

It might also mean that your OS has a trapdoor uid/gid system :-)

This means that once a process changes effective uid from root to
another user it can't go back to root. Unfortunately Samba relies on
being able to change effective uid from root to non-root and back
again to implement its security policy. If your OS has a trapdoor uid
system this won't work, and several things in Samba may break. Less
things will break if you use user or server level security instead of
the default share level security, but you may still strike
problems.

The problems don't give rise to any security holes, so don't panic,
but it does mean some of Samba's capabilities will be unavailable.
In particular you will not be able to connect to the Samba server as
two different uids at once. This may happen if you try to print as a
"guest" while accessing a share as a normal user. It may also affect
your ability to list the available shares as this is normally done as
the guest user.

Complain to your OS vendor and ask them to fix their system.

Note: the reason why 65535 is a VERY bad choice of uid and gid is that
it casts to -1 as a uid, and the setreuid() system call ignores (with
no error) uid changes to -1. This means any daemon attempting to run
as uid 65535 will actually run as root. This is not good!

<sect>Common client questions<p> <label id="client_questions">

<sect1>Are any Macintosh clients for Samba<p> <label id="mac_clients">

In Rob Newberry's words (rob@eats.com, Sun, 4 Dec 1994):

The answer is "No." Samba speaks SMB, the protocol used for Microsoft
networks.  The Macintosh has ALWAYS spoken Appletalk. Even with
Microsoft "services for Macintosh", it has been a matter of making the
server speak Appletalk. It is the same for Novell Netware and the
Macintosh, although I believe Novell has (VERY LATE) released an
extension for the Mac to let it speak IPX.

In future Apple System Software, you may see support for other
protocols, such as SMB -- Applet is working on a new networking
architecture that will --> -- make it easier to support additional
protocols. But it's not here yet.

Now, the nice part is that if you want your Unix machine to speak
Appletalk, there are several options. "Netatalk" and "CAP" are free,
and available on the net. There are also several commercial options,
such as "PacerShare" and "Helios" (I think). In any case, you'll have
to look around for a server, not anything for the Mac.

Depending on you OS, some of these may not help you. I am currently
coordinating the effort to get CAP working with Native Ethertalk under
Linux, but we're not done yet.


<sect1>"Session request failed (131,130)" error<p> <label id="sess_req_fail">

The following answer is provided by John E. Miller:

I'll assume that you're able to ping back and forth between the
machines by IP address and name, and that you're using some security
model where you're confident that you've got user IDs and passwords
right.  The logging options (-d3 or greater) can help a lot with that.
DNS and WINS configuration can also impact connectivity as well.

Now, on to 'scope id's.  Somewhere in your Win95 TCP/IP network
configuration (I'm too much of an NT bigot to know where it's located
in the Win95 setup, but I'll have to learn someday since I teach for a
Microsoft Solution Provider Authorized Tech Education Center - what an
acronym...) [Note: It's under Control Panel | Network | TCP/IP | WINS
Configuration] there's a little text entry field called something like
'Scope ID'.

This field essentially creates 'invisible' sub-workgroups on the same
wire.  Boxes can only see other boxes whose Scope IDs are set to the
exact same value - it's sometimes used by OEMs to configure their
boxes to browse only other boxes from the same vendor and, in most
environments, this field should be left blank.  If you, in fact, have
something in this box that EXACT value (case-sensitive!) needs to be
provided to smbclient and nmbd as the -i (lowercase) parameter. So, if
your Scope ID is configured as the string 'SomeStr' in Win95 then
you'd have to use smbclient -iSomeStr [otherparms] in connecting to
it.

<sect1>How do I synchronise my PC's clock with my Samba server? <p>
<label id="synchronise_clock">

To syncronize your PC's clock with your Samba server:

* Copy timesync.pif to your windows directory
  * timesync.pif can be found at:
    http://samba.canberra.edu.au/pub/samba/binaries/miscellaneous/timesync.pif
* Add timesync.pif to your 'Start Up' group/folder
* Open the properties dialog box for the program/icon
  * Make sure the 'Run Minimized' option is set in program
'Properties'
  * Change the command line section that reads \\sambahost to reflect
the name
    of your server.
* Close the properties dialog box by choosing 'OK'

Each time you start your computer (or login for Win95) your PC will
synchronize it's clock with your Samba server.

<sect1>Problems with WinDD, NTrigue, WinCenterPro etc<p>
<label id="multiple_session_clients">

All of the above programs are applications that sit on an NT box and
allow multiple users to access the NT GUI applications from remote
workstations (often over X).

What has this got to do with Samba? The problem comes when these users
use filemanager to mount shares from a Samba server. The most common
symptom is that the first user to connect get correct file permissions
and has a nice day, but subsequent connections get logged in as the
same user as the first person to login. They find that they cannot
access files in their own home directory, but that they can access
files in the first users home directory (maybe not such a nice day
after all?)

Why does this happen? The above products all share a common heritage
(and code base I believe). They all open just a single TCP based SMB
connection to the Samba server, and requests from all users are piped
over this connection. This is unfortunate, but not fatal.

It means that if you run your Samba server in share level security
(the default) then things will definately break as described
above. The share level SMB security model has no provision for
multiple user IDs on the one SMB connection. See security_level.txt in
the docs for more info on share/user/server level security.

If you run in user or server level security then you have a chance,
but only if you have a recent version of Samba (at least 1.9.15p6). In
older versions bugs in Samba meant you still would have had problems.

If you have a trapdoor uid system in your OS then it will never work
properly. Samba needs to be able to switch uids on the connection and
it can't if your OS has a trapdoor uid system. You'll know this
because Samba will note it in your logs.

Also note that you should not use the magic "homes" share name with
products like these, as otherwise all users will end up with the same
home directory. Use \\server\username instead.

<sect1>Problem with printers under NT<p> <label id="nt_printers">

This info from Stefan Hergeth
hergeth@f7axp1.informatik.fh-muenchen.de may be useful:

 A network-printer (with ethernetcard) is connected to the NT-Clients
via our UNIX-Fileserver (SAMBA-Server), like the configuration told by
 Matthew Harrell harrell@leech.nrl.navy.mil (see WinNT.txt)

 1.) If a user has choosen this printer as the default printer in his
     NT-Session and this printer is not connected to the network
     (e.g. switched off) than this user has a problem with the SAMBA-
     connection of his filesystems. It's very slow.

 2.) If the printer is connected to the network everything works fine.

 3.) When the smbd ist started with debug level 3, you can see that
the
     NT spooling system try to connect to the printer many times. If
the
     printer ist not connected to the network this request fails and
the
     NT spooler is wasting a lot of time to connect to the printer
service.
     This seems to be the reason for the slow network connection.

 4.) Maybe it's possible to change this behaviour by setting different
printer properties in the Print-Manager-Menu of NT, but i didn't try
it yet.

<sect1>Why are my file's timestamps off by an hour, or by a few hours?<p>
<label id="dst_bugs">

This is from Paul Eggert eggert@twinsun.com.

Most likely it's a problem with your time zone settings.

Internally, Samba maintains time in traditional Unix format,
namely, the number of seconds since 1970-01-01 00:00:00 Universal Time
(or ``GMT''), not counting leap seconds.

On the server side, Samba uses the Unix TZ variable to convert
internal
timestamps to and from local time.  So on the server side, there are
two
things to get right.

        1.  The Unix system clock must have the correct Universal
time.
        Use the shell command "sh -c 'TZ=UTC0 date'" to check this.

        2.  The TZ environment variable must be set on the server
        before Samba is invoked.  The details of this depend on the
        server OS, but typically you must edit a file whose name is
        /etc/TIMEZONE or /etc/default/init, or run the command `zic
-l'.

        3.  TZ must have the correct value.

                3a.  If possible, use geographical time zone settings
                (e.g. TZ='America/Los_Angeles' or perhaps
                TZ=':US/Pacific').  These are supported by most
                popular Unix OSes, are easier to get right, and are
                more accurate for historical timestamps.  If your
                operating system has out-of-date tables, you should be
                able to update them from the public domain time zone
                tables at URL:ftp://elsie.nci.nih.gov/pub/.

                3b.  If your system does not support geographical time
zone
                settings, you must use a Posix-style TZ strings, e.g.
                TZ='PST8PDT,M4.1.0/2,M10.5.0/2' for US Pacific time.
                Posix TZ strings can take the following form (with
optional
                items in brackets):

                        StdOffset[Dst[Offset],Date/Time,Date/Time]

                where:

                        `Std' is the standard time designation
(e.g. `PST').

                        `Offset' is the number of hours behind UTC
(e.g. `8').
                        Prepend a `-' if you are ahead of UTC, and
                        append `:30' if you are at a half-hour offset.
                        Omit all the remaining items if you do not use
                        daylight-saving time.

                        `Dst' is the daylight-saving time designation
                        (e.g. `PDT').

                        The optional second `Offset' is the number of
                        hours that daylight-saving time is behind UTC.
                        The default is 1 hour ahead of standard time.

                        `Date/Time,Date/Time' specify when
daylight-saving
                        time starts and ends.  The format for a date
is
                        `Mm.n.d', which specifies the dth day (0 is
Sunday)
                        of the nth week of the mth month, where week 5
means
                        the last such day in the month.  The format
for a
                        time is [h]h[:mm[:ss]], using a 24-hour clock.

                Other Posix string formats are allowed but you don't
want
                to know about them.

On the client side, you must make sure that your client's clock and
time zone is also set appropriately.  [[I don't know how to do this.]]
Samba traditionally has had many problems dealing with time zones, due
to the bizarre ways that Microsoft network protocols handle time
zones.  A common symptom is for file timestamps to be off by an hour.
To work around the problem, try disconnecting from your Samba server
and then reconnecting to it; or upgrade your Samba server to
1.9.16alpha10 or later.

<sect1> How do I set the printer driver name correctly? <p>
<label id="printer_driver_name">

Question:
> On NT, I opened "Printer Manager" and "Connect to Printer".
> Enter "\\ptdi270\ps1" in the box of printer. I got the
> following error message:
>
>     You do not have sufficient access to your machine
>     to connect to the selected printer, since a driver
>     needs to be installed locally.

Answer:

In the more recent versions of Samba you can now set the "printer
driver" in smb.conf. This tells the client what driver to use. For
example, I have:

     printer driver = HP LaserJet 4L

and NT knows to use the right driver. You have to get this string
exactly right.

To find the exact string to use, you need to get to the dialog box in
your client where you select which printer driver to install. The
correct strings for all the different printers are shown in a listbox
in that dialog box.

You could also try setting the driver to NULL like this:

     printer driver = NULL

this is effectively what older versions of Samba did, so if that
worked for you then give it a go. If this does work then let me know
and I'll make it the default. Currently the default is a 0 length
string.

<sect>Specific client application problems<p> <label id="client_problems">

<sect1>MS Office Setup reports "Cannot change properties of "\MSOFFICE\SETUP.INI"<p> 
<label id="cant_change_properties">

When installing MS Office on a Samba drive for which you have admin
user permissions, ie. admin users = username, you will find the
setup program unable to complete the installation.

To get around this problem, do the installation without admin user
permissions The problem is that MS Office Setup checks that a file is
rdonly by trying to open it for writing.

Admin users can always open a file for writing, as they run as root.
You just have to install as a non-admin user and then use "chown -R"
to fix the owner.

<sect>Miscellaneous<p> <label id="miscellaneous">


</article>