~ubuntu-branches/ubuntu/maverick/samba/maverick-security

« back to all changes in this revision

Viewing changes to docs/htmldocs/Samba3-ByExample/small.html

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2010-01-29 06:16:15 UTC
  • mfrom: (0.27.9 upstream) (0.34.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100129061615-37hs6xqpsdhjq3ld
Tags: 2:3.4.5~dfsg-1ubuntu1
* Merge from debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/smb.conf:
    - Add "(Samba, Ubuntu)" to server string.
    - Comment out the default [homes] share, and add a comment about "valid users = %s"
      to show users how to restrict access to \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are allowed to create
      public shares in additon to authenticated ones.
    - add map to guest = Bad user, maps bad username to gues access.
  + debian/samba-common.conf:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/mksambapasswd.awk:
    - Do not add user with UID less than 1000 to smbpasswd.
  + debian/control: 
    - Make libswbclient0 replace/conflict with hardy's likewise-open.
    - Don't build against ctdb, since its not in main yet.
  + debian/rules:
    - Enable "native" PIE hardening.
    - Add BIND_NOW to maximize benefit of RELRO hardening.
  + Add ufw integration:
    - Created debian/samba.ufw.profile.
    - debian/rules, debian/samba.dirs, debian/samba.files: install
  + Add apoort hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + debian/rules, debian/samba.if-up: allow "NetworkManager" as a recognized address
    family... it's obviously /not/ an address family, but it's what gets
    sent when using NM, so we'll cope for now.  (LP: #462169). Taken from karmic-proposed.
  + debian/control: Recommend keyutils for smbfs (LP: #493565)
  + Dropped patches:
    - debian/patches/security-CVE-2009-3297.patch: No longer needed
    - debian/patches/fix-too-many-open-files.patch: No longer needed

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter�2.�Small Office Networking</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="Samba-3 by Example"><link rel="up" href="ExNetworks.html" title="Part�I.�Example Network Configurations"><link rel="prev" href="simple.html" title="Chapter�1.�No-Frills Samba Servers"><link rel="next" href="secure.html" title="Chapter�3.�Secure Office Networking"></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�2.�Small Office Networking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="simple.html">Prev</a>�</td><th width="60%" align="center">Part�I.�Example Network Configurations</th><td width="20%" align="right">�<a accesskey="n" href="secure.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="small"></a>Chapter�2.�Small Office Networking</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="small.html#id2555462">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="small.html#id2555484">Assignment Tasks</a></span></dt></dl></dd><dt><span class="sect1"><a href="small.html#id2555545">Dissection and Discussion</a></span></dt><dd><dl><dt><span class="sect2"><a href="small.html#id2555593">Technical Issues</a></span></dt><dt><span class="sect2"><a href="small.html#id2555791">Political Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="small.html#id2555812">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="small.html#id2557356">Validation</a></span></dt><dt><span class="sect2"><a href="small.html#id2558004">Notebook Computers: A Special Case</a></span></dt><dt><span class="sect2"><a href="small.html#id2558030">Key Points Learned</a></span></dt></dl></dd><dt><span class="sect1"><a href="small.html#id2558104">Questions and Answers</a></span></dt></dl></div><p>
 
1
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter�2.�Small Office Networking</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Samba-3 by Example"><link rel="up" href="ExNetworks.html" title="Part�I.�Example Network Configurations"><link rel="prev" href="simple.html" title="Chapter�1.�No-Frills Samba Servers"><link rel="next" href="secure.html" title="Chapter�3.�Secure Office Networking"></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�2.�Small Office Networking</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="simple.html">Prev</a>�</td><th width="60%" align="center">Part�I.�Example Network Configurations</th><td width="20%" align="right">�<a accesskey="n" href="secure.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter�2.�Small Office Networking"><div class="titlepage"><div><div><h2 class="title"><a name="small"></a>Chapter�2.�Small Office Networking</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="small.html#id2561519">Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="small.html#id2561542">Assignment Tasks</a></span></dt></dl></dd><dt><span class="sect1"><a href="small.html#id2561602">Dissection and Discussion</a></span></dt><dd><dl><dt><span class="sect2"><a href="small.html#id2561650">Technical Issues</a></span></dt><dt><span class="sect2"><a href="small.html#id2561848">Political Issues</a></span></dt></dl></dd><dt><span class="sect1"><a href="small.html#id2561869">Implementation</a></span></dt><dd><dl><dt><span class="sect2"><a href="small.html#id2563413">Validation</a></span></dt><dt><span class="sect2"><a href="small.html#id2564061">Notebook Computers: A Special Case</a></span></dt><dt><span class="sect2"><a href="small.html#id2564087">Key Points Learned</a></span></dt></dl></dd><dt><span class="sect1"><a href="small.html#id2564161">Questions and Answers</a></span></dt></dl></div><p>
2
2
        <a class="link" href="simple.html" title="Chapter�1.�No-Frills Samba Servers">&#8220;No-Frills Samba Servers&#8221;</a> focused on the basics of simple yet effective
3
3
        network solutions. Network administrators who take pride in their work
4
4
        (that's most of us, right?) take care to deliver what our users want,
8
8
        operates. Some creativity is helpful, but keep it under control 
9
9
        good advice that the following two scenarios illustrate.
10
10
        </p><p>
11
 
        <a class="indexterm" name="id2555418"></a>
 
11
        <a class="indexterm" name="id2561475"></a>
12
12
        In one case the network administrator of a mid-sized company spent three
13
13
        months building a new network to replace an old Netware server. What he
14
14
        delivered had all the bells and whistles he could muster. There were a
33
33
        features, and yet he had happy users. Months later he was still adding
34
34
        new innovations. He always asked the users if a
35
35
        particular feature was what they wanted. He asked his boss for a raise
36
 
        and got it. He often told me, &#8220;<span class="quote">Always keep a few new tricks up your
37
 
        sleeves for when you need them.</span>&#8221; Was he smart? You decide. Let's
 
36
        and got it. He often told me, <span class="quote">&#8220;<span class="quote">Always keep a few new tricks up your
 
37
        sleeves for when you need them.</span>&#8221;</span> Was he smart? You decide. Let's
38
38
        get on with our next exercise.
39
 
        </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2555462"></a>Introduction</h2></div></div></div><p>
 
39
        </p><div class="sect1" title="Introduction"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2561519"></a>Introduction</h2></div></div></div><p>
40
40
        Abmas Accounting has grown. Mr. Meany likes you and says he knew you
41
41
        were the right person for the job. That's why he asked you to install the
42
42
        new server. The past few months have been hard work. You advised Mr. Meany
47
47
        Some of the Windows clients are nearly past their use-by date.  You found damaged and unusable software on
48
48
        some of the workstations that came with the acquired business and found some machines in need of both
49
49
        hardware and software maintenance.
50
 
        </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2555484"></a>Assignment Tasks</h3></div></div></div><p>
51
 
                <a class="indexterm" name="id2555492"></a>
 
50
        </p><div class="sect2" title="Assignment Tasks"><div class="titlepage"><div><div><h3 class="title"><a name="id2561542"></a>Assignment Tasks</h3></div></div></div><p>
 
51
                <a class="indexterm" name="id2561549"></a>
52
52
                Mr. Meany is retiring in 12 months. Before he goes, he wants you to help ensure
53
53
                that the business is running efficiently. Many of the new staff want notebook
54
54
                computers.  They visit customer business premises and need to use local network
80
80
                Mr. Meany also asked if it would be possible for one of the staff to manage
81
81
                user accounts from the Windows desktop. That person will be responsible for
82
82
                basic operations.
83
 
                </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2555545"></a>Dissection and Discussion</h2></div></div></div><p>
 
83
                </p></div></div><div class="sect1" title="Dissection and Discussion"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2561602"></a>Dissection and Discussion</h2></div></div></div><p>
84
84
        What are the key requirements in this business example? A quick review indicates
85
85
        a need for
86
 
        </p><div class="itemizedlist"><ul type="disc"><li><p>
 
86
        </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
87
87
                Scalability, from 52 to over 100 users in 12 months
88
 
                </p></li><li><p>
 
88
                </p></li><li class="listitem"><p>
89
89
                Mobile computing capability
90
 
                <a class="indexterm" name="id2555566"></a>
91
 
                </p></li><li><p>
 
90
                <a class="indexterm" name="id2561623"></a>
 
91
                </p></li><li class="listitem"><p>
92
92
                Improved reliability and usability
93
 
                </p></li><li><p>
 
93
                </p></li><li class="listitem"><p>
94
94
                Easier administration
95
95
                </p></li></ul></div><p>
96
96
        In this instance the installed Linux system is assumed to be a Red Hat Linux Fedora Core2 server
97
97
        (as in <a class="link" href="simple.html#AccountingOffice" title="Accounting Office">&#8220;Accounting Office&#8221;</a>).
98
98
 
99
 
        </p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2555593"></a>Technical Issues</h3></div></div></div><p>
100
 
                <a class="indexterm" name="id2555600"></a>
101
 
                <a class="indexterm" name="id2555606"></a>
102
 
                <a class="indexterm" name="id2555613"></a>
103
 
                <a class="indexterm" name="id2555619"></a>
104
 
                <a class="indexterm" name="id2555625"></a>
 
99
        </p><div class="sect2" title="Technical Issues"><div class="titlepage"><div><div><h3 class="title"><a name="id2561650"></a>Technical Issues</h3></div></div></div><p>
 
100
                <a class="indexterm" name="id2561657"></a>
 
101
                <a class="indexterm" name="id2561664"></a>
 
102
                <a class="indexterm" name="id2561670"></a>
 
103
                <a class="indexterm" name="id2561676"></a>
 
104
                <a class="indexterm" name="id2561682"></a>
105
105
                It is time to implement a domain security environment. You will use the <code class="constant">
106
106
                smbpasswd</code> (default) backend. You should implement a DHCP server. There is no need to
107
107
                run DNS at this time, but the system will use WINS. The domain name will be <code class="constant">
110
110
                All printers will be configured as DHCP clients. The DHCP server will assign
111
111
                the printer a fixed IP address by way of its Ethernet interface (MAC) address.
112
112
                See <a class="link" href="small.html#dhcp01" title="Example�2.2.�Abmas Accounting DHCP Server Configuration File /etc/dhcpd.conf">&#8220;Abmas Accounting DHCP Server Configuration File  /etc/dhcpd.conf&#8221;</a>.
113
 
                </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
 
113
                </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
114
114
                The <code class="filename">smb.conf</code> file you are creating in this exercise can be used with equal effectiveness
115
115
                with Samba-2.2.x series releases. This is deliberate so that in the next chapter it is
116
116
                possible to start with the installation that you have created here, migrate it
122
122
                Later on, when the Internet connection is implemented, you will add DNS as well as
123
123
                other enhancements. It is important that you plan accordingly.
124
124
                </p><p>
125
 
                <a class="indexterm" name="id2555684"></a>
 
125
                <a class="indexterm" name="id2561741"></a>
126
126
                You have split the network into two separate areas. Each has its own Ethernet switch.
127
127
                There are 20 users on the accounting network and 32 users on the financial services
128
128
                network. The server has two network interfaces, one serving each network. The
137
137
                Given that DNS will not be used, you will configure WINS name resolution for UNIX
138
138
                hostname name resolution.
139
139
                </p><p>
140
 
                <a class="indexterm" name="id2555715"></a>
141
 
                <a class="indexterm" name="id2555723"></a>
 
140
                <a class="indexterm" name="id2561772"></a>
 
141
                <a class="indexterm" name="id2561780"></a>
142
142
                It is necessary to map Windows Domain Groups to UNIX groups. It is
143
143
                advisable to also map Windows Local Groups to UNIX groups. Additionally, the two
144
144
                key staff groups in the firm are accounting staff and financial services staff.
155
155
                <span class="emphasis"><em>TOSHARG2</em></span>, Chapter 11, Section 11.3.1, Example 11.1, for
156
156
                more information.
157
157
                </p><p>
158
 
                <a class="indexterm" name="id2555777"></a>
 
158
                <a class="indexterm" name="id2561834"></a>
159
159
                Vendor-supplied printer drivers will be installed on each client. The CUPS print
160
160
                spooler on the UNIX host will be operated in <code class="constant">raw</code> mode.
161
 
                </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2555791"></a>Political Issues</h3></div></div></div><p>
 
161
                </p></div><div class="sect2" title="Political Issues"><div class="titlepage"><div><div><h3 class="title"><a name="id2561848"></a>Political Issues</h3></div></div></div><p>
162
162
                Mr. Meany is an old-school manager. He sets the rules and wants to see compliance.
163
163
                He is willing to spend money on things he believes are of value. You need more
164
164
                time to convince him of real priorities.
166
166
                Go ahead, buy better notebooks. Wouldn't it be neat if they happened to be
167
167
                supplied with antivirus software? Above all, demonstrate good purchase value and remember
168
168
                to make your users happy.
169
 
                </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2555812"></a>Implementation</h2></div></div></div><p>
170
 
        <a class="indexterm" name="id2555820"></a>
 
169
                </p></div></div><div class="sect1" title="Implementation"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2561869"></a>Implementation</h2></div></div></div><p>
 
170
        <a class="indexterm" name="id2561877"></a>
171
171
        In this example, the assumption is made that this server is being configured from a clean start.
172
172
        The alternate approach could be to demonstrate the migration of the system that is documented
173
173
        in <a class="link" href="simple.html#AcctgNet" title="Implementation">&#8220;Implementation&#8221;</a> to meet the new requirements. The decision to treat this case, as with
175
175
        the migration steps from the information provided in <a class="link" href="ntmigration.html" title="Chapter�9.�Migrating NT4 Domain to Samba-3">&#8220;Migrating NT4 Domain to Samba-3&#8221;</a>.
176
176
        Additionally, a fresh installation makes the example easier to follow.
177
177
        </p><p>
178
 
        <a class="indexterm" name="id2555846"></a>
 
178
        <a class="indexterm" name="id2561903"></a>
179
179
        Each user will be given a home directory on the UNIX system, which will be available as a private
180
180
        share. Two additional shares will be created, one for the accounting department and the other for
181
181
        the financial services department. Network users will be given access to these shares by way
182
182
        of group membership.
183
183
        </p><p>
184
 
        <a class="indexterm" name="id2555861"></a>
 
184
        <a class="indexterm" name="id2561918"></a>
185
185
        UNIX group membership is the primary mechanism by which Windows Domain users will be granted
186
186
        rights and privileges within the Windows environment.
187
187
        </p><p>
188
 
        <a class="indexterm" name="id2555875"></a>
 
188
        <a class="indexterm" name="id2561932"></a>
189
189
        The user <code class="literal">alanm</code> will be made the owner of all files. This will be preserved
190
190
        by setting the sticky bit (set UID/GID) on the top-level directories.
191
 
        </p><div class="figure"><a name="acct2net"></a><p class="title"><b>Figure�2.1.�Abmas Accounting  52-User Network Topology</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/acct2net.png" alt="Abmas Accounting 52-User Network Topology"></div></div></div><br class="figure-break"><div class="procedure"><a name="id2555930"></a><p class="title"><b>Procedure�2.1.�Server Installation Steps</b></p><ol type="1"><li><p>
 
191
        </p><div class="figure"><a name="acct2net"></a><p class="title"><b>Figure�2.1.�Abmas Accounting  52-User Network Topology</b></p><div class="figure-contents"><div class="mediaobject"><img src="images/acct2net.png" alt="Abmas Accounting 52-User Network Topology"></div></div></div><br class="figure-break"><div class="procedure" title="Procedure�2.1.�Server Installation Steps"><a name="id2561987"></a><p class="title"><b>Procedure�2.1.�Server Installation Steps</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
192
192
                Using UNIX/Linux system tools, name the server <code class="constant">sleeth</code>.
193
 
                </p></li><li><p>
194
 
                <a class="indexterm" name="id2555951"></a>
 
193
                </p></li><li class="step" title="Step 2"><p>
 
194
                <a class="indexterm" name="id2562008"></a>
195
195
                Place an entry for the machine <code class="constant">sleeth</code> in the <code class="filename">/etc/hosts</code>.
196
196
                The printers are network attached, so there should be entries for the
197
197
                network printers also. An example <code class="filename">/etc/hosts</code> file is shown here:
202
202
192.168.1.11    hplj4
203
203
192.168.2.10    qms
204
204
</pre><p>
205
 
                </p></li><li><p>
 
205
                </p></li><li class="step" title="Step 3"><p>
206
206
                Install the Samba-3 binary RPM from the Samba-Team FTP site.
207
 
                </p></li><li><p>
 
207
                </p></li><li class="step" title="Step 4"><p>
208
208
                Install the ISC DHCP server using the UNIX/Linux system tools available to you.
209
 
                </p></li><li><p>
210
 
                <a class="indexterm" name="id2556002"></a>
211
 
                <a class="indexterm" name="id2556008"></a>
212
 
                <a class="indexterm" name="id2556014"></a>
213
 
                <a class="indexterm" name="id2556020"></a>
 
209
                </p></li><li class="step" title="Step 5"><p>
 
210
                <a class="indexterm" name="id2562059"></a>
 
211
                <a class="indexterm" name="id2562065"></a>
 
212
                <a class="indexterm" name="id2562071"></a>
 
213
                <a class="indexterm" name="id2562078"></a>
214
214
                Because Samba will be operating over two network interfaces and clients on each side
215
215
                may want to be able to reach clients on the other side, it is imperative that IP forwarding
216
216
                is enabled. Use the system tool of your choice to enable IP forwarding. In the
220
220
echo 1 &gt; /proc/sys/net/ipv4/ip_forward
221
221
</pre><p>
222
222
                This causes the Linux kernel to forward IP packets so that it acts as a router.
223
 
                </p></li><li><p>
 
223
                </p></li><li class="step" title="Step 6"><p>
224
224
                Install the <code class="filename">smb.conf</code> file as shown in <a class="link" href="small.html#acct2conf" title="Example�2.3.�Accounting Office Network smb.conf File [globals] Section">&#8220;Accounting Office Network smb.conf File  [globals] Section&#8221;</a> and
225
225
                <a class="link" href="small.html#acct3conf" title="Example�2.4.�Accounting Office Network smb.conf File Services and Shares Section">&#8220;Accounting Office Network smb.conf File  Services and Shares Section&#8221;</a>. Combine these two examples to form a single
226
226
                <code class="filename">/etc/samba/smb.conf</code> file.
227
 
                </p></li><li><p>
228
 
                <a class="indexterm" name="id2556080"></a>
 
227
                </p></li><li class="step" title="Step 7"><p>
 
228
                <a class="indexterm" name="id2562137"></a>
229
229
                Add the user <code class="literal">root</code> to the Samba password backend:
230
230
</p><pre class="screen">
231
231
<code class="prompt">root# </code> smbpasswd -a root
233
233
Retype new SMB password: XXXXXXX
234
234
<code class="prompt">root# </code>
235
235
</pre><p>
236
 
                <a class="indexterm" name="id2556109"></a>
 
236
                <a class="indexterm" name="id2562166"></a>
237
237
                This is the Windows Domain Administrator password. Never delete this account from
238
238
                the password backend after Windows Domain Groups have been initialized. If you delete
239
239
                this account, your system is crippled. You cannot restore this account,
240
240
                and your Samba server can no longer be administered.
241
 
                </p></li><li><p>
242
 
                <a class="indexterm" name="id2556126"></a>
 
241
                </p></li><li class="step" title="Step 8"><p>
 
242
                <a class="indexterm" name="id2562184"></a>
243
243
                Create the username map file to permit the <code class="constant">root</code> account to be called
244
244
                <code class="constant">Administrator</code> from the Windows network environment. To do this, create
245
245
                the file <code class="filename">/etc/samba/smbusers</code> with the following contents:
265
265
# End of File
266
266
####
267
267
</pre><p>
268
 
                </p></li><li><p>
269
 
                <a class="indexterm" name="id2556167"></a>
 
268
                </p></li><li class="step" title="Step 9"><p>
 
269
                <a class="indexterm" name="id2562224"></a>
270
270
                Create and map Windows Domain Groups to UNIX groups. A sample script is provided in
271
271
                <a class="link" href="small.html#initGrps" title="Example�2.1.�Script to Map Windows NT Groups to UNIX Groups">&#8220;Script to Map Windows NT Groups to UNIX Groups&#8221;</a>. Create a file containing this script. We called ours
272
272
                <code class="filename">/etc/samba/initGrps.sh</code>. Set this file so it can be executed,
273
273
                and then execute the script. Sample output should be as follows:
274
274
 
275
 
</p><div class="example"><a name="initGrps"></a><p class="title"><b>Example�2.1.�Script to Map Windows NT Groups to UNIX Groups</b></p><div class="example-contents"><a class="indexterm" name="id2556195"></a><pre class="screen">
 
275
</p><div class="example"><a name="initGrps"></a><p class="title"><b>Example�2.1.�Script to Map Windows NT Groups to UNIX Groups</b></p><div class="example-contents"><a class="indexterm" name="id2562252"></a><pre class="screen">
276
276
#!/bin/bash
277
277
#
278
278
# initGrps.sh
321
321
System Operators (S-1-5-32-549) -&gt; -1
322
322
Users (S-1-5-32-545) -&gt; -1
323
323
</pre><p>
324
 
                </p></li><li><p>
325
 
                <a class="indexterm" name="id2556273"></a>
326
 
                <a class="indexterm" name="id2556280"></a>
327
 
                <a class="indexterm" name="id2556288"></a>
 
324
                </p></li><li class="step" title="Step 10"><p>
 
325
                <a class="indexterm" name="id2562330"></a>
 
326
                <a class="indexterm" name="id2562337"></a>
 
327
                <a class="indexterm" name="id2562345"></a>
328
328
                For each user who needs to be given a Windows Domain account, make an entry in the
329
329
                <code class="filename">/etc/passwd</code> file as well as in the Samba password backend.
330
330
                Use the system tool of your choice to create the UNIX system accounts, and use the Samba
331
331
                <code class="literal">smbpasswd</code> program to create the Domain user accounts.
332
332
                </p><p>
333
 
                <a class="indexterm" name="id2556313"></a>
334
 
                <a class="indexterm" name="id2556319"></a>
335
 
                <a class="indexterm" name="id2556325"></a>
 
333
                <a class="indexterm" name="id2562370"></a>
 
334
                <a class="indexterm" name="id2562376"></a>
 
335
                <a class="indexterm" name="id2562382"></a>
336
336
                There are a number of tools for user management under UNIX, such as
337
337
                <code class="literal">useradd</code> and <code class="literal">adduser</code>, as well as a plethora of custom
338
338
                tools. With the tool of your choice, create a home directory for each user.
339
 
                </p></li><li><p>
 
339
                </p></li><li class="step" title="Step 11"><p>
340
340
                Using the preferred tool for your UNIX system, add each user to the UNIX groups created
341
341
                previously, as necessary. File system access control will be based on UNIX group membership.
342
 
                </p></li><li><p>
 
342
                </p></li><li class="step" title="Step 12"><p>
343
343
                Create the directory mount point for the disk subsystem that is mounted to provide
344
344
                data storage for company files. In this case the mount point is indicated in the <code class="filename">smb.conf</code>
345
345
                file is <code class="filename">/data</code>. Format the file system as required, mount the formatted
346
346
                file system partition using <code class="literal">mount</code>,
347
347
                and make the appropriate changes in <code class="filename">/etc/fstab</code>.
348
 
                </p></li><li><p>
 
348
                </p></li><li class="step" title="Step 13"><p>
349
349
                Create the top-level file storage directories are follows:
350
350
</p><pre class="screen">
351
351
<code class="prompt">root# </code> mkdir -p /data/{accounts,finsvcs}
357
357
                Each department is responsible for creating its own directory structure within its
358
358
                share. The directory root of the <code class="literal">accounts</code> share is <code class="filename">/data/accounts</code>.
359
359
                The directory root of the <code class="literal">finsvcs</code> share is <code class="filename">/data/finsvcs</code>.
360
 
                </p></li><li><p>
 
360
                </p></li><li class="step" title="Step 14"><p>
361
361
                Configure the printers with the IP addresses as shown in <a class="link" href="small.html#acct2net" title="Figure�2.1.�Abmas Accounting 52-User Network Topology">&#8220;Abmas Accounting  52-User Network Topology&#8221;</a>.
362
362
                Follow the instructions in the manufacturers' manuals to permit printing to port 9100.
363
363
                This allows the CUPS spooler to print using raw mode protocols.
364
 
                <a class="indexterm" name="id2556469"></a>
365
 
                <a class="indexterm" name="id2556475"></a>
366
 
                </p></li><li><p>
367
 
                <a class="indexterm" name="id2556488"></a>
368
 
                <a class="indexterm" name="id2556496"></a>
 
364
                <a class="indexterm" name="id2562526"></a>
 
365
                <a class="indexterm" name="id2562532"></a>
 
366
                </p></li><li class="step" title="Step 15"><p>
 
367
                <a class="indexterm" name="id2562545"></a>
 
368
                <a class="indexterm" name="id2562553"></a>
369
369
                Configure the CUPS Print Queues as follows:
370
370
</p><pre class="screen">
371
371
<code class="prompt">root# </code> lpadmin -p hplj4 -v socket://192.168.1.11:9100 -E
372
372
<code class="prompt">root# </code> lpadmin -p hplj6 -v socket://192.168.1.10:9100 -E
373
373
<code class="prompt">root# </code> lpadmin -p qms -v socket://192.168.2.10:9100 -E
374
374
</pre><p>
375
 
                <a class="indexterm" name="id2556527"></a>
 
375
                <a class="indexterm" name="id2562584"></a>
376
376
                This creates the necessary print queues with no assigned print filter.
377
 
                </p></li><li><p>
378
 
                <a class="indexterm" name="id2556541"></a>
379
 
                <a class="indexterm" name="id2556547"></a>
380
 
                <a class="indexterm" name="id2556554"></a>
 
377
                </p></li><li class="step" title="Step 16"><p>
 
378
                <a class="indexterm" name="id2562598"></a>
 
379
                <a class="indexterm" name="id2562604"></a>
 
380
                <a class="indexterm" name="id2562611"></a>
381
381
                Edit the file <code class="filename">/etc/cups/mime.convs</code> to uncomment the line:
382
382
</p><pre class="screen">
383
383
application/octet-stream     application/vnd.cups-raw      0     -
384
384
</pre><p>
385
 
                </p></li><li><p>
386
 
                <a class="indexterm" name="id2556578"></a>
 
385
                </p></li><li class="step" title="Step 17"><p>
 
386
                <a class="indexterm" name="id2562635"></a>
387
387
                Edit the file <code class="filename">/etc/cups/mime.types</code> to uncomment the line:
388
388
</p><pre class="screen">
389
389
application/octet-stream
390
390
</pre><p>
391
 
                </p></li><li><p>
392
 
                <a class="indexterm" name="id2556601"></a>
 
391
                </p></li><li class="step" title="Step 18"><p>
 
392
                <a class="indexterm" name="id2562658"></a>
393
393
                Using your favorite system editor, create an <code class="filename">/etc/dhcpd.conf</code> with the
394
394
                contents as shown in <a class="link" href="small.html#dhcp01" title="Example�2.2.�Abmas Accounting DHCP Server Configuration File /etc/dhcpd.conf">&#8220;Abmas Accounting DHCP Server Configuration File  /etc/dhcpd.conf&#8221;</a>.
395
 
</p><div class="example"><a name="dhcp01"></a><p class="title"><b>Example�2.2.�Abmas Accounting DHCP Server Configuration File  <code class="filename">/etc/dhcpd.conf</code></b></p><div class="example-contents"><a class="indexterm" name="id2556633"></a><pre class="screen">
 
395
</p><div class="example"><a name="dhcp01"></a><p class="title"><b>Example�2.2.�Abmas Accounting DHCP Server Configuration File  <code class="filename">/etc/dhcpd.conf</code></b></p><div class="example-contents"><a class="indexterm" name="id2562690"></a><pre class="screen">
396
396
default-lease-time 86400;
397
397
max-lease-time 172800;
398
398
default-lease-time 86400;
436
436
subnet 127.0.0.0 netmask 255.0.0.0 {
437
437
        }
438
438
</pre></div></div><p><br class="example-break">
439
 
                </p></li><li><p>
 
439
                </p></li><li class="step" title="Step 19"><p>
440
440
                Use the standard system tool to start Samba and CUPS and configure them to start
441
441
                automatically at every system reboot. For example,
442
442
                </p><p>
443
 
                <a class="indexterm" name="id2556677"></a>
444
 
                <a class="indexterm" name="id2556683"></a>
445
 
                <a class="indexterm" name="id2556690"></a>
446
 
                <a class="indexterm" name="id2556696"></a>
447
 
                <a class="indexterm" name="id2556702"></a>
 
443
                <a class="indexterm" name="id2562734"></a>
 
444
                <a class="indexterm" name="id2562740"></a>
 
445
                <a class="indexterm" name="id2562747"></a>
 
446
                <a class="indexterm" name="id2562753"></a>
 
447
                <a class="indexterm" name="id2562759"></a>
448
448
</p><pre class="screen">
449
449
<code class="prompt">root# </code> chkconfig dhcp on
450
450
<code class="prompt">root# </code> chkconfig smb on
453
453
<code class="prompt">root# </code> /etc/rc.d/init.d/smb restart
454
454
<code class="prompt">root# </code> /etc/rc.d/init.d/cups restart
455
455
</pre><p>
456
 
                </p></li><li><p>
457
 
                <a class="indexterm" name="id2556752"></a>
458
 
                <a class="indexterm" name="id2556759"></a>
459
 
                <a class="indexterm" name="id2556767"></a>
460
 
                <a class="indexterm" name="id2556773"></a>
461
 
                <a class="indexterm" name="id2556780"></a>
462
 
                <a class="indexterm" name="id2556786"></a>
 
456
                </p></li><li class="step" title="Step 20"><p>
 
457
                <a class="indexterm" name="id2562810"></a>
 
458
                <a class="indexterm" name="id2562816"></a>
 
459
                <a class="indexterm" name="id2562824"></a>
 
460
                <a class="indexterm" name="id2562830"></a>
 
461
                <a class="indexterm" name="id2562837"></a>
 
462
                <a class="indexterm" name="id2562843"></a>
463
463
                Configure the name service switch (NSS) to handle WINS-based name resolution.
464
464
                Since this system does not use a DNS server, it is safe to remove this option from
465
465
                the NSS configuration. Edit the <code class="filename">/etc/nsswitch.conf</code> file so that
467
467
</p><pre class="screen">
468
468
hosts:  files wins
469
469
</pre><p>
470
 
                </p></li></ol></div><div class="example"><a name="acct2conf"></a><p class="title"><b>Example�2.3.�Accounting Office Network <code class="filename">smb.conf</code> File  [globals] Section</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="id2556844"></a><em class="parameter"><code>workgroup = BILLMORE</code></em></td></tr><tr><td><a class="indexterm" name="id2556854"></a><em class="parameter"><code>passwd chat = *New*Password* %n\n*Re-enter*new*password* %n\n *Password*changed*</code></em></td></tr><tr><td><a class="indexterm" name="id2556866"></a><em class="parameter"><code>username map = /etc/samba/smbusers</code></em></td></tr><tr><td><a class="indexterm" name="id2556876"></a><em class="parameter"><code>syslog = 0</code></em></td></tr><tr><td><a class="indexterm" name="id2556887"></a><em class="parameter"><code>name resolve order = wins bcast hosts</code></em></td></tr><tr><td><a class="indexterm" name="id2556898"></a><em class="parameter"><code>printcap name = CUPS</code></em></td></tr><tr><td><a class="indexterm" name="id2556908"></a><em class="parameter"><code>show add printer wizard = No</code></em></td></tr><tr><td><a class="indexterm" name="id2556919"></a><em class="parameter"><code>add user script = /usr/sbin/useradd -m -G users '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2556931"></a><em class="parameter"><code>delete user script = /usr/sbin/userdel -r '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2556942"></a><em class="parameter"><code>add group script = /usr/sbin/groupadd '%g'</code></em></td></tr><tr><td><a class="indexterm" name="id2556953"></a><em class="parameter"><code>delete group script = /usr/sbin/groupdel '%g'</code></em></td></tr><tr><td><a class="indexterm" name="id2556965"></a><em class="parameter"><code>add user to group script = /usr/sbin/usermod -A '%g' '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2556976"></a><em class="parameter"><code>add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2556988"></a><em class="parameter"><code>logon script = scripts\login.bat</code></em></td></tr><tr><td><a class="indexterm" name="id2556999"></a><em class="parameter"><code>logon path =  </code></em></td></tr><tr><td><a class="indexterm" name="id2557009"></a><em class="parameter"><code>logon drive = X:</code></em></td></tr><tr><td><a class="indexterm" name="id2557020"></a><em class="parameter"><code>domain logons = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2557030"></a><em class="parameter"><code>preferred master = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2557041"></a><em class="parameter"><code>wins support = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2557051"></a><em class="parameter"><code>printing = CUPS</code></em></td></tr></table></div></div><br class="example-break"><div class="example"><a name="acct3conf"></a><p class="title"><b>Example�2.4.�Accounting Office Network <code class="filename">smb.conf</code> File  Services and Shares Section</b></p><div class="example-contents"><table class="simplelist" border="0" summary="Simple list"><tr><td> </td></tr><tr><td><em class="parameter"><code>[homes]</code></em></td></tr><tr><td><a class="indexterm" name="id2557091"></a><em class="parameter"><code>comment = Home Directories</code></em></td></tr><tr><td><a class="indexterm" name="id2557102"></a><em class="parameter"><code>valid users = %S</code></em></td></tr><tr><td><a class="indexterm" name="id2557112"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2557123"></a><em class="parameter"><code>browseable = No</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="id2557141"></a><em class="parameter"><code>comment = SMB Print Spool</code></em></td></tr><tr><td><a class="indexterm" name="id2557152"></a><em class="parameter"><code>path = /var/spool/samba</code></em></td></tr><tr><td><a class="indexterm" name="id2557162"></a><em class="parameter"><code>printable = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2557173"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2557183"></a><em class="parameter"><code>use client driver = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2557193"></a><em class="parameter"><code>browseable = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[netlogon]</code></em></td></tr><tr><td><a class="indexterm" name="id2557212"></a><em class="parameter"><code>comment = Network Logon Service</code></em></td></tr><tr><td><a class="indexterm" name="id2557223"></a><em class="parameter"><code>path = /data/%U</code></em></td></tr><tr><td><a class="indexterm" name="id2557234"></a><em class="parameter"><code>valid users = %S</code></em></td></tr><tr><td><a class="indexterm" name="id2557244"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[accounts]</code></em></td></tr><tr><td><a class="indexterm" name="id2557263"></a><em class="parameter"><code>comment = Accounting Files</code></em></td></tr><tr><td><a class="indexterm" name="id2557273"></a><em class="parameter"><code>path = /data/accounts</code></em></td></tr><tr><td><a class="indexterm" name="id2557284"></a><em class="parameter"><code>valid users = %G</code></em></td></tr><tr><td><a class="indexterm" name="id2557294"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[finsvcs]</code></em></td></tr><tr><td><a class="indexterm" name="id2557313"></a><em class="parameter"><code>comment = Financial Service Files</code></em></td></tr><tr><td><a class="indexterm" name="id2557324"></a><em class="parameter"><code>path = /data/finsvcs</code></em></td></tr><tr><td><a class="indexterm" name="id2557334"></a><em class="parameter"><code>valid users = %G</code></em></td></tr><tr><td><a class="indexterm" name="id2557345"></a><em class="parameter"><code>read only = No</code></em></td></tr></table></div></div><br class="example-break"><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2557356"></a>Validation</h3></div></div></div><p>
 
470
                </p></li></ol></div><div class="example"><a name="acct2conf"></a><p class="title"><b>Example�2.3.�Accounting Office Network <code class="filename">smb.conf</code> File  [globals] Section</b></p><div class="example-contents"><table border="0" summary="Simple list" class="simplelist"><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="id2562901"></a><em class="parameter"><code>workgroup = BILLMORE</code></em></td></tr><tr><td><a class="indexterm" name="id2562911"></a><em class="parameter"><code>passwd chat = *New*Password* %n\n*Re-enter*new*password* %n\n *Password*changed*</code></em></td></tr><tr><td><a class="indexterm" name="id2562923"></a><em class="parameter"><code>username map = /etc/samba/smbusers</code></em></td></tr><tr><td><a class="indexterm" name="id2562933"></a><em class="parameter"><code>syslog = 0</code></em></td></tr><tr><td><a class="indexterm" name="id2562944"></a><em class="parameter"><code>name resolve order = wins bcast hosts</code></em></td></tr><tr><td><a class="indexterm" name="id2562955"></a><em class="parameter"><code>printcap name = CUPS</code></em></td></tr><tr><td><a class="indexterm" name="id2562965"></a><em class="parameter"><code>show add printer wizard = No</code></em></td></tr><tr><td><a class="indexterm" name="id2562976"></a><em class="parameter"><code>add user script = /usr/sbin/useradd -m -G users '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2562988"></a><em class="parameter"><code>delete user script = /usr/sbin/userdel -r '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2562999"></a><em class="parameter"><code>add group script = /usr/sbin/groupadd '%g'</code></em></td></tr><tr><td><a class="indexterm" name="id2563010"></a><em class="parameter"><code>delete group script = /usr/sbin/groupdel '%g'</code></em></td></tr><tr><td><a class="indexterm" name="id2563022"></a><em class="parameter"><code>add user to group script = /usr/sbin/usermod -A '%g' '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2563033"></a><em class="parameter"><code>add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u'</code></em></td></tr><tr><td><a class="indexterm" name="id2563045"></a><em class="parameter"><code>logon script = scripts\login.bat</code></em></td></tr><tr><td><a class="indexterm" name="id2563056"></a><em class="parameter"><code>logon path =  </code></em></td></tr><tr><td><a class="indexterm" name="id2563066"></a><em class="parameter"><code>logon drive = X:</code></em></td></tr><tr><td><a class="indexterm" name="id2563077"></a><em class="parameter"><code>domain logons = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2563087"></a><em class="parameter"><code>preferred master = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2563098"></a><em class="parameter"><code>wins support = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2563108"></a><em class="parameter"><code>printing = CUPS</code></em></td></tr></table></div></div><br class="example-break"><div class="example"><a name="acct3conf"></a><p class="title"><b>Example�2.4.�Accounting Office Network <code class="filename">smb.conf</code> File  Services and Shares Section</b></p><div class="example-contents"><table border="0" summary="Simple list" class="simplelist"><tr><td> </td></tr><tr><td><em class="parameter"><code>[homes]</code></em></td></tr><tr><td><a class="indexterm" name="id2563148"></a><em class="parameter"><code>comment = Home Directories</code></em></td></tr><tr><td><a class="indexterm" name="id2563159"></a><em class="parameter"><code>valid users = %S</code></em></td></tr><tr><td><a class="indexterm" name="id2563169"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td><a class="indexterm" name="id2563180"></a><em class="parameter"><code>browseable = No</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="id2563198"></a><em class="parameter"><code>comment = SMB Print Spool</code></em></td></tr><tr><td><a class="indexterm" name="id2563209"></a><em class="parameter"><code>path = /var/spool/samba</code></em></td></tr><tr><td><a class="indexterm" name="id2563219"></a><em class="parameter"><code>printable = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2563230"></a><em class="parameter"><code>guest ok = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2563240"></a><em class="parameter"><code>use client driver = Yes</code></em></td></tr><tr><td><a class="indexterm" name="id2563250"></a><em class="parameter"><code>browseable = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[netlogon]</code></em></td></tr><tr><td><a class="indexterm" name="id2563269"></a><em class="parameter"><code>comment = Network Logon Service</code></em></td></tr><tr><td><a class="indexterm" name="id2563280"></a><em class="parameter"><code>path = /data/%U</code></em></td></tr><tr><td><a class="indexterm" name="id2563291"></a><em class="parameter"><code>valid users = %S</code></em></td></tr><tr><td><a class="indexterm" name="id2563301"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[accounts]</code></em></td></tr><tr><td><a class="indexterm" name="id2563320"></a><em class="parameter"><code>comment = Accounting Files</code></em></td></tr><tr><td><a class="indexterm" name="id2563330"></a><em class="parameter"><code>path = /data/accounts</code></em></td></tr><tr><td><a class="indexterm" name="id2563341"></a><em class="parameter"><code>valid users = %G</code></em></td></tr><tr><td><a class="indexterm" name="id2563351"></a><em class="parameter"><code>read only = No</code></em></td></tr><tr><td> </td></tr><tr><td><em class="parameter"><code>[finsvcs]</code></em></td></tr><tr><td><a class="indexterm" name="id2563370"></a><em class="parameter"><code>comment = Financial Service Files</code></em></td></tr><tr><td><a class="indexterm" name="id2563381"></a><em class="parameter"><code>path = /data/finsvcs</code></em></td></tr><tr><td><a class="indexterm" name="id2563391"></a><em class="parameter"><code>valid users = %G</code></em></td></tr><tr><td><a class="indexterm" name="id2563402"></a><em class="parameter"><code>read only = No</code></em></td></tr></table></div></div><br class="example-break"><div class="sect2" title="Validation"><div class="titlepage"><div><div><h3 class="title"><a name="id2563413"></a>Validation</h3></div></div></div><p>
471
471
                Does everything function as it ought? That is the key question at this point.
472
472
                Here are some simple steps to validate your Samba server configuration.
473
 
                </p><div class="procedure"><a name="id2557368"></a><p class="title"><b>Procedure�2.2.�Validation Steps</b></p><ol type="1"><li><p>
474
 
                        <a class="indexterm" name="id2557378"></a>
 
473
                </p><div class="procedure" title="Procedure�2.2.�Validation Steps"><a name="id2563425"></a><p class="title"><b>Procedure�2.2.�Validation Steps</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
 
474
                        <a class="indexterm" name="id2563435"></a>
475
475
                        If your <code class="filename">smb.conf</code> file has bogus options or parameters, this may cause Samba
476
476
                        to refuse to start. The first step should always be to validate the contents
477
477
                        of this file by running:
517
517
Ignoring unknown parameter "dogbert"
518
518
</pre><p>
519
519
                        Clear away all errors before proceeding, and start or restart samba as necessary.
520
 
                        </p></li><li><p>
521
 
                        <a class="indexterm" name="id2557458"></a>
522
 
                        <a class="indexterm" name="id2557464"></a>
523
 
                        <a class="indexterm" name="id2557470"></a>
524
 
                        <a class="indexterm" name="id2557476"></a>
 
520
                        </p></li><li class="step" title="Step 2"><p>
 
521
                        <a class="indexterm" name="id2563515"></a>
 
522
                        <a class="indexterm" name="id2563521"></a>
 
523
                        <a class="indexterm" name="id2563527"></a>
 
524
                        <a class="indexterm" name="id2563533"></a>
525
525
                        Check that the Samba server is running:
526
526
</p><pre class="screen">
527
527
<code class="prompt">root# </code> ps ax | grep mbd
537
537
                        two instances of it. For more information regarding <code class="literal">winbindd</code>, see
538
538
                        <span class="emphasis"><em>TOSHARG2</em></span>, Chapter 23, Section 23.3. The single instance of
539
539
                        <code class="literal">smbd</code> is normal.
540
 
                        </p></li><li><p>
541
 
                        <a class="indexterm" name="id2557527"></a>
 
540
                        </p></li><li class="step" title="Step 3"><p>
 
541
                        <a class="indexterm" name="id2563584"></a>
542
542
                        Check that an anonymous connection can be made to the Samba server:
543
543
</p><pre class="screen">
544
544
<code class="prompt">root# </code> smbclient -L localhost -U%
566
566
                        of browsing the server from a Windows client to obtain a list of shares on the server.
567
567
                        The <code class="constant">-U%</code> argument means to send a <code class="constant">NULL</code> username and
568
568
                        a <code class="constant">NULL</code> password.
569
 
                        </p></li><li><p>
570
 
                        <a class="indexterm" name="id2557578"></a>
571
 
                        <a class="indexterm" name="id2557584"></a>
572
 
                        <a class="indexterm" name="id2557590"></a>
 
569
                        </p></li><li class="step" title="Step 4"><p>
 
570
                        <a class="indexterm" name="id2563635"></a>
 
571
                        <a class="indexterm" name="id2563641"></a>
 
572
                        <a class="indexterm" name="id2563647"></a>
573
573
                        Verify that the printers have the IP addresses assigned in the DHCP server configuration file.
574
574
                        The easiest way to do this is to ping the printer name. Immediately after the ping response
575
575
                        has been received, execute <code class="literal">arp -a</code> to find the MAC address of the printer
587
587
                        The MAC address <code class="constant">08:00:46:7A:35:E4</code> matches that specified for the
588
588
                        IP address from which the printer has responded and the entry for it in the
589
589
                        <code class="filename">/etc/dhcpd.conf</code> file.
590
 
                        </p></li><li><p>
591
 
                        <a class="indexterm" name="id2557651"></a>
 
590
                        </p></li><li class="step" title="Step 5"><p>
 
591
                        <a class="indexterm" name="id2563708"></a>
592
592
                        Make an authenticated connection to the server using the <code class="literal">smbclient</code> tool:
593
593
</p><pre class="screen">
594
594
<code class="prompt">root# </code> smbclient //sleeth/accounts -U alanm
605
605
           65387 blocks of size 65536. 28590 blocks available
606
606
smb: \&gt; q
607
607
</pre><p>
608
 
                        </p></li></ol></div></div><div class="procedure"><a name="id2557699"></a><p class="title"><b>Procedure�2.3.�Windows XP Professional Client Configuration</b></p><ol type="1"><li><p>
 
608
                        </p></li></ol></div></div><div class="procedure" title="Procedure�2.3.�Windows XP Professional Client Configuration"><a name="id2563756"></a><p class="title"><b>Procedure�2.3.�Windows XP Professional Client Configuration</b></p><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
609
609
                Configure clients to the network settings shown in <a class="link" href="small.html#acct2net" title="Figure�2.1.�Abmas Accounting 52-User Network Topology">&#8220;Abmas Accounting  52-User Network Topology&#8221;</a>.
610
610
                All clients use DHCP for TCP/IP protocol stack configuration.
611
 
                <a class="indexterm" name="id2557717"></a>
612
 
                <a class="indexterm" name="id2557723"></a>
 
611
                <a class="indexterm" name="id2563774"></a>
 
612
                <a class="indexterm" name="id2563780"></a>
613
613
                DHCP configures all Windows clients to use the WINS Server address <code class="constant">192.168.1.1</code>.
614
 
                </p></li><li><p>
 
614
                </p></li><li class="step" title="Step 2"><p>
615
615
                Join the Windows Domain called <code class="constant">BILLMORE</code>. Use the Domain Administrator
616
616
                username <code class="constant">root</code> and the SMB password you assigned to this account.
617
617
                A detailed step-by-step procedure for joining a Windows 200x/XP Professional client to
618
618
                a Windows Domain is given in <a class="link" href="appendix.html" title="Chapter�15.�A Collection of Useful Tidbits">&#8220;A Collection of Useful Tidbits&#8221;</a>, <a class="link" href="appendix.html#domjoin" title="Joining a Domain: Windows 200x/XP Professional">&#8220;Joining a Domain: Windows 200x/XP Professional&#8221;</a>.
619
619
                Reboot the machine as prompted and then log on using a Domain User account.
620
 
                </p></li><li><p>
 
620
                </p></li><li class="step" title="Step 3"><p>
621
621
                Verify on each client that the machine called <code class="constant">SLEETH</code>
622
622
                is visible in <span class="guimenu">My Network Places</span>, that it is
623
623
                possible to connect to it and see the shares <span class="guimenuitem">accounts</span>
624
624
                 and <span class="guimenuitem">finsvcs</span>,
625
625
                and that it is possible to open that share to reveal its contents.
626
 
                </p></li><li><p>
 
626
                </p></li><li class="step" title="Step 4"><p>
627
627
                Instruct all users to log onto the workstation using their assigned username and password.
628
 
                </p></li><li><p>
 
628
                </p></li><li class="step" title="Step 5"><p>
629
629
                Install a printer on each using the following steps:
630
 
                </p><div class="procedure"><ol type="1"><li><p>
 
630
                </p><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Step 5.1"><p>
631
631
                                Click <span class="guimenu">Start</span> &#8594; <span class="guimenuitem">Settings</span> &#8594; <span class="guimenuitem">Printers</span>+<span class="guiicon">Add Printer</span>+<span class="guibutton">Next</span>. Do not click <span class="guimenuitem">Network printer</span>.
632
632
                                        Ensure that <span class="guimenuitem">Local printer</span> is selected.
633
 
                                </p></li><li><p>
 
633
                                </p></li><li class="step" title="Step 5.2"><p>
634
634
                                Click <span class="guibutton">Next</span>. In the
635
635
                                <span class="guimenuitem">Manufacturer:</span> panel, select <code class="constant">HP</code>.
636
636
                                In the <span class="guimenuitem">Printers:</span> panel, select the printer called
637
637
                                <code class="constant">HP LaserJet 4</code>. Click <span class="guibutton">Next</span>.
638
 
                                </p></li><li><p>
 
638
                                </p></li><li class="step" title="Step 5.3"><p>
639
639
                                In the <span class="guimenuitem">Available ports:</span> panel, select
640
640
                                <code class="constant">FILE:</code>. Accept the default printer name by clicking
641
 
                                <span class="guibutton">Next</span>. When asked, &#8220;<span class="quote">Would you like to print a
642
 
                                test page?</span>&#8221;, click <span class="guimenuitem">No</span>. Click
 
641
                                <span class="guibutton">Next</span>. When asked, <span class="quote">&#8220;<span class="quote">Would you like to print a
 
642
                                test page?</span>&#8221;</span>, click <span class="guimenuitem">No</span>. Click
643
643
                                <span class="guibutton">Finish</span>.
644
 
                                </p></li><li><p>
 
644
                                </p></li><li class="step" title="Step 5.4"><p>
645
645
                                You may be prompted for the name of a file to print to. If so, close the
646
646
                                dialog panel. Right-click <span class="guiicon">HP LaserJet 4</span> &#8594; <span class="guimenuitem">Properties</span> &#8594; <span class="guisubmenu">Details (Tab)</span> &#8594; <span class="guimenuitem">Add Port</span>.
647
 
                                </p></li><li><p>
 
647
                                </p></li><li class="step" title="Step 5.5"><p>
648
648
                                In the <span class="guimenuitem">Network</span> panel, enter the name of
649
649
                                the print queue on the Samba server as follows: <code class="constant">\\SERVER\hplj4</code>.
650
650
                                Click <span class="guibutton">OK</span>+<span class="guibutton">OK</span> to complete the installation.
651
 
                                </p></li><li><p>
 
651
                                </p></li><li class="step" title="Step 5.6"><p>
652
652
                                Repeat the printer installation steps above for the HP LaserJet 6 printer
653
653
                                as well as for the QMS Magicolor XXXX laser printer.
654
 
                                </p></li></ol></div></li></ol></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2558004"></a>Notebook Computers: A Special Case</h3></div></div></div><p>
 
654
                                </p></li></ol></div></li></ol></div><div class="sect2" title="Notebook Computers: A Special Case"><div class="titlepage"><div><div><h3 class="title"><a name="id2564061"></a>Notebook Computers: A Special Case</h3></div></div></div><p>
655
655
        As a network administrator, you already know how to create local machine accounts for Windows 200x/XP
656
656
        Professional systems. This is the preferred solution to provide continuity of work for notebook users
657
657
        so that absence from the office network environment does not become a barrier to productivity.
661
661
        transparently access network resources as if logged onto the domain itself. There are some trade-offs
662
662
        that mean that as the network is more tightly secured, it becomes necessary to modify Windows client
663
663
        configuration somewhat.
664
 
        </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2558030"></a>Key Points Learned</h3></div></div></div><p>
 
664
        </p></div><div class="sect2" title="Key Points Learned"><div class="titlepage"><div><div><h3 class="title"><a name="id2564087"></a>Key Points Learned</h3></div></div></div><p>
665
665
                In this network design and implementation exercise, you created a Windows NT4-style Domain
666
666
                Controller using Samba-3.0.20. Following these guidelines, you experienced
667
667
                and implemented several important aspects of Windows networking. In the next chapter,
668
668
                you build on the experience. These are the highlights from this chapter:
669
 
                </p><div class="itemizedlist"><ul type="disc"><li><p>
670
 
                        <a class="indexterm" name="id2558050"></a>
 
669
                </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
 
670
                        <a class="indexterm" name="id2564107"></a>
671
671
                        You implemented a DHCP server, and Microsoft Windows clients were able to obtain all necessary
672
672
                        network configuration settings from this server.
673
 
                        </p></li><li><p>
674
 
                        <a class="indexterm" name="id2558063"></a>
 
673
                        </p></li><li class="listitem"><p>
 
674
                        <a class="indexterm" name="id2564120"></a>
675
675
                        You created a Windows Domain Controller. You were able to use the network logon service
676
676
                        and successfully joined Windows 200x/XP Professional clients to the Domain.
677
 
                        </p></li><li><p>
678
 
                        <a class="indexterm" name="id2558076"></a>
 
677
                        </p></li><li class="listitem"><p>
 
678
                        <a class="indexterm" name="id2564134"></a>
679
679
                        You created raw print queues in the CUPS printing system. You maintained a simple
680
680
                        printing system so that all users can share centrally managed printers. You installed
681
681
                        native printer drivers on the Windows clients.
682
 
                        </p></li><li><p>
 
682
                        </p></li><li class="listitem"><p>
683
683
                        You experienced the benefits of centrally managed user accounts on the server.
684
 
                        </p></li><li><p>
 
684
                        </p></li><li class="listitem"><p>
685
685
                        You offered Mobile notebook users a solution that allows them to continue to work
686
686
                        while away from the office and not connected to the corporate network.
687
 
                        </p></li></ul></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2558104"></a>Questions and Answers</h2></div></div></div><p>
 
687
                        </p></li></ul></div></div></div><div class="sect1" title="Questions and Answers"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2564161"></a>Questions and Answers</h2></div></div></div><p>
688
688
        Your new Domain Controller is ready to serve you. What does it mean? Here are some questions and answers that
689
689
        may help.
690
 
        </p><div class="qandaset"><dl><dt>1. <a href="small.html#id2558117">
 
690
        </p><div class="qandaset" title="Frequently Asked Questions"><a name="id2564172"></a><dl><dt>1. <a href="small.html#id2564174">
691
691
                What is the key benefit of using DHCP to configure Windows client TCP/IP stacks?
692
 
                </a></dt><dt>2. <a href="small.html#id2558144">
 
692
                </a></dt><dt>2. <a href="small.html#id2564201">
693
693
                Are there any DHCP server configuration parameters in the /etc/dhcpd.conf
694
694
                that should be noted in particular?
695
 
                </a></dt><dt>3. <a href="small.html#id2558175">
 
695
                </a></dt><dt>3. <a href="small.html#id2564232">
696
696
                Is it possible to create a Windows Domain account that is specifically called Administrator?
697
 
                </a></dt><dt>4. <a href="small.html#id2558211">
 
697
                </a></dt><dt>4. <a href="small.html#id2564268">
698
698
                Why is it necessary to give the Windows Domain Administrator a UNIX UID of 0?
699
 
                </a></dt><dt>5. <a href="small.html#id2558250">
 
699
                </a></dt><dt>5. <a href="small.html#id2564307">
700
700
                One of my junior staff needs the ability to add machines to the Domain, but I do not want to give him
701
701
                root access. How can we do this?
702
 
                </a></dt><dt>6. <a href="small.html#id2558289">
 
702
                </a></dt><dt>6. <a href="small.html#id2564346">
703
703
                Why must I map Windows Domain Groups to UNIX groups?
704
 
                </a></dt><dt>7. <a href="small.html#id2558325">
 
704
                </a></dt><dt>7. <a href="small.html#id2564382">
705
705
                I deleted my root account and now I cannot add it back! What can I do?
706
 
                </a></dt><dt>8. <a href="small.html#id2558393">
 
706
                </a></dt><dt>8. <a href="small.html#id2564450">
707
707
                When I run net groupmap list, it reports a group called Administrators
708
708
                as well as Domain Admins. What is the difference between them?
709
 
                </a></dt><dt>9. <a href="small.html#id2558437">
 
709
                </a></dt><dt>9. <a href="small.html#id2564494">
710
710
                What is the effect of changing the name of a Samba server or of changing the Domain name?
711
 
                </a></dt><dt>10. <a href="small.html#id2558487">
 
711
                </a></dt><dt>10. <a href="small.html#id2564544">
712
712
                How can I manage user accounts from my Windows XP Professional workstation?
713
 
                </a></dt></dl><table border="0" summary="Q and A Set"><col align="left" width="1%"><tbody><tr class="question"><td align="left" valign="top"><a name="id2558117"></a><a name="id2558119"></a><p><b>1.</b></p></td><td align="left" valign="top"><p>
 
713
                </a></dt></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%"><col><tbody><tr class="question" title="1."><td align="left" valign="top"><a name="id2564174"></a><a name="id2564176"></a><p><b>1.</b></p></td><td align="left" valign="top"><p>
714
714
                What is the key benefit of using DHCP to configure Windows client TCP/IP stacks?
715
715
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
716
716
                First and foremost, portability. It means that notebook users can move between
719
719
                either using DHCP assigned addressing or when using dial-up networking, settings such as
720
720
                default routes and DNS server addresses that apply only to the Abmas office environment do
721
721
                not interfere with remote operations. This is an extremely important feature of DHCP.
722
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558144"></a><a name="id2558146"></a><p><b>2.</b></p></td><td align="left" valign="top"><p>
 
722
                </p></td></tr><tr class="question" title="2."><td align="left" valign="top"><a name="id2564201"></a><a name="id2564203"></a><p><b>2.</b></p></td><td align="left" valign="top"><p>
723
723
                Are there any DHCP server configuration parameters in the <code class="filename">/etc/dhcpd.conf</code>
724
724
                that should be noted in particular?
725
725
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
728
728
                with the WINS server, and then instructs the client to first query the WINS server when a
729
729
                NetBIOS machine name needs to be resolved to an IP Address. This configuration
730
730
                results in far lower UDP broadcast traffic than would be the case if WINS was not used.
731
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558175"></a><a name="id2558177"></a><p><b>3.</b></p></td><td align="left" valign="top"><p>
 
731
                </p></td></tr><tr class="question" title="3."><td align="left" valign="top"><a name="id2564232"></a><a name="id2564234"></a><p><b>3.</b></p></td><td align="left" valign="top"><p>
732
732
                Is it possible to create a Windows Domain account that is specifically called <code class="constant">Administrator</code>?
733
733
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
734
734
                You can surely create a Windows Domain account called <code class="constant">Administrator</code>. It is also
735
735
                possible to map that account so that it has the effective UNIX UID of 0. This way it isn't
736
736
                necessary to use the <em class="parameter"><code>username map</code></em> facility to map this account to the UNIX
737
737
                account called <code class="constant">root</code>.
738
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558211"></a><a name="id2558213"></a><p><b>4.</b></p></td><td align="left" valign="top"><p>
 
738
                </p></td></tr><tr class="question" title="4."><td align="left" valign="top"><a name="id2564268"></a><a name="id2564270"></a><p><b>4.</b></p></td><td align="left" valign="top"><p>
739
739
                Why is it necessary to give the Windows Domain <code class="constant">Administrator</code> a UNIX UID of 0?
740
740
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
741
741
                The Windows Domain <code class="constant">Administrator</code> account is the most privileged account that
745
745
                Administrator to manage accounts as well as permissions, privileges, and security
746
746
                settings within the Domain and on the Samba server, equivalent rights must be assigned. This is
747
747
                achieved with the <code class="constant">root</code> UID equal to 0.
748
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558250"></a><a name="id2558252"></a><p><b>5.</b></p></td><td align="left" valign="top"><p>
 
748
                </p></td></tr><tr class="question" title="5."><td align="left" valign="top"><a name="id2564307"></a><a name="id2564309"></a><p><b>5.</b></p></td><td align="left" valign="top"><p>
749
749
                One of my junior staff needs the ability to add machines to the Domain, but I do not want to give him
750
750
                <code class="constant">root</code> access. How can we do this?
751
751
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
754
754
                (or the equivalent <code class="constant">wheel</code> on some UNIX systems) that has a GID of 0.
755
755
                This must be the primary GID of the account of the user who is a member of the Windows <code class="constant">
756
756
                Domain Admins</code> account.
757
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558289"></a><a name="id2558291"></a><p><b>6.</b></p></td><td align="left" valign="top"><p>
 
757
                </p></td></tr><tr class="question" title="6."><td align="left" valign="top"><a name="id2564346"></a><a name="id2564348"></a><p><b>6.</b></p></td><td align="left" valign="top"><p>
758
758
                Why must I map Windows Domain Groups to UNIX groups?
759
759
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
760
760
                Samba-3 does not permit a Domain Group to become visible to Domain network clients unless the account
761
761
                has a UNIX group account equivalent. The Domain groups that should be given UNIX equivalents are
762
762
                <span class="guimenu">Domain Guests</span>, <span class="guimenu">Domain Users</span>, and <span class="guimenu">Domain Admins</span>.
763
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558325"></a><a name="id2558328"></a><p><b>7.</b></p></td><td align="left" valign="top"><p>
 
763
                </p></td></tr><tr class="question" title="7."><td align="left" valign="top"><a name="id2564382"></a><a name="id2564385"></a><p><b>7.</b></p></td><td align="left" valign="top"><p>
764
764
                I deleted my <code class="constant">root</code> account and now I cannot add it back! What can I do?
765
765
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
766
766
                This is a nasty problem. Fortunately, there is a solution.
767
 
                </p><div class="procedure"><ol type="1"><li><p>
 
767
                </p><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Step 1"><p>
768
768
                        Back up your existing configuration files in case you need to restore them.
769
 
                        </p></li><li><p>
 
769
                        </p></li><li class="step" title="Step 2"><p>
770
770
                        Rename the <code class="filename">group_mapping.tdb</code> file.
771
 
                        </p></li><li><p>
 
771
                        </p></li><li class="step" title="Step 3"><p>
772
772
                        Use the <code class="literal">smbpasswd</code> to add the root account.
773
 
                        </p></li><li><p>
 
773
                        </p></li><li class="step" title="Step 4"><p>
774
774
                        Restore the <code class="filename">group_mapping.tdb</code> file.
775
 
                        </p></li></ol></div></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558393"></a><a name="id2558395"></a><p><b>8.</b></p></td><td align="left" valign="top"><p>
 
775
                        </p></li></ol></div></td></tr><tr class="question" title="8."><td align="left" valign="top"><a name="id2564450"></a><a name="id2564452"></a><p><b>8.</b></p></td><td align="left" valign="top"><p>
776
776
                When I run <code class="literal">net groupmap list</code>, it reports a group called <span class="guimenu">Administrators</span>
777
777
                as well as <span class="guimenu">Domain Admins</span>. What is the difference between them?
778
778
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
780
780
                present as the Local Group account on a Domain Member server or workstation. Samba uses only Domain
781
781
                Groups at this time. A Workstation or Server Local Group has no meaning in a Samba context. This
782
782
                may change at some later date. These accounts are provided only so that security objects are correctly shown.
783
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558437"></a><a name="id2558440"></a><p><b>9.</b></p></td><td align="left" valign="top"><p>
 
783
                </p></td></tr><tr class="question" title="9."><td align="left" valign="top"><a name="id2564494"></a><a name="id2564497"></a><p><b>9.</b></p></td><td align="left" valign="top"><p>
784
784
                What is the effect of changing the name of a Samba server or of changing the Domain name?
785
785
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
786
786
                If you elect to change the name of the Samba server, on restarting <code class="literal">smbd</code>,
792
792
                SID before the change is made. You can back up the SID using the <code class="literal">net getlocalsid</code> (Samba-3)
793
793
                or the <code class="literal">smbpasswd</code> (Samba-2.2.x). To change the SID, you use the same tool. Be sure
794
794
                to check the man page for this command for detailed instructions regarding the steps involved.
795
 
                </p></td></tr><tr class="question"><td align="left" valign="top"><a name="id2558487"></a><a name="id2558489"></a><p><b>10.</b></p></td><td align="left" valign="top"><p>
 
795
                </p></td></tr><tr class="question" title="10."><td align="left" valign="top"><a name="id2564544"></a><a name="id2564546"></a><p><b>10.</b></p></td><td align="left" valign="top"><p>
796
796
                How can I manage user accounts from my Windows XP Professional workstation?
797
797
                </p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
798
798
                Samba-3 implements a Windows NT4-style security domain architecture. This type of Domain cannot