2b54c6fa0f19c93520135d0d218a012c0e563fe3
[kai/samba.git] / docs / faq / Samba-meta-FAQ.sgml
1 <!doctype linuxdoc system> <!-- -*- SGML -*- -->
2 <!--
3  v 0.1 23 Aug 1997      Dan Shearer 
4                         Original Samba-meta-FAQ.sgml from Paul's sambafaq.sgml
5  v 0.2 25 Aug 1997      Dan   
6 -->
7
8 <article>
9
10 <title> Samba meta FAQ
11
12 <author>Dan Shearer & Paul Blackman, <tt>ictinus@lake.canberra.edu.au</tt>
13
14 <date>v 0.1, 23 Aug '97
15
16 <abstract> This is the meta-Frequently Asked Questions (FAQ) document
17 for Samba, the free and very popular SMB and CIFS server product. It
18 contains overview information for the Samba suite of programs, a
19 quick-start guide, and pointers to all other Samba documentation. Other
20 FAQs exist for specific client and server issues, and HOWTO documents
21 for more extended topics to do with Samba software. Current to version
22 Samba 1.9.17. Please send any corrections to the author. 
23 </abstract>
24
25 <toc>
26
27 <sect> Quick Reference Guides to Samba Documentation<p><label id=quickref>
28
29 We are endeavouring to provide links here to every major class of
30 information about Samba or things related to Samba. We cannot list every
31 document, but we are aiming for all documents to be at most two
32 referrals from those listed here. This needs constant maintaining, so
33 please send the author your feedback.
34
35 <sect1> Samba for the Impatient<p><label id="impatient">
36
37 You know you should read the documentation but can't wait to start? What
38 you need to do then is follow the instructions in the following
39 documents in the order given. This should be enough to get a fairly
40 simple site going quickly. If you have any problems, refer back to this
41 meta-FAQ and follow the links to find more reading material.
42
43 <descrip>
44
45 <label id="ImpGet"><tag/Getting Samba:/ The fastest way to get Samba
46 going is and install it is to have an operating system for which the
47 Samba team has put together an installation package. To see if your OS
48 is included have a look at the directory
49 /pub/samba/Binary_Packages/"OS_Vendor" on your nearest <url
50 url="../MIRRORS" name="mirror site">. If it is included follow the
51 installation instructions in the README file there and then do some <ref id="ImpTest"
52 name="basic testing">. If you are not so fortunate, follow the normal <ref
53 id="WhereFrom" name="download instructions"> and then continue with <ref
54 id="ImpInst" name="building and installing Samba">.
55
56 <label id="ImpInst"><tag/Building and Installing Samba:/ At the moment
57 there are two kinds of Samba server installs besides the prepackaged
58 binaries mentioned in the previous step. You need to decide if you have a <url url="../UNIX_INSTALL.txt"
59 name="Unix or close relative"> or <url
60 url="Samba-Server-FAQ.html#PortInfo" name="other supported operating system">.
61
62 <label id="ImpTest"><tag/Basic Testing:/ Try to connect using the
63 supplied smbclient command-line program. You need to know the IP
64 hostname of your server. A service name must be defined in smb.conf, as
65 given in the examples (under many operating systems if there is a
66 [homes] service you can just use a valid username.) Then type
67 <tt>
68         smbclient \\hostname\servicename
69 </tt>
70 Under most Unixes you will need to put the parameters within quotation
71 marks. If this works, try connecting from one of the SMB clients you
72 were planning to use with Samba.
73
74 <label id="ImpDebug"><tag/Debug sequence:/ If you think you have completed the 
75 previous step and things aren't working properly work through 
76 <url url="../DIAGNOSIS.txt" name="the diagnosis recipe.">
77
78 <label id="ImpExp"><tag/Exporting files to SMB clients:/ You should read the manual pages
79 for smb.conf, but here is a <url url="Samba-Server-FAQ.html#Exporting"
80 name="quick answer guide.">
81
82 <label id="ImpControl"><tag/Controlling user access:/ the quickest and dirtiest way of sharing
83 resources is to use <ref id="ShareModeSecurity" name="share level
84 security."> If you want to spend more time and have a proper username
85 and password database you must read the paragraph on <ref
86 id="DomainModeSecurity" name="domain mode security."> If you want
87 encryption (eg you are using Windows NT clients) follow the <url
88 url="Samba-Server-FAQ.html#SMBEncryptionSteps" name="SMB encryption
89 instructions.">
90
91 <label id="ImpBrowse"><tag/Browsing:/ if you are happy to type in "\\samba-server\sharename"
92 at the client end then do not read any further. Otherwise you need to
93 understand the <ref id="BrowsingDefinitions" name="browsing terminology">
94 and read <url url="Samba-Server-FAQ.html#NameBrowsing">. 
95
96 <label id="ImpPrint"><tag/Printing:/ See the <url url="Samba-Server-FAQ.html#Printing"
97 name="printing quick answer guide.">
98
99 </descrip>
100
101 If you have got everything working to this point, you can expect Samba
102 to be stable and secure: these are its greatest strengths. However Samba
103 has a great deal to offer and to go further you must do some more
104 reading. Speed and security optimisations, printer accounting, network
105 logons, roving profiles, browsing across multiple subnets and so on are
106 all covered either in this document or in those it refers to.
107
108 <sect1> All Samba Documentation<p><label id=AllDocs>
109
110 <itemize>
111
112 <item> Meta-FAQ. This is the mother of all documents, and is the one you
113 are reading now. The latest version is always at <url
114 url="http://samba.anu.edu.au/[.....]"> but there is probably a much
115 nearer <url url="../MIRRORS" name="mirror site"> which you should use
116 instead.
117
118 <item> <url url="Samba-Server-FAQ.html"> is the best starting point for
119 information about server-side issues. Includes configuration tips and
120 pointers for Samba on particular operating systems (with 40 to choose
121 from...)
122
123 <item> <url url="Samba-Client-FAQ.html"> is the best starting point for
124 information about client-side issues, includes a list of all clients
125 that are known to work with Samba.
126
127 <item> <url url="samba-man-index.html" name="manual pages"> contains
128 descriptions of and links to all the Samba manual pages, in Unix man and
129 postscript format.
130
131 <item> <url url="samba-txt-index.html"> has descriptions of and links to
132 a large number of text files have been contributed to samba covering
133 many topics. These are gradually being absorbed into the FAQs and HOWTOs
134 but in the meantime you might find helpful answers here.
135
136 <item> 
137
138 </itemize>
139
140 <sect> General Information<p><label id="general_info">
141
142 All about Samba - what it is, how to get it, related sources of
143 information, how to understand the numbering scheme, pizza
144 details.
145
146 <sect1> What is Samba?<p><label id="introduction">
147
148 Samba is a suite of programs which work together to allow clients to
149 access to a server's filespace and printers via the SMB (Server Message
150 Block) and CIFS (Common Internet Filesystem) protocols. Initially
151 written for Unix, Samba now also runs on Netware, OS/2, VMS, StratOS and
152 Amigas. Ports to BeOS and other operating systems are underway. Samba
153 gives the capability for these operating systems to behave much like a
154 LAN Server, Windows NT Server or Pathworks machine, only with added
155 functionality and flexibility designed to make life easier for
156 administrators. 
157
158 This means that using Samba you can share a server's disks and printers
159 to many sorts of network clients, including Lan Manager, Windows for
160 Workgroups, Windows NT, Linux, OS/2, and AIX. There is also a generic
161 client program supplied as part of the Samba suite which gives a user on
162 the server an ftp-like interface to access filespace and printers on any
163 other SMB/CIFS servers.
164
165 SMB has been implemented over many protocols, including XNS, NBT, IPX,
166 NetBEUI and TCP/IP. Samba only uses TCP/IP. This is not likely to change
167 although there have been some requests for NetBEUI support.
168
169 Many users report that compared to other SMB implementations Samba is
170 more stable, faster, and compatible with more clients. Administrators of
171 some large installations say that Samba is the only SMB server available
172 which will scale to many tens of thousands of users without crashing.
173 The easy way to test these claims is to download it and try it for
174 yourself!
175
176 The suite is supplied with full source code under the <url
177 url="../COPYING" name="GNU Public License">. The GPL means that you can
178 use Samba for whatever purpose you wish (including changing the source
179 or selling it for money) but under all circumstances the source code
180 must be made freely available. A copy of the GPL must always be included
181 in any copy of the package.
182
183 The primary creator of the Samba suite is Andrew Tridgell. Later
184 versions incorporate much effort by many net.helpers. The man pages
185 and this FAQ were originally written by Karl Auer.
186
187 <sect1> What is the current version of Samba?<p><label id="current_version">
188
189 At time of writing, the current version was 1.9.17. If you want to be
190 sure check the bottom of the change-log file. <url url="ftp://samba.anu.edu.au/pub/samba/alpha/change-log">
191
192 For more information see <ref id="version_nums" name="What do the version numbers mean?">
193
194 <sect1> Where can I get it? <p><label id="WhereFrom">
195
196 The Samba suite is available via anonymous ftp from samba.anu.edu.au and
197 many <url url="../MIRRORS" name="mirror"> sites. You will get much
198 faster performance if you use a mirror site. The latest and greatest
199 versions of the suite are in the directory:
200
201 /pub/samba/
202
203 Development (read "alpha") versions, which are NOT necessarily stable
204 and which do NOT necessarily have accurate documentation, are available
205 in the directory:
206
207 /pub/samba/alpha
208
209 Note that binaries are NOT included in any of the above. Samba is
210 distributed ONLY in source form, though binaries may be available from
211 other sites. Most Linux distributions, for example, do contain Samba
212 binaries for that platform. The VMS, OS/2, Netware and Amiga and other
213 ports typically have binaries made available.
214
215 A special case is vendor-provided binary packages. Samba binaries and
216 default configuration files are put into packages for a specific
217 operating system. RedHat Linux and Sun Solaris (Sparc and x86) is
218 already included, and others such as OS/2 may follow. All packages are
219 in the directory:
220
221 /pub/samba/Binary_Packages/"OS_Vendor"
222
223 <sect1>What do the version numbers mean?<p><label id="version_nums">
224
225 It is not recommended that you run a version of Samba with the word
226 "alpha" in its name unless you know what you are doing and are willing
227 to do some debugging. Many, many people just get the latest
228 recommended stable release version and are happy. If you are brave, by
229 all means take the plunge and help with the testing and development -
230 but don't install it on your departmental server. Samba is typically
231 very stable and safe, and this is mostly due to the policy of many
232 public releases.
233
234 How the scheme works:
235
236 <enum>
237
238 <item>When major changes are made the version number is increased. For
239 example, the transition from 1.9.16 to 1.9.17. However, this version
240 number will not appear immediately and people should continue to use
241 1.9.15 for production systems (see next point.)
242
243 <item>Just after major changes are made the software is considered
244 unstable, and a series of alpha releases are distributed, for example
245 1.9.16alpha1. These are for testing by those who know what they are
246 doing.  The "alpha" in the filename will hopefully scare off those who
247 are just looking for the latest version to install.
248
249 <item>When Andrew thinks that the alphas have stabilised to the point
250 where he would recommend new users install it, he renames it to the
251 same version number without the alpha, for example 1.9.17.
252
253 <item>Inevitably bugs are found in the "stable" releases and minor patch
254 levels are released which give us the pXX series, for example 1.9.17p2.
255
256 </enum>
257
258 So the progression goes:
259
260 <verb>
261                 1.9.16p10       (production)
262                 1.9.16p11       (production)
263                 1.9.17alpha1    (test sites only)
264                   :
265                 1.9.17alpha20   (test sites only)
266                 1.9.17          (production)
267                 1.9.17p1        (production)
268 </verb>
269
270 The above system means that whenever someone looks at the samba ftp
271 site they will be able to grab the highest numbered release without an
272 alpha in the name and be sure of getting the current recommended
273 version.
274
275 <sect1> Where can I go for further information?<p><label id="more">
276
277 There are a number of places to look for more information on Samba,
278 including:
279
280 <itemize>
281
282 <item>Two mailing lists devoted to discussion of Samba-related matters.
283 See below for subscription information.
284
285 <item>The newsgroup comp.protocols.smb, which has a great deal of
286 discussion about Samba. 
287
288 <item>The WWW site 'SAMBA Web Pages' at <url
289 url="http://samba.canberra.edu.au/pub/samba/samba.html"> includes:
290
291   <itemize>
292     <item>Links to man pages and documentation, including this FAQ
293     <item>A comprehensive survey of Samba users
294     <item>A searchable hypertext archive of the Samba mailing list
295     <item>Links to Samba source code, binaries, and mirrors of both
296     <item>This FAQ and the rest in its family
297   </itemize>
298
299 </itemize>
300
301 <sect1>How do I subscribe to the Samba Mailing Lists?<p><label id="mailinglist">
302
303 Send email to <htmlurl url="mailto:listproc@samba.anu.edu.au"
304 name="listproc@samba.anu.edu.au">. Make sure the subject line is blank,
305 and include the following two lines in the body of the message:
306
307 <tscreen><verb>
308 subscribe samba Firstname Lastname
309 subscribe samba-announce Firstname Lastname
310 </verb></tscreen>
311
312 Obviously you should substitute YOUR first name for "Firstname" and
313 YOUR last name for "Lastname"! Try not to send any signature, it
314 sometimes confuses the list processor.
315
316 The samba list is a digest list - every eight hours or so it sends a
317 single message containing all the messages that have been received by
318 the list since the last time and sends a copy of this message to all
319 subscribers. There are thousands of people on this list.
320
321 If you stop being interested in Samba, please send another email to
322 <htmlurl url="mailto:listproc@samba.anu.edu.au" name="listproc@samba.anu.edu.au">. Make sure the subject line is blank, and
323 include the following two lines in the body of the message:
324
325 <tscreen><verb>
326 unsubscribe samba
327 unsubscribe samba-announce
328 </verb></tscreen>
329
330 The <bf>From:</bf> line in your message <em>MUST</em> be the same
331 address you used when you subscribed.
332
333 <sect1> Something's gone wrong - what should I do?<p><label id="wrong">
334
335 <bf>[#] *** IMPORTANT! *** [#]</bf>
336 <p>
337
338 DO NOT post messages on mailing lists or in newsgroups until you have
339 carried out the first three steps given here!
340
341 <enum> <item> See if there are any likely looking entries in this FAQ!
342 If you have just installed Samba, have you run through the checklist in
343 <url url="ftp://samba.anu.edu.au/pub/samba/DIAGNOSIS.txt"
344 name="DIAGNOSIS.txt">? It can save you a lot of time and effort.
345 DIAGNOSIS.txt can also be found in the docs directory of the Samba
346 distribution.
347
348 <item> Read the man pages for smbd, nmbd and smb.conf, looking for
349 topics that relate to what you are trying to do.
350
351 <item> If there is no obvious solution to hand, try to get a look at
352 the log files for smbd and/or nmbd for the period during which you
353 were having problems. You may need to reconfigure the servers to
354 provide more extensive debugging information - usually level 2 or
355 level 3 provide ample debugging info. Inspect these logs closely,
356 looking particularly for the string "Error:".
357
358 <item> If you need urgent help and are willing to pay for it see 
359 <ref id="PaidSupport" name="Paid Support">.
360
361 </enum>
362
363 If you still haven't got anywhere, ask the mailing list or newsgroup. In
364 general nobody minds answering questions provided you have followed the
365 preceding steps. It might be a good idea to scan the archives of the
366 mailing list, which are available through the Samba web site described
367 in the previous section. When you post be sure to include a good
368 description of your environment and your problem.
369
370 If you successfully solve a problem, please mail the FAQ maintainer a
371 succinct description of the symptom, the problem and the solution, so
372 that an explanation can be incorporated into the next version.
373
374 <sect1> How do I submit patches or bug reports?<p>
375
376 If you make changes to the source code, <em>please</em> submit these patches
377 so that everyone else gets the benefit of your work. This is one of
378 the most important aspects to the maintainence of Samba. Send all
379 patches to <htmlurl url="mailto:samba-bugs@samba.anu.edu.au" name="samba-bugs@samba.anu.edu.au">. Do not send patches to Andrew Tridgell or any
380 other individual, they may be lost if you do.
381
382 Patch format
383 ------------
384
385 If you are sending a patch to fix a problem then please don't just use
386 standard diff format. As an example, samba-bugs received this patch from
387 someone:
388
389 382a
390 #endif
391 ..
392 381a
393 #if !defined(NEWS61)
394
395 How are we supposed to work out what this does and where it goes? These
396 sort of patches only work if we both have identical files in the first
397 place. The Samba sources are constantly changing at the hands of multiple
398 developers, so it doesn't work.
399
400 Please use either context diffs or (even better) unified diffs. You
401 get these using "diff -c4" or "diff -u". If you don't have a diff that
402 can generate these then please send manualy commented patches to I
403 know what is being changed and where. Most patches are applied by hand so
404 the info must be clear.
405
406 This is a basic guideline that will assist us with assessing your problem
407 more efficiently :
408
409 Machine Arch:
410 Machine OS:
411 OS Version:
412 Kernel:
413
414 Compiler:
415 Libc Version:
416
417 Samba Version:
418
419 Network Layout (description):
420
421 What else is on machine (services, etc):
422
423 Some extras :
424
425 <itemize>
426
427 <item> what you did and what happened
428
429 <item> relevant parts of a debugging output file with debuglevel higher.
430   If you can't find the relevant parts, please ask before mailing
431   huge files.
432
433 <item> anything else you think is useful to trace down the bug
434
435 </itemize>
436
437 <sect1> What if I have an URGENT message for the developers?<p>
438
439 If you have spotted something very serious and believe that it is
440 important to contact the developers quickly send a message to
441 samba-urgent@samba.anu.edu.au. This will be processed more quickly than
442 mail to samba-bugs. Please think carefully before using this address. An
443 example of its use might be to report a security hole.
444
445 Examples of things <em>not</em> to send to samba-urgent include problems
446 getting Samba to work at all and bugs that cannot potentially cause damage.
447
448 <sect1> What if I need paid-for support?<p><label id=PaidSupport>
449
450 Samba has a large network of consultants who provide Samba support on a
451 commercial basis. The list is included in the package in <url
452 url="../Support.txt">, and the latest version will always be on the main
453 samba ftp site. Any company in the world can request that the samba team
454 include their details in Support.txt so we can give no guarantee of
455 their services.
456
457 <sect1> Pizza supply details<p><label id="pizza">
458 Those who have registered in the Samba survey as "Pizza Factory" will
459 already know this, but the rest may need some help. Andrew doesn't ask
460 for payment, but he does appreciate it when people give him
461 pizza. This calls for a little organisation when the pizza donor is
462 twenty thousand kilometres away, but it has been done.
463
464 <enum>
465 <item> Ring up your local branch of an international pizza chain
466 and see if they honour their vouchers internationally. Pizza Hut do,
467 which is how the entire Canberra Linux Users Group got to eat pizza
468 one night, courtesy of someone in the US.
469
470 <item>Ring up a local pizza shop in Canberra and quote a credit
471 card number for a certain amount, and tell them that Andrew will be
472 collecting it (don't forget to tell him.) One kind soul from Germany
473 did this.
474
475 <item>Purchase a pizza voucher from your local pizza shop that has
476 no international affiliations and send it to Andrew. It is completely
477 useless but he can hang it on the wall next to the one he already has
478 from Germany :-)
479
480 <item>Air freight him a pizza with your favourite regional
481 flavours. It will probably get stuck in customs or torn apart by
482 hungry sniffer dogs but it will have been a noble gesture.
483
484 </enum>
485
486 <sect>About the CIFS and SMB Protocols<p><label id="CifsSmb">
487
488 <sect1> What is the Server Message Block (SMB) Protocol?<p>
489 SMB is a filesharing protocol that has had several maintainers and
490 contributors over the years including Xerox, 3Com and most recently
491 Microsoft. Names for this protocol include LAN Manager and Microsoft 
492 Networking. Parts of the specification has been made public at several 
493 versions including in an X/Open document, as listed at 
494 <url url="ftp://ftp.microsoft.com/developr/drg/CIFS/">. No specification
495 releases were made between 1992 and 1996, and during that period
496 Microsoft became the SMB implementor with the largest market share.
497 Microsoft developed the specification further for its products but for
498 various reasons connected with developer's workload rather than market
499 strategy did not make the changes public. This culminated with the 
500 "Windows NT 0.12" version released with NT 3.5 in 1995 which had significant 
501 improvements and bugs. Because Microsoft client systems are so popular,
502 it is fair to say that what Microsoft with Windows affects all suppliers
503 of SMB server products.
504
505 From 1994 Andrew Tridgell began doing some serious work on his 
506 Smbserver (now Samba) product and with some helpers started to 
507 implement more and more of these protocols. Samba began to take 
508 a significant share of the SMB server market.
509
510 <sect1> What is the Common Internet Filesystem (CIFS)?<p>
511 The initial pressure for Microsoft to document their current SMB
512 implementation came from the Samba team, who kept coming across things
513 on the wire that Microsoft either didn't know about or hadn't documented
514 anywhere (even in the sourcecode to Windows NT.) Then Sun Microsystems
515 came out with their WebNFS initiative, designed to replace FTP for file
516 transfers on the Internet. There are many drawbacks to WebNFS (including
517 its scope - it aims to replace HTTP as well!) but the concept was
518 attractive. FTP is not very clever, and why should it be harder to get
519 files from across the world than across the room? 
520
521 Some hasty revisions were made and an Internet Draft for the Common
522 Internet Filesystem (CIFS) was released. Note that CIFS is not an
523 Internet standard and is a very long way from becoming one, BUT the
524 protocol specification is in the public domain and ongoing discussions
525 concerning the spec take place on a public mailing list according to the
526 rules of the Internet Engineering Task Force. For more information and
527 pointers see <url url="http://samba.anu.edu.au/cifs/">
528
529 The following is taken from <url url="http://www.microsoft.com/intdev/cifs/">
530
531 <verb>
532     CIFS defines a standard remote file system access protocol for use
533     over the Internet, enabling groups of users to work together and
534     share documents across the Internet or within their corporate
535     intranets. CIFS is an open, cross-platform technology based on the
536     native file-sharing protocols built into Microsoft® Windows® and
537     other popular PC operating systems, and supported on dozens of
538     other platforms, including UNIX®. With CIFS, millions of computer
539     users can open and share remote files on the Internet without having
540     to install new software or change the way they work."
541 </verb>
542
543 If you consider CIFS as a backwardsly-compatible refinement of SMB that
544 will work reasonably efficiently over the Internet you won't be too far
545 wrong.
546
547 The net effect is that Microsoft is now documenting large parts of their
548 Windows NT fileserver protocols. The security concepts embodied in
549 Windows NT are part of the specification, which is why Samba
550 documentation often talks in terms of Windows NT. However there is no
551 reason why a site shouldn't conduct all its file and printer sharing
552 with CIFS and yet have no Microsoft products at all.
553
554 <sect1> What is Browsing? <p>
555 The term "Browsing" causes a lot of confusion. It is the part of the
556 SMB/CIFS protocol which allows for resource discovery. For example, in
557 the Windows NT Explorer it is possible to see a "Network Neighbourhood"
558 of computers in the same SMB workgroup. Clicking on the name of one of 
559 these machines brings up a list of file and printer resources for
560 connecting to. In this way you can cruise the network, seeing what
561 things are available. How this scales to the Internet is a subject for
562 debate. Look at the CIFS list archives to see what the experts think.
563
564 <sect>Designing A SMB and CIFS Network<p>
565
566 The big issues for installing any network of LAN or WAN file and print
567 servers are 
568
569 <itemize> 
570
571 <item>How and where usernames, passwords and other security information
572 is stored 
573
574 <item>What method can be used for locating the resources that users have
575 permission to use 
576
577 <item>What protocols the clients can converse with
578
579 </itemize> 
580
581 If you buy Netware, Windows NT or just about any other LAN fileserver
582 product you are expected to lock yourself into the product's preferred
583 answers to these questions. This tendancy is restrictive and often very
584 expensive for a site where there is only one kind of client or server,
585 and for sites with a mixture of operating systems it often makes it
586 impossible to share resources between some sets of users.
587
588 The Samba philosophy is to make things as easy as possible for
589 administators, which means allowing as many combinations of clients,
590 servers, operating systems and protocols as possible.
591
592 <sect1>Workgroups, Domains, Authentication and Browsing<p>
593
594 From the point of view of networking implementation, Domains and
595 Workgroups are <em>exactly</em> the same, except for the client logon
596 sequence. Some kind of distributed authentication database is associated
597 with a domain (there are quite a few choices) and this adds so much
598 flexibility that many people think of a domain as a completely different
599 entity to a workgroup. From Samba's point of view a client connecting to
600 a service presents an authentication token, and it if it is valid they
601 have access. Samba does not care what mechanism was used to generate
602 that token in the first place.
603
604 The SMB client logging on to a domain has an expectation that every other
605 server in the domain should accept the same authentication information.
606 However the network browsing functionality of domains and workgroups is
607 identical and is explained in <url url="../BROWSING.txt">.
608
609 There are some implementation differences: Windows 95 can be a member of
610 both a workgroup and a domain, but Windows NT cannot. Windows 95 also
611 has the concept of an "alternative workgroup". Samba can only be a
612 member of a single workgroup or domain, although this is due to change
613 with a future version when nmbd will be split into two daemons, one for
614 WINS and the other for browsing (<url url="../NetBIOS.txt"> explains
615 what WINS is.)
616
617 <sect2> Defining the Terms<p><label id="BrowseAndDomainDefs">
618
619 <descrip>
620
621 <tag/Workgroup/ means a collection of machines that maintain a common
622 browsing database containing information about their shared resources.
623 They do not necessarily have any security information in common (if they
624 do, it gets called a Domain.) The browsing database is dynamic, modified
625 as servers come and go on the network and as resources are added or
626 deleted. The term "browsing" refers to a user accessing the database via
627 whatever interface the client provides, eg the OS/2 Workplace Shell or
628 Windows 95 Explorer. SMB servers agree between themselves as to which
629 ones will maintain the browsing database. Workgroups can be anywhere on
630 a connected TCP/IP network, including on different subnets or even on
631 the Interet. This is a very tricky part of SMB to implement.
632
633 <tag/Master Browsers/ are machines which holds the master browsing
634 database for a workgroup or domain. There are two kinds of Master Browser:
635
636 <itemize>
637
638 <item> Domain Master Browser, which holds the master browsing
639 information for an entire domain, which may well cross multiple TCP/IP
640 subnets.
641
642 <item> Local Master Browser, which holds the master browsing database
643 for a particular subnet and communicates with the Domain Master Browser
644 to get information on other subnets.
645
646 </itemize>
647
648 Subnets are differentiated because browsing is based on broadcasts, and
649 broadcasts do not pass through routers. Subnets are not routed: while it
650 is possible to have more than one subnet on a single network segment
651 this is regarded as very bad practice.
652
653 Master Browsers (both Domain and Local) are elected dynamically
654 according to an algorithm which is supposed to take into account the
655 machine's ability to sustain the browsing load. Samba can be configured
656 to always act as a master browser, ie it always wins elections under all
657 circumstances, even against systems such as a Windows NT Primary Domain
658 Controller which themselves expect to win. 
659
660 There are also Backup Browsers which are promoted to Master Browsers in
661 the event of a Master Browser disappearing from the network.
662
663 Alternative terms include confusing variations such as "Browse Master",
664 and "Master Browser" which we are trying to eliminate from the Samba
665 documentation. 
666
667 <tag/Domain Controller/ is a term which comes from the Microsoft and IBM
668 etc implementation of the LAN Manager protocols. It is tied to
669 authentication. There are other ways of doing domain authentication, but
670 the Windows NT method has a large market share. The general issues are
671 discussed in <url url="../DOMAIN.txt"> and a Windows NT-specific
672 discussion is in <url url="../DOMAIN_CONTROL.txt">.
673
674 </descrip>
675
676 <sect2>Sharelevel (Workgroup) Security Services<p><label id="ShareModeSecurity">
677
678 With the Samba setting "security = SHARE", all shared resources
679 information about what password is associated with them but only hints
680 as to what usernames might be valid (the hint can be 'all users', in
681 which case any username will work. This is usually a bad idea, but
682 reflects both the initial implementations of SMB in the mid-80s and
683 its reincarnation with Windows for Workgroups in 1992. The idea behind
684 workgroup security was that small independant groups of people could
685 share information on an ad-hoc basis without there being an
686 authentication infrastructure present or requiring them to do more than
687 fill in a dialogue box.
688
689 <sect2>Authentication Domain Mode Services<p><label id="DomainModeSecurity">
690
691 With the Samba settings "security = USER" or "security = SERVER"
692 accesses to all resources are checked for username/password pair matches
693 in a more rigorous manner. To the client, this has the effect of
694 emulating a Microsoft Domain. The client is not concerned whether or not
695 Samba looks up a Windows NT SAM or does it in some other way.
696
697 <sect1>Authentication Schemes<p>
698
699 In the simple case authentication information is stored on a single
700 server and the user types a password on connecting for the first time.
701 However client operating systems often require a password before they
702 can be used at all, and in addition users usually want access to more
703 than one server. Asking users to remember many different passwords in
704 different contexts just does not work. Some kind of distributed
705 authentication database is needed. It must cope with password changes
706 and provide for assigning groups of users the same level of access
707 permissions. This is why Samba installations often choose to implement a
708 Domain model straight away.
709
710 Authentication decisions are some of the biggest in designing a network.
711 Are you going to use a scheme native to the client operating system,
712 native to the server operating system, or newly installed on both? A
713 list of options relevant to Samba (ie that make sense in the context of
714 the SMB protocol) follows. Any experiences with other setups would be
715 appreciated. [refer to server FAQ for "passwd chat" passwd program 
716 password server etc etc...]
717
718 <sect2>NIS<p>
719
720 For Windows 95, Windows for Workgroups and most other clients Samba can
721 be a domain controller and share the password database via NIS
722 transparently. Windows NT is different. 
723 <url url="http://www.dcs.qmw.ac.uk/~williams" name="Free NIS NT client">
724
725 <sect2>Kerberos<p>
726
727 Kerberos for US users only:
728 <url url="http://www.cygnus.com/product/unifying-security.html"
729 name="Kerberos overview">
730 <url url="http://www.cygnus.com/product/kerbnet-download.html"
731 name="Download Kerberos">
732
733 <sect2>FTP<p>
734
735 Other NT w/s logon hack via NT
736
737 <sect2>Default Server Method<p>
738
739 <sect2>Client-side Database Only<p>
740
741 <sect1>Post-Authentication: Netlogon, Logon Scripts, Profiles<p>
742
743 See <url url="../DOMAIN.txt">
744
745 <sect>Cross-Protocol File Sharing<p>
746
747 Samba is an important tool for...
748
749 It is possible to...
750
751 File protocol gateways...
752
753 "Setting up a Linux File Server" http://vetrec.mit.edu/people/narf/linux.html
754
755 Two free implementations of Appletalk for Unix are Netatalk, <url
756 url="http://www.umich.edu/~rsug/netatalk/">, and CAP, <url
757 url="http://www.cs.mu.oz.au/appletalk/atalk.html">. What Samba offers MS
758 Windows users, these packages offer to Macs. For more info on these
759 packages, Samba, and Linux (and other UNIX-based systems) see <url
760 url="http://www.eats.com/linux_mac_win.html"> 3.5) Sniffing your nework
761
762
763 <sect>Miscellaneous<p><label id="miscellaneous">
764 <sect1>Is Samba Year 2000 compliant?<p><label id="Year2000Compliant">
765 The CIFS protocol that Samba implements
766 negotiates times in various formats, all of which
767 are able to cope with dates beyond 2000.
768
769 </article>