source: vendor/3.6.23/docs-xml/using_samba/appf.xml

Last change on this file was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 7.8 KB
Line 
1<appendix label="F" id="SAMBA-AP-F">
2<title>Sample Configuration File</title>
3
4
5
6
7<para>
8<indexterm id="appf-idx-993481-0" class="startofrange"><primary>configuration files</primary><secondary>sample of</secondary></indexterm>This appendix gives an example of a production <filename>smb.conf</filename> file and looks at how many of the options are used in practice. The following is a slightly disguised version of one we used at a corporation with five Linux servers, five Windows for Workgroups clients and three NT Workstation clients:</para>
9
10
11<programlisting># smb.conf -- File Server System for: 1 Example.COM BSC &amp; Management Office
12[globals]
13 workgroup = 1EG_BSC
14 interfaces = 10.10.1.14/24</programlisting>
15
16
17<para>We provide this service on only one of the machine's interfaces. The <literal>interfaces</literal> option sets its address and netmask, where <literal>/24</literal> is the same as using the netmask 255.255.255.0:</para>
18
19
20<programlisting>comment = Samba ver. %v
21 preexec = csh -c `echo /usr/samba/bin/smbclient \
22 -M %m -I %I` &amp;</programlisting>
23
24
25<para>We use the <command>preexec</command> command to log information about all connections by machine name (<literal>%m</literal>) and IP address (<literal>%I)</literal>:</para>
26
27
28<programlisting># smbstatus will output various info on current status
29 status = yes
30 browseable = yes
31 printing = bsd
32
33 # the username that will be used for access to services
34 # specified with 'guest = ok'
35 guest account = samba</programlisting>
36
37
38<para>The default guest account was <literal>nobody</literal>, uid -1, which produced log messages on one of our machines saying "your server is being unfriendly," so we created a specific Samba guest account for browsing and printing:</para>
39
40
41<programlisting># superuser account - admin privileges to shares, with no
42 # restrictions
43 # WARNING - use this with care: files can be modified,
44 # regardless of file permissions
45 admin users = root
46
47 # who is NOT allowed to connect to ANY service
48 invalid users = @wheel, mail, deamon, adt</programlisting>
49
50
51<para>Daemons can't use Samba, only people. The <literal>invalid</literal> <literal>users</literal> option closes a security hole; it prevents intruders from breaking in by pretending to be a daemon process.</para>
52
53
54<programlisting># hosts that are ALLOWED or DENIED from connecting to ANY service
55 hosts allow = 10.10.1.
56 hosts deny = 10.10.1.6
57
58 # where the lock files will be located
59 lock directory = /var/lock/samba/locks
60
61 # debug log files
62 # %m = separate log for each NetBIOS name (each machine)
63 log file = /var/log/samba/log.%m
64
65 # We send priority 0, 1 and 2 messages to the system logs
66 syslog = 2
67
68 # If a WinPopup message is sent to the server,
69 # redirect it to a user via e-mail
70
71 message command = /bin/mail -s 'message from #% on %m' \
72 pkelly &lt; %s; rm %s
73
74# ---------------------------------------------------
75# [globals] Performance Tuning
76# ---------------------------------------------------
77
78 # caching algorithm to reduce time doing getwd() calls.
79 getwd cache = yes
80
81 socket options = TCP_NODELAY
82
83 # tell the server whether the client is present and
84 # responding in seconds
85 keep alive = 60
86
87 # num minutes of inactivity before a connection is
88 # considered dead
89 dead time = 30
90
91 read prediction = yes
92 share modes = yes
93 max xmit = 17384
94 read size = 512</programlisting>
95
96
97<para>The <literal>share</literal> <literal>modes</literal>, <literal>max</literal>, <literal>xinit</literal>, and <literal>read</literal> <literal>size</literal> options are machine-specific (see <link linkend="SAMBA-AP-B">Appendix B</link>):</para>
98
99
100<programlisting># locking is done by the server
101 locking = yes
102
103 # control whether dos style attributes should be mapped
104 # to unix execute bits
105 map hidden = yes
106 map archive = yes
107 map system = yes</programlisting>
108
109
110<para>The three <literal>map</literal> options will work only on shares with a create mode that includes the execute bits (0111). Our <literal>homes</literal> and <literal>printers</literal> shares won't honor them, but the [<literal>www]</literal> share will:</para>
111
112
113<programlisting># ---------------------------------------------------------
114# [globals] Security and Domain Logon Services
115# ---------------------------------------------------------
116# connections are made with UID and GID, not as shares
117 security = user
118
119# boolean variable that controls whether passwords
120# will be encrypted
121 encrypt passwords = yes
122 passwd chat = "*New password:*" %n\r "*New password (again):*" %n\r \ "*Password changed*"
123 passwd program = /usr/bin/passwd %u
124
125# Always become the local master browser
126 domain master = yes
127 preferred master = yes
128 os level = 34
129
130# For domain logons to work correctly. Samba acts as a
131# primary domain controller.
132 domain logons = yes
133
134# Logon script to run for user off the server each time
135# username (%U) logs in. Set the time, connect to shares,
136# virus checks, etc.
137 logon script = scripts\%U.bat
138
139[netlogon]
140 comment = "Domain Logon Services"
141 path = /u/netlogon
142 writable = yes
143 create mode = 444
144 guest ok = no
145 volume = "Network"</programlisting>
146
147
148<para>This share, discussed in <link linkend="SAMBA-CH-6">Chapter 6</link>, is required for Samba to work smoothly in a Windows NT domain:</para>
149
150
151<programlisting># -----------------------------------------------------------
152# [homes] User Home Directories
153# -----------------------------------------------------------
154[homes]
155 comment = "Home Directory for : %u "
156 path = /u/users/%u</programlisting>
157
158
159<para>The password file of the Samba server specifies each person's home directory as <emphasis>/home/</emphasis><replaceable>machine_name</replaceable><emphasis>/</emphasis><replaceable>person</replaceable>, which NFS converts to point to the actual physicl location under <emphasis>/u/users</emphasis>. The <literal>path</literal> option in the <literal>[homes]</literal> share tells Samba the actual (non-NFS) location:</para>
160
161
162<programlisting>guest ok = no
163 read only = no
164 create mode = 644
165 writable = yes
166 browseable = no
167
168# -----------------------------------------------------------
169# [printers] System Printers
170# -----------------------------------------------------------
171[printers]
172 comment = "Printers"
173 path = /var/spool/lpd/samba
174 printcap name = /etc/printcap
175 printable = yes
176 public = no
177 writable = no
178
179 lpq command = /usr/bin/lpq -P%p
180 lprm command = /usr/bin/lprm -P%p %j
181 lppause command = /usr/sbin/lpc stop %p
182 lpresume command = /usr/sbin/lpc start %p
183
184 create mode = 0700
185
186 browseable = no
187 load printers = yes
188
189# -----------------------------------------------------------
190# Specific Descriptions: [programs] [data] [retail]
191# -----------------------------------------------------------
192[programs]
193 comment = "Shared Programs %T"
194 volume = "programs"</programlisting>
195
196
197<para>Shared Programs shows up in the Network Neighborhood, and <literal>programs</literal> is the volume name you specify when an installation program wants to know the label of the CD-ROM from which it thinks it's loading:</para>
198
199
200<programlisting>path = /u/programs
201 public = yes
202 writeable = yes
203 printable = no
204 create mode = 664
205[cdrom]
206 comment = "Unix CDROM"
207 path = /u/cdrom
208 public = no
209 writeable = no
210 printable = no
211 volume = "cdrom"
212
213[data]
214 comment = "Data Directories %T"
215 path = /u/data
216 public = no
217 create mode = 770
218 writeable = yes
219 volume = "data"
220
221[nt4]
222 comment = "NT4 Server"
223 path = /u/systems/nt4
224 public = yes
225 create mode = 770
226 writeable = yes
227 volume = "nt4_server"
228
229[www]
230 comment = "WWW System"
231 path = /usr/www/http
232 public = yes
233 create mode = 775
234 writeable = yes
235 volume = "www_system"</programlisting>
236
237
238<para>The <literal>[www]</literal> share is the directory used on the Unix server to serve web pages. Samba makes the directory available to local PC users so the art department can update web pages.</para>
239
240
241
242
243
244
245
246
247
248
249
250</appendix>
Note: See TracBrowser for help on using the repository browser.