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