home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 July & August / Pcwk78a98.iso / Wtestowe / Clico / UNIX / SAMBA / SOURCE / SAMBA.TAR / samba-1.9.17 / docs / faq / Samba-meta-FAQ.sgml < prev    next >
SGML Document  |  1997-08-25  |  33KB

  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>
  770.