diff options
Diffstat (limited to 'docs/htmldocs/Samba3-HOWTO/StandAloneServer.html')
-rw-r--r-- | docs/htmldocs/Samba3-HOWTO/StandAloneServer.html | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/docs/htmldocs/Samba3-HOWTO/StandAloneServer.html b/docs/htmldocs/Samba3-HOWTO/StandAloneServer.html new file mode 100644 index 0000000000..e32ad4956e --- /dev/null +++ b/docs/htmldocs/Samba3-HOWTO/StandAloneServer.html @@ -0,0 +1,201 @@ +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 7. Standalone Servers</title><link rel="stylesheet" href="samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="The Official Samba-3 HOWTO and Reference Guide"><link rel="up" href="type.html" title="Part II. Server Configuration Basics"><link rel="prev" href="domain-member.html" title="Chapter 6. Domain Membership"><link rel="next" href="ClientConfig.html" title="Chapter 8. MS Windows Network Configuration Guide"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. Standalone Servers</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="domain-member.html">Prev</a> </td><th width="60%" align="center">Part II. Server Configuration Basics</th><td width="20%" align="right"> <a accesskey="n" href="ClientConfig.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="StandAloneServer"></a>Chapter 7. Standalone Servers</h2></div><div><div class="author"><h3 class="author"><span class="firstname">John</span> <span class="othername">H.</span> <span class="surname">Terpstra</span></h3><div class="affiliation"><span class="orgname">Samba Team<br></span><div class="address"><p><code class="email"><<a href="mailto:jht@samba.org">jht@samba.org</a>></code></p></div></div></div></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="StandAloneServer.html#id339513">Features and Benefits</a></span></dt><dt><span class="sect1"><a href="StandAloneServer.html#id339599">Background</a></span></dt><dt><span class="sect1"><a href="StandAloneServer.html#id339776">Example Configuration</a></span></dt><dd><dl><dt><span class="sect2"><a href="StandAloneServer.html#RefDocServer">Reference Documentation Server</a></span></dt><dt><span class="sect2"><a href="StandAloneServer.html#SimplePrintServer">Central Print Serving</a></span></dt></dl></dd><dt><span class="sect1"><a href="StandAloneServer.html#id340735">Common Errors</a></span></dt></dl></div><p> +<a class="indexterm" name="id339489"></a> +<a class="indexterm" name="id339495"></a> +<a class="indexterm" name="id339502"></a> +Standalone servers are independent of domain controllers on the network. +They are not domain members and function more like workgroup servers. In many +cases a standalone server is configured with a minimum of security control +with the intent that all data served will be readily accessible to all users. +</p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id339513"></a>Features and Benefits</h2></div></div></div><p> +<a class="indexterm" name="id339521"></a> +<a class="indexterm" name="id339527"></a> +Standalone servers can be as secure or as insecure as needs dictate. They can +have simple or complex configurations. Above all, despite the hoopla about +domain security, they remain a common installation. +</p><p> +<a class="indexterm" name="id339539"></a> +<a class="indexterm" name="id339546"></a> +<a class="indexterm" name="id339553"></a> +<a class="indexterm" name="id339560"></a> +If all that is needed is a server for read-only files, or for +printers alone, it may not make sense to effect a complex installation. +For example, a drafting office needs to store old drawings and reference +standards. Noone can write files to the server because it is legislatively +important that all documents remain unaltered. A share-mode read-only standalone +server is an ideal solution. +</p><p> +<a class="indexterm" name="id339573"></a> +<a class="indexterm" name="id339580"></a> +<a class="indexterm" name="id339587"></a> +Another situation that warrants simplicity is an office that has many printers +that are queued off a single central server. Everyone needs to be able to print +to the printers, there is no need to effect any access controls, and no files will +be served from the print server. Again, a share-mode standalone server makes +a great solution. +</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id339599"></a>Background</h2></div></div></div><p> +<a class="indexterm" name="id339606"></a> +<a class="indexterm" name="id339613"></a> +<a class="indexterm" name="id339620"></a> +The term <span class="emphasis"><em>standalone server</em></span> means that it will provide local authentication and access +control for all resources that are available from it. In general this means that there will be a local user +database. In more technical terms, it means resources on the machine will be made available in either +<span class="emphasis"><em>share</em></span> mode or in <span class="emphasis"><em>user</em></span> mode. +</p><p> +<a class="indexterm" name="id339644"></a> +<a class="indexterm" name="id339650"></a> +<a class="indexterm" name="id339657"></a> +No special action is needed other than to create user accounts. Standalone +servers do not provide network logon services. This means that machines that +use this server do not perform a domain logon to it. Whatever logon facility +the workstations are subject to is independent of this machine. It is, however, +necessary to accommodate any network user so the logon name he or she uses will +be translated (mapped) locally on the standalone server to a locally known +user name. There are several ways this can be done. +</p><p> +<a class="indexterm" name="id339672"></a> +<a class="indexterm" name="id339679"></a> +<a class="indexterm" name="id339685"></a> +Samba tends to blur the distinction a little in defining +a standalone server. This is because the authentication database may be +local or on a remote server, even if from the SMB protocol perspective +the Samba server is not a member of a domain security context. +</p><p> +<a class="indexterm" name="id339698"></a> +<a class="indexterm" name="id339704"></a> +<a class="indexterm" name="id339711"></a> +<a class="indexterm" name="id339717"></a> +<a class="indexterm" name="id339724"></a> +<a class="indexterm" name="id339731"></a> +<a class="indexterm" name="id339738"></a> +<a class="indexterm" name="id339745"></a> +Through the use of Pluggable Authentication Modules (PAM) (see <a href="pam.html" title="Chapter 28. PAM-Based Distributed Authentication">the chapter on PAM</a>) +and the name service switcher (NSS), which maintains the UNIX-user database, the source of authentication may +reside on another server. We would be inclined to call this the authentication server. This means that the +Samba server may use the local UNIX/Linux system password database (<code class="filename">/etc/passwd</code> or +<code class="filename">/etc/shadow</code>), may use a local smbpasswd file, or may use an LDAP backend, or even via PAM +and Winbind another CIFS/SMB server for authentication. +</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id339776"></a>Example Configuration</h2></div></div></div><p> +<a class="indexterm" name="id339784"></a> +<a class="indexterm" name="id339791"></a> +<a href="StandAloneServer.html#simplynice" title="Example 7.1. smb.conf for Reference Documentation Server">The example Reference Documentation Server</a> and <a href="StandAloneServer.html#SimplePrintServer" title="Central Print Serving">Central Print Serving</a> are designed to inspire simplicity. It is too easy to +attempt a high level of creativity and to introduce too much complexity in server and network design. +</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="RefDocServer"></a>Reference Documentation Server</h3></div></div></div><p> +<a class="indexterm" name="id339826"></a> +<a class="indexterm" name="id339832"></a> +<a class="indexterm" name="id339839"></a> +<a class="indexterm" name="id339846"></a> +Configuration of a read-only data server that everyone can access is very simple. By default, all shares are +read-only, unless set otherwise in the <code class="filename">smb.conf</code> file. <a href="StandAloneServer.html#simplynice" title="Example 7.1. smb.conf for Reference Documentation Server">The example - Reference +Documentation Server</a> is the <code class="filename">smb.conf</code> file that will do this. Assume that all the reference documents +are stored in the directory <code class="filename">/export</code>, and the documents are owned by a user other than +nobody. No home directories are shared, and there are no users in the <code class="filename">/etc/passwd</code> UNIX +system database. This is a simple system to administer. +</p><div class="example"><a name="simplynice"></a><p class="title"><b>Example 7.1. smb.conf for Reference Documentation Server</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id339915"></a><em class="parameter"><code>workgroup = MIDEARTH</code></em></td></tr><tr><td><a class="indexterm" name="id339928"></a><em class="parameter"><code>netbios name = GANDALF</code></em></td></tr><tr><td><a class="indexterm" name="id339940"></a><em class="parameter"><code>security = SHARE</code></em></td></tr><tr><td><a class="indexterm" name="id339953"></a><em class="parameter"><code>passdb backend = guest</code></em></td></tr><tr><td><a class="indexterm" name="id339965"></a><em class="parameter"><code>wins server = 192.168.1.1</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[data]</code></em></td></tr><tr><td><a class="indexterm" name="id339987"></a><em class="parameter"><code>comment = Data</code></em></td></tr><tr><td><a class="indexterm" name="id339999"></a><em class="parameter"><code>path = /export</code></em></td></tr><tr><td><a class="indexterm" name="id340012"></a><em class="parameter"><code>guest only = Yes</code></em></td></tr></table></div></div><br class="example-break"><div class="blockquote"><table border="0" width="100%" cellspacing="0" cellpadding="0" class="blockquote" summary="Block quote"><tr><td width="10%" valign="top"> </td><td width="80%" valign="top"><p> +I would have spoken more briefly, if I'd had more time to prepare. +</p></td><td width="10%" valign="top"> </td></tr><tr><td width="10%" valign="top"> </td><td colspan="2" align="right" valign="top">--<span class="attribution">Mark Twain</span></td></tr></table></div><p> +<a class="indexterm" name="id340038"></a> +<a class="indexterm" name="id340045"></a> +<a class="indexterm" name="id340052"></a> +<a class="indexterm" name="id340059"></a> +In <a href="StandAloneServer.html#simplynice" title="Example 7.1. smb.conf for Reference Documentation Server">this example</a>, the machine name is set to GANDALF, and the +workgroup is set to the name of the local workgroup (MIDEARTH) so the machine will appear together +with systems with which users are familiar. The only password backend required is the “<span class="quote">guest</span>” +backend to allow default unprivileged account names to be used. As there is a WINS server on this network, we +of course make use of it. +</p><p> +A US Air Force Colonel was renowned for saying: “<span class="quote">Better is the enemy of good enough!</span>” There are often +sound reasons for avoiding complexity as well as for avoiding a technically perfect solution. Unfortunately, +many network administrators still need to learn the art of doing just enough to keep out of trouble. +</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="SimplePrintServer"></a>Central Print Serving</h3></div></div></div><p> +<a class="indexterm" name="id340102"></a> +<a class="indexterm" name="id340108"></a> +Configuration of a simple print server is easy if you have all the right tools on your system. +</p><div class="orderedlist"><p class="title"><b> Assumptions</b></p><ol type="1"><li><p> + The print server must require no administration. + </p></li><li><p> + The print spooling and processing system on our print server will be CUPS. + (Please refer to <a href="CUPS-printing.html" title="Chapter 22. CUPS Printing Support">CUPS Printing Support</a>, for more information). + </p></li><li><p> + The print server will service only network printers. The network administrator + will correctly configure the CUPS environment to support the printers. + </p></li><li><p> + All workstations will use only PostScript drivers. The printer driver + of choice is the one shipped with the Windows OS for the Apple Color LaserWriter. + </p></li></ol></div><p> +<a class="indexterm" name="id340159"></a> +<a class="indexterm" name="id340166"></a> +<a class="indexterm" name="id340173"></a> +In this example our print server will spool all incoming print jobs to +<code class="filename">/var/spool/samba</code> until the job is ready to be submitted by +Samba to the CUPS print processor. Since all incoming connections will be as +the anonymous (guest) user, two things will be required to enable anonymous printing. +</p><div class="itemizedlist"><p class="title"><b>Enabling Anonymous Printing</b></p><ul type="disc"><li><p> +<a class="indexterm" name="id340198"></a> +<a class="indexterm" name="id340205"></a> +<a class="indexterm" name="id340211"></a> + The UNIX/Linux system must have a <code class="literal">guest</code> account. + The default for this is usually the account <code class="literal">nobody</code>. + To find the correct name to use for your version of Samba, do the + following: +</p><pre class="screen"> +<code class="prompt">$ </code><strong class="userinput"><code>testparm -s -v | grep "guest account"</code></strong> +</pre><p> +<a class="indexterm" name="id340247"></a> + Make sure that this account exists in your system password + database (<code class="filename">/etc/passwd</code>). + </p><p> +<a class="indexterm" name="id340264"></a> +<a class="indexterm" name="id340271"></a> +<a class="indexterm" name="id340278"></a> + It is a good idea either to set a password on this account, or else to lock it + from UNIX use. Assuming that the guest account is called <code class="literal">pcguest</code>, + it can be locked by executing: +</p><pre class="screen"> +<code class="prompt">root# </code> passwd -l pcguest +</pre><p> + The exact command may vary depending on your UNIX/Linux distribution. + </p></li><li><p> +<a class="indexterm" name="id340308"></a> +<a class="indexterm" name="id340315"></a> +<a class="indexterm" name="id340322"></a> +<a class="indexterm" name="id340329"></a> +<a class="indexterm" name="id340336"></a> +<a class="indexterm" name="id340342"></a> + The directory into which Samba will spool the file must have write + access for the guest account. The following commands will ensure that + this directory is available for use: +</p><pre class="screen"> +<code class="prompt">root# </code><strong class="userinput"><code>mkdir /var/spool/samba</code></strong> +<code class="prompt">root# </code><strong class="userinput"><code>chown nobody.nobody /var/spool/samba</code></strong> +<code class="prompt">root# </code><strong class="userinput"><code>chmod a+rwt /var/spool/samba</code></strong> +</pre><p> + </p></li></ul></div><p> +The contents of the <code class="filename">smb.conf</code> file is shown in <a href="StandAloneServer.html#AnonPtrSvr" title="Example 7.2. smb.conf for Anonymous Printing">the Anonymous Printing example</a>. +</p><div class="example"><a name="AnonPtrSvr"></a><p class="title"><b>Example 7.2. <code class="filename">smb.conf</code> for Anonymous Printing</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td># Global parameters</td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[global]</code></em></td></tr><tr><td><a class="indexterm" name="id340438"></a><em class="parameter"><code>workgroup = MIDEARTH</code></em></td></tr><tr><td><a class="indexterm" name="id340450"></a><em class="parameter"><code>netbios name = GANDALF</code></em></td></tr><tr><td><a class="indexterm" name="id340463"></a><em class="parameter"><code>security = SHARE</code></em></td></tr><tr><td><a class="indexterm" name="id340475"></a><em class="parameter"><code>passdb backend = guest</code></em></td></tr><tr><td><a class="indexterm" name="id340488"></a><em class="parameter"><code>printing = cups</code></em></td></tr><tr><td><a class="indexterm" name="id340500"></a><em class="parameter"><code>printcap name = cups</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[printers]</code></em></td></tr><tr><td><a class="indexterm" name="id340522"></a><em class="parameter"><code>comment = All Printers</code></em></td></tr><tr><td><a class="indexterm" name="id340534"></a><em class="parameter"><code>path = /var/spool/samba</code></em></td></tr><tr><td><a class="indexterm" name="id340547"></a><em class="parameter"><code>printer admin = root</code></em></td></tr><tr><td><a class="indexterm" name="id340560"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id340572"></a><em class="parameter"><code>printable = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id340585"></a><em class="parameter"><code>use client driver = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id340597"></a><em class="parameter"><code>browseable = No</code></em></td></tr></table></div></div><br class="example-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> +<a class="indexterm" name="id340614"></a> +<a class="indexterm" name="id340623"></a> +<a class="indexterm" name="id340630"></a> +<a class="indexterm" name="id340636"></a> +<a class="indexterm" name="id340643"></a> +On CUPS-enabled systems there is a facility to pass raw data directly to the printer without intermediate +processing via CUPS print filters. Where use of this mode of operation is desired, it is necessary to +configure a raw printing device. It is also necessary to enable the raw mime handler in the +<code class="filename">/etc/mime.conv</code> and <code class="filename">/etc/mime.types</code> files. Refer to <a href="CUPS-printing.html" title="Chapter 22. CUPS Printing Support">CUPS Printing Support</a>, <a href="CUPS-printing.html#cups-raw" title="Explicitly Enable “raw” Printing for application/octet-stream">Explicitly Enable raw Printing +for application/octet-stream</a>. +</p></div><p> +<a class="indexterm" name="id340682"></a> +<a class="indexterm" name="id340688"></a> +<a class="indexterm" name="id340695"></a> +<a class="indexterm" name="id340702"></a> +The example in <a href="StandAloneServer.html#AnonPtrSvr" title="Example 7.2. smb.conf for Anonymous Printing">the Anonymous Printing example</a> uses CUPS for direct printing +via the CUPS libarary API. This means that all printers will be exposed to Windows users without need to +configure a printcap file. If there is necessity to expose only a sub-set of printers, or to define a special +type of printer (for example, a PDF filter) the <em class="parameter"><code>printcap name = cups</code></em> can be replaced +with the entry <em class="parameter"><code>printcap name = /etc/samba/myprintcap</code></em>. In this case the file specified +should contain a list of the printer names that should be exposed to Windows network users. +</p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id340735"></a>Common Errors</h2></div></div></div><p> +<a class="indexterm" name="id340743"></a> +<a class="indexterm" name="id340749"></a> +The greatest mistake so often made is to make a network configuration too complex. +It pays to use the simplest solution that will meet the needs of the moment. +</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="domain-member.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="type.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ClientConfig.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. Domain Membership </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 8. MS Windows Network Configuration Guide</td></tr></table></div></body></html> |