r24917: More thoughts on Samba4 release notes, readme etc.
[kai/samba.git] / NEWS
1 This file aims to document the major changes since the latest released version 
2 of Samba, 3.0. Samba 4.0 contains rewrites of several subsystems 
3 and uses a different internal format for most data. Since this 
4 file is an initial draft, please update missing items.
5
6 One of the main goals of Samba 4 was Active Directory Domain Controller 
7 support. This means Samba now implements several protocols that are required 
8 by AD such as Kerberos and DNS.
9
10 An (experimental) upgrade script that performs a one-way upgrade 
11 from Samba 3 is available in source/setup/upgrade.
12
13 Removal of nmbd and introduction of process models
14 ==================================================
15 smbd now implements several network protocols other than just CIFS and 
16 DCE/RPC. nmbd's functionality has been merged into smbd. smbd supports 
17 various 'process models' that specify how concurrent connections are 
18 handled (when to fork, use threads, etc). 
19
20 Introduction of LDB
21 ===================
22 Samba now stores most of its persistent data in a LDAP-like database 
23 called LDB (see ldb(7) for more info). 
24
25 Built-in KDC
26 ============
27 Samba4 ships with an integrated KDC (Kerberos Key Distribution
28 Center).  Backed directly onto our main internal database, and
29 integrated with custom code to handle the PAC, Samba4's KDC is an
30 integral part of our support for AD logon protocols.
31
32 Built-in LDAP Server
33 ====================
34 Like the situation with the KDC, Samba4 ships with it's own LDAP
35 server, included to provide simple, built-in LDAP services in an AD
36 (rather than distinctly standards) matching manner.  The database is
37 LDB, and it shares that in common with the rest of Samba.
38
39 Changed configuration options
40 =============================
41 Several configuration options have been removed in Samba4 while others have 
42 been introduced. This section contains a summary of changes to smb.conf and 
43 where these settings moved. Configuration options that have disappeared may be 
44 re-added later when the functionality that uses them gets reimplemented in 
45 Samba 4.
46
47 The 'security' parameter has been split up. It is now only used to choose 
48 between the 'user' and 'share' security levels (the latter is not supported 
49 in Samba 4 yet). The other values of this option and the 'domain master' and 
50 'domain logons' parameters have been merged into a 'server role' parameter 
51 that can be either 'domain controller', 'member server' or 'standalone'. Note that 
52 member server support does not work yet.
53
54 The following parameters have been removed:
55 - passdb backend: accounts are now stored in a LDB-based SAM database, 
56         see 'sam database' below.
57 - update encrypted
58 - public
59 - guest ok
60 - client schannel
61 - server schannel
62 - allow trusted domains
63 - hosts equiv
64 - map to guest
65 - smb passwd file
66 - algorithmic rid base
67 - root directory
68 - root dir
69 - root
70 - guest account
71 - enable privileges
72 - pam password change
73 - passwd program
74 - passwd chat debug
75 - passwd chat timeout
76 - check password script
77 - username map
78 - username level
79 - unix password sync
80 - restrict anonymous
81 - username
82 - user
83 - users
84 - invalid users
85 - valid users
86 - admin users
87 - read list
88 - write list
89 - printer admin
90 - force user
91 - force group
92 - group
93 - write ok
94 - writeable
95 - writable
96 - acl check permissions
97 - acl group control
98 - acl map full control
99 - create mask
100 - create mode
101 - force create mode
102 - security mask
103 - force security mode
104 - directory mask
105 - directory mode
106 - force directory mode
107 - directory security mask
108 - force directory security mode
109 - force unknown acl user
110 - inherit permissions
111 - inherit acls
112 - inherit owner
113 - guest only
114 - only guest
115 - only user
116 - allow hosts
117 - deny hosts
118 - preload modules
119 - use kerberos keytab
120 - syslog
121 - syslog only
122 - max log size
123 - debug timestamp
124 - timestamp logs
125 - debug hires timestamp
126 - debug pid
127 - debug uid
128 - allocation roundup size
129 - aio read size
130 - aio write size
131 - aio write behind
132 - large readwrite
133 - protocol
134 - read bmpx
135 - reset on zero vc
136 - acl compatibility
137 - defer sharing violations
138 - ea support
139 - nt acl support
140 - nt pipe support
141 - profile acls
142 - map acl inherit
143 - afs share
144 - max ttl
145 - client use spnego
146 - enable asu support
147 - svcctl list
148 - block size
149 - change notify timeout
150 - deadtime
151 - getwd cache
152 - keepalive
153 - kernel change notify
154 - lpq cache time
155 - max smbd processes
156 - max disk size
157 - max open files
158 - min print space
159 - strict allocate
160 - sync always
161 - use mmap
162 - use sendfile
163 - hostname lookups
164 - write cache size
165 - name cache timeout
166 - max reported print jobs
167 - load printers
168 - printcap cache time
169 - printcap name
170 - printcap
171 - printing
172 - cups options
173 - cups server
174 - iprint server
175 - print command
176 - disable spoolss
177 - enable spoolss
178 - lpq command
179 - lprm command
180 - lppause command
181 - lpresume command
182 - queuepause command
183 - queueresume command
184 - enumports command
185 - addprinter command
186 - deleteprinter command
187 - show add printer wizard
188 - os2 driver map
189 - use client driver
190 - default devmode
191 - force printername
192 - mangling method
193 - mangle prefix
194 - default case
195 - case sensitive
196 - casesignames
197 - preserve case
198 - short preserve case
199 - mangling char
200 - hide dot files
201 - hide special files
202 - hide unreadable
203 - hide unwriteable files
204 - delete veto files
205 - veto files
206 - hide files
207 - veto oplock files
208 - map readonly
209 - mangled names
210 - mangled map
211 - max stat cache size
212 - stat cache
213 - store dos attributes
214 - machine password timeout
215 - add user script
216 - rename user script
217 - delete user script
218 - add group script
219 - delete group script
220 - add user to group script
221 - delete user from group script
222 - set primary group script
223 - add machine script
224 - shutdown script
225 - abort shutdown script
226 - username map script
227 - logon script
228 - logon path
229 - logon drive
230 - logon home
231 - domain logons
232 - os level
233 - lm announce
234 - lm interval
235 - domain master
236 - browse list
237 - enhanced browsing
238 - wins proxy
239 - wins hook
240 - wins partners
241 - blocking locks
242 - fake oplocks
243 - kernel oplocks
244 - locking
245 - lock spin count
246 - lock spin time
247 - oplocks
248 - level2 oplocks
249 - oplock break wait time
250 - oplock contention limit
251 - posix locking
252 - share modes
253 - ldap server
254 - ldap port
255 - ldap admin dn
256 - ldap delete dn
257 - ldap group suffix
258 - ldap idmap suffix
259 - ldap machine suffix
260 - ldap passwd sync
261 - ldap password sync
262 - ldap replication sleep
263 - ldap suffix
264 - ldap ssl
265 - ldap timeout
266 - ldap page size
267 - ldap user suffix
268 - add share command
269 - change share command
270 - delete share command
271 - eventlog list
272 - utmp directory
273 - wtmp directory
274 - utmp
275 - default service
276 - default
277 - message command
278 - dfree cache time
279 - dfree command
280 - get quota command
281 - set quota command
282 - remote announce
283 - remote browse sync
284 - homedir map
285 - afs username map
286 - afs token lifetime
287 - log nt token command
288 - time offset
289 - NIS homedir
290 - preexec
291 - exec
292 - preexec close
293 - postexec
294 - root preexec
295 - root preexec close
296 - root postexec
297 - set directory
298 - wide links
299 - follow symlinks
300 - dont descend
301 - magic script
302 - magic output
303 - delete readonly
304 - dos filemode
305 - dos filetimes
306 - dos filetime resolution
307 - fake directory create times
308 - panic action
309 - vfs objects
310 - vfs object
311 - msdfs root
312 - msdfs proxy
313 - host msdfs
314 - enable rid algorithm
315 - passdb expand explicit
316 - idmap backend
317 - idmap uid
318 - winbind uid
319 - idmap gid
320 - winbind gid
321 - template homedir
322 - template shell
323 - winbind separator
324 - winbind cache time
325 - winbind enum users
326 - winbind enum groups
327 - winbind use default domain
328 - winbind trusted domains only
329 - winbind nested groups
330 - winbind max idle children
331 - winbind nss info
332  
333 The following parameters have been added:
334 + rpc big endian (G)
335         Make Samba fake it is running on a bigendian machine when using DCE/RPC. 
336         Useful for debugging.
337
338         Default: no
339
340 + case insensitive filesystem (S)
341         Set to true if this share is located on a case-insensitive filesystem.
342         This disables looking for a filename by trying all possible combinations of 
343         uppercase/lowercase characters and thus speeds up operations when a 
344         file cannot be found. 
345
346         Default: no
347         
348 + js include (G)
349         Path to JavaScript library. 
350
351         Default: Set at compile-time
352         
353 + setup directory
354         Path to data used by provisioning script.
355
356         Default: Set at compile-time
357         
358 + ncalrpc dir
359         Directory to use for UNIX sockets used by the 'ncalrpc' DCE/RPC transport.
360
361         Default: Set at compile-time
362         
363 + ntvfs handler
364         Backend to the NT VFS to use (more than one can be specified). Available
365         backends include: 
366         
367         - posix:
368                 Maps POSIX FS semantics to NT semantics
369
370         - simple:
371                 Very simple backend (original testing backend).
372
373         - unixuid:
374                 Sets up user credentials based on POSIX gid/uid.
375
376         - cifs:
377                 Proxies a remote CIFS FS. Mainly useful for testing.
378
379         - nbench:
380                 Filter module that saves data useful to the nbench benchmark suite.
381
382         - ipc:
383                 Allows using SMB for inter process communication. Only used for 
384                 the IPC$ share.
385
386         - print:
387                 Allows printing over SMB. This is LANMAN-style printing (?), not 
388                 the be confused with the spoolss DCE/RPC interface used by later 
389                 versions of Windows.
390         
391         Default: unixuid default
392
393 + ntptr providor
394         FIXME
395
396 + dcerpc endpoint servers
397         What DCE/RPC servers to start.
398
399         Default: epmapper srvsvc wkssvc rpcecho samr netlogon lsarpc spoolss drsuapi winreg dssetup
400
401 + server services
402         Services Samba should provide.
403
404         Default: smb rpc nbt wrepl ldap cldap web kdc
405
406 + sam database
407         Location of the SAM (account database) database. This should be a 
408         LDB URL.
409
410         Default: set at compile-time
411
412 + spoolss database
413         Spoolss (printer) DCE/RPC server database. This should be a LDB URL.
414
415         Default: set at compile-time
416
417 + wins config database
418         WINS configuration database location. This should be a LDB URL.
419
420         Default: set at compile-time
421         
422 + wins database
423         WINS database location. This should be a LDB URL.
424
425         Default: set at compile-time
426         
427 + client use spnego principal
428         Tells the client to use the Kerberos service principal specified by the 
429         server during the security protocol negotation rather than 
430         looking up the principal itself (cifs/hostname).
431
432         Default: false
433
434 + nbt port
435         TCP/IP Port used by the NetBIOS over TCP/IP (NBT) implementation.
436  
437         Default: 137
438
439 + dgram port
440         UDP/IP port used by the NetBIOS over TCP/IP (NBT) implementation.
441         
442         Default: 138
443
444 + cldap port
445         UDP/IP port used by the CLDAP protocol.
446
447         Default: 389
448
449 + krb5 port
450         IP port used by the kerberos KDC.       
451         
452         Default: 88
453         
454 + kpasswd port
455         IP port used by the kerberos password change protocol.
456
457         Default: 464
458         
459 + web port
460         TCP/IP port SWAT should listen on.
461
462         Default: 901
463
464 + tls enabled
465         Enable TLS support for SWAT
466         
467         Default: true
468         
469 + tls keyfile
470         Path to TLS key file (PEM format) to be used by SWAT. If no 
471         path is specified, Samba will create a key.
472
473         Default: none
474
475 + tls certfile
476         Path to TLS certificate file (PEM format) to be used by SWAT. If no 
477         path is specified, Samba will create a certificate.
478
479         Default: none
480         
481 + tls cafile
482         Path to CA authority file Samba will use to sign TLS keys it generates. If 
483         no path is specified, Samba will create a self-signed CA certificate.
484
485         Default: none
486
487 + tls crlfile
488         Path to TLS certificate revocation lists file.
489
490         Default: none
491
492 + swat directory
493         SWAT data directory.
494
495         Default: set at compile-time
496
497 + large readwrite
498         Indicate the CIFS server is able to do large reads/writes.
499
500         Default: true
501         
502 + unicode
503         Enable/disable unicode support in the protocol.
504
505         Default: true