1
0
mirror of https://github.com/samba-team/samba.git synced 2025-04-30 18:53:31 +03:00

244 Commits

Author SHA1 Message Date
Matthias Dieter Wallnöfer
33f3d54de4 s4:provision - rework the "guess_names" and "make_smbconf" method
- Cleans it up from unnecessary "lower()/upper()" and parameters which can be
  derived through "lp" calls.
- Substitute the "HOSTNAME" caption in the "smb.conf" templates with
  "NETBIOS_NAME" which fits better.
- Now the "realm" and "domain" parameter of the provision are totally case
  insensitive and the script itself up/downcases them appropriately depending
  on the use (e.g. "realm" upcase for KERBEROS, lowcase for DNS domainname).
2009-10-21 23:43:04 +02:00
Matthias Dieter Wallnöfer
47fcde1922 s4:provision - important fix for DNS domainname: lower realm 2009-10-21 18:46:44 +02:00
Andrew Bartlett
4c36cac5ad s4:provision Use schema to casefold partitions on 'upgrade'.
This helps us upgrade from sam.ldb files before the dynamic partitions
work, and ensures we use the right casefolding functions.

Andrew Bartlett
2009-10-21 22:43:55 +11:00
Andrew Bartlett
27c28d34a7 s4:Handle reprovision with existing partitions
The issue here is that if we don't put the partitions metadata in the
database before we wipe it, we won't wipe the partitions contents, and
so the provision will later fail (entry already exists)

Andrew Bartlett
2009-10-21 22:43:51 +11:00
Andrew Bartlett
d4048b2e17 s4:provision Set @OPTIONS in the provision_init.ldif
The new partitions code knows to copy these items in when creating a
new parition, so we can set it from the start.

Andrew Bartlett
2009-10-21 22:43:50 +11:00
Andrew Bartlett
c59f00805c s4:dsdb Rework modules create new partitions at runtime
This is done by passing an extended operation to the partitions module
to extend the @PARTITION record and to extend the in-memory list of
partitions.

This also splits things up into module parts that belong above and below
repl_meta_data

Also slit the partitions module into two files due to the complexity
of the code

Andrew Barltett
2009-10-21 22:43:50 +11:00
Andrew Tridgell
f794e8d43d s4-provision: added the default privileges db
privileges are now stored in a separate database
2009-10-17 13:01:02 +11:00
Endi S. Dewata
aaca10b3e1 s4:provision - fixed invalid creationTime format 2009-10-16 14:08:11 +02:00
Endi S. Dewata
cf77bf3382 s4:provision - replaced linked_attributes with FDS plugins
When FDS is used as a backend, Samba should not use the
linked_attributes LDB module, but instead use the built-in
DS plugins for attribute linking, indexing, and referential
integrity.
2009-10-16 14:08:11 +02:00
Matthias Dieter Wallnöfer
9000b7bb94 s4:provision.py - simplify the "realm" variable handling a bit
(Remove unneeded "upper"s)
2009-10-12 19:21:55 +02:00
Andrew Bartlett
1dfa2ed423 s4:provision Remove all references to samba4LocalDomain
This was a bad idea all along, as Simo said at the time.  With the
full MS schema and enforcement of it, it is an even worse idea.

This fixes the provision of the member server in 'make test'

Andrew Bartlett
2009-10-12 16:50:49 +11:00
Andrew Bartlett
0bfc3023a1 s4:provision Clarify that we set, rather than modify, objectGUID values 2009-10-12 16:50:49 +11:00
Andrew Bartlett
6a1eb13aab s4:provision Remove unused parameters from provision scripts 2009-10-06 11:07:06 +11:00
Matthias Dieter Wallnöfer
0d05a2412a s4:provision - Cosmetic - right indentations 2009-10-02 12:45:09 +02:00
Andrew Bartlett
984ea88156 s4:dsdb rework instanceType module - put instanceType in provision
The instanceType needs to be specified in future because that's how
the partitions are actually created.
2009-10-02 12:45:07 +02:00
Andrew Bartlett
46c2af3612 s4:dsdb Add 'lazy_commit' module to swallow the 'lazy commit' OID
This allows this control to be specified as critical.  We support the
control because we choose to always be durable in our transactions.

We really, really need a 'duplicate request' API, as at the
moment we can't do this without a large, error-prone set of code that
cannot cope with new request fields or types.

Andrew Bartlett
2009-10-02 12:45:06 +02:00
Andrew Bartlett
4c235ca787 s4:provision Ensure we add the schema with the 'relax' control
(allows addition of systemOnly classes)
2009-10-02 12:45:05 +02:00
Matthieu Patou
8bf517d340 s4: Improve provisioning: use relax control
Give the possibility to specify controls when loading ldif files.
  Relax control is specified by default for all ldb_add_diff (request Andrew B).
  Set domainguid if specified at the creation of object instead of modifying afterward
  Allow to specify objectGUID for NTDS object of the first DC this option is used during provision upgrade.
2009-10-02 12:45:01 +02:00
Matthias Dieter Wallnöfer
bf0855e8e3 s4:provision - Change the default forest/domain function level back to Windows 2003 Native 2009-10-02 14:22:06 +10:00
Matthias Dieter Wallnöfer
cb50af5fe1 s4:provision - Lets the user choose between the supported forest/domain function levels
Adds a parameter "--function-level" which allows to specify the domain and
forest function level.
2009-09-30 16:00:07 +02:00
Nadezhda Ivanova
10c6f3f71a Initial Implementation of the DS objects access checks.
Currently disabled. The search will be greatly modified,
also the object tree stuff will be simplified.
2009-09-21 17:27:50 -07:00
Nadezhda Ivanova
13b979b03d Merge branch 'master' of git://git.samba.org/samba 2009-09-21 14:26:15 -07:00
Andrew Bartlett
1afc7c453c s4:kerberos Fix the salt to match Windows 2008.
The previous commit changed the wrong end - we must fix our server,
not our client.

Andrew Bartlett
2009-09-21 12:28:38 -07:00
Andrew Bartlett
8738b83a44 s4:provision Make our default salt match our server behaviour
We need to look into salting algorithms further.

Andrew Bartlett
2009-09-21 11:59:33 -07:00
Matthias Dieter Wallnöfer
63f280cfef s4:provision - Fix up ProvisioningError class as suggested by Jelmer 2009-09-21 17:20:49 +02:00
Andrew Bartlett
23ffccd5d7 s4:provision Make us Windows 2008 level by defualt again
Also add a note to clarify that this should not be changed without
discussion and consensus.  We don't want this bouncing around.

Paramater support to allow optional selection of Win2003 mode welcomed.

Andrew Bartlett
2009-09-20 23:05:30 -07:00
Andrew Bartlett
bfddb6816f s4:provision Use code to store domain join in 'net join' as well
This ensures we only have one codepath to store the secret, and
therefore that we have a single choke point for setting the
saltPrincipal, which we were previously skipping.

Andrew Bartlett
2009-09-20 16:29:38 -07:00
Andrew Bartlett
509a2bb97c s4:provision split provision of DNS zone and self join keytab 2009-09-20 16:29:37 -07:00
Nadezhda Ivanova
6283f2caaa Initial implementation of security descriptor creation in DS
TODO's:
ACE sorting and clarifying the inheritance of object specific ace's.
2009-09-20 15:16:17 -07:00
Nadezhda Ivanova
05653fce78 Fixed a difference in domain sid type when SID is provided by user. 2009-09-20 10:12:04 -07:00
Stefan Metzmacher
93e1e8bec9 s4:provision: add the 'resolve_oids' on the top of the module stack
metze
2009-09-20 06:44:18 +02:00
Matthias Dieter Wallnöfer
89f5df6fa7 s4:provision - Bump down the domain and forest level to Windows 2000
- The DC level we keep on Windows Server 2008 R2 (we should call ourself
  always the newest server type)
- The domain/forest level we set to the minimum (Windows 2000 native) to
  allow all AD DC types (from Windows 2000 on) in our domain - the NT4 "mixed"
  mode isn't supported by us (discussed on mailing list) -> "nTMixedDomain" is
  set always to 0
- I'll add a script which allows to bump the DC level (basically sets the
  "msDS-Behaviour-Version" attributes on the "Partitions/Configuration/DC" and
  on the "DC" object)
2009-09-18 16:21:29 +02:00
Matthias Dieter Wallnöfer
fa4023d6f7 s4:provision - Some rework (continuation)
- Fix up "servicePrincipalNames" attributes on the DC object
- Add some informative comments (most in "provision_self_join.ldif")
- Add also comments where objects are missing which we may add later when we
  support the feature (mainly for FRS)
- Add "domain updates" objects also under "CN=Configuration" (they exist twice)
- Add the default services under "Services" to allow interoperability with some
  MS client tools
- Smaller changes
2009-09-17 21:19:24 +02:00
Matthias Dieter Wallnöfer
4fa327a19f s4:provision - Some rework
- Add/change "wellKnownObjects" attributes
- Order entries in "provision_basedn_modify.ldif"
- Add/change "delete entries" object under BASEDN and CONFIGDN
- Fix default version number of "Default domain policy" group policy
- Add "domain updates" objects for interoperability with MS AD maintaining tools
- Show version number in the "oEMInformation" attribute (suggested by ekacnet)
- Smaller fixups
2009-09-17 18:27:31 +02:00
Matthias Dieter Wallnöfer
0c202e403f s4/domain behaviour flags: Fix them up in various locations
Additional notes:
- Bump the level to Windows Server 2008 R2 (we should support always the latest
  version - if we provision ourself)
- In "descriptor.c" the check for the "domainFunctionality" level shouldn't be
  needed: ACL owner groups (not owner user) are supported since Windows 2000
  Server (first AD edition)
  - I took the argument from: http://support.microsoft.com/kb/329194
2009-09-17 12:40:33 +02:00
Nadezhda Ivanova
d70e171719 Owner and group defaulting.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-09-16 07:52:05 -07:00
Andrew Bartlett
ffe831452b s4:provision Prevent some invalid combinations of realm and domain
We don't do well (even just trying to create duplicate
servicePrincipalName values) with some of these combinations, so kill
it off early before the administrator thinks it's going to work.

Andrew Bartlett
2009-09-14 22:41:09 -07:00
Matthias Dieter Wallnöfer
b0b8340d95 s4:group policies - upcase directory names of default group policies
The directory names (MACHINE, USER) are upcased to help locating the default
group policies under the SYSVOL dir (the additional ones have only the first
letter upcased of those directory names).
2009-09-12 11:12:22 +02:00
Matthias Dieter Wallnöfer
10833f641a s4:group policies - add the domain controller group policy
This patches fixes the last difference between s4 and Windows Server regarding
group policy objects: we hadn't the domain controller policy.

- Adds the domain controller policy as it is found in the "original" AD
- Adds also the right version number in the GPT.INI file for the domain group
  policy (was missing)
2009-09-11 22:41:58 +02:00
Andrew Tridgell
f009fa15a1 s4-provision: use DNS name, not domain name
The SPNs end in the DNS domain name
2009-09-11 17:14:01 +10:00
Andrew Tridgell
d26c42f5bf s4/provision: add the nTDSDSA GUID based DNS entries and SPNs
The DNS entries and SPNs are needed for samba<->samba DRS
replication. This patch adds them for a standalone DC configure. A
separate patch will add them for the vampire configure
2009-09-11 14:07:22 +10:00
Andrew Bartlett
f85e77c43f s4:provision Only delete SASL mappings with Fedora DS, not OpenLDAP
We need to be more careful to do the cleanup functions for the right
backend.  In future, these perhaps should be provided by the
ProvisionBackend class.

Andrew Bartlett
2009-09-10 19:47:51 +10:00
Andrew Tridgell
9460427c24 s4: kludge_acl needs to be above repl_meta_data
We have to bypass kludge_acl in replication as otherwise we aren't
allowed access to the password entries
2009-09-10 17:45:25 +10:00
Andrew Tridgell
c0efa51929 s4/provision: another fix for breakage from b1dabb1133 2009-09-10 12:42:57 +10:00
Andrew Bartlett
22c4ffa398 s4:provision Don't reference provision_backend when using LDB
This broke in Endi's patch for Fedora DS support

Andrew Bartlett
2009-09-10 12:27:04 +10:00
Endi Sukma Dewata
b1dabb1133 s4: Use SASL authentication against Fedora DS.
1. During instance creation the provisioning script will import the SASL
   mapping for samba-admin. It's done here due to missing config schema
   preventing adding the mapping via ldapi.

2. After that it will use ldif2db to import the cn=samba-admin user as
   the target of SASL mapping.

3. Then it will start FDS and continue to do provisioning using the
   Directory Manager with simple bind.

4. The SASL credentials will be stored in secrets.ldb, so when Samba
   server runs later it will use the SASL credentials.

5. After the provisioning is done (just before stopping the slapd)
   it will use the DM over direct ldapi to delete the default SASL
   mappings included automatically by FDS, leaving just the new
   samba-admin mapping.

6. Also before stopping slapd it will use the DM over direct ldapi to
   set the ACL on the root entries of the user, configuration, and
   schema partitions. The ACL will give samba-admin the full access
   to these partitions.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2009-09-10 09:52:22 +10:00
Nadezhda Ivanova
269fe99a62 Added "admin_session" method.
The purpose of admin_session is to be able to execute parts of provisioning
as the user Administrator in order to have the correct group and owner in the
security descriptors. To be used for provisioning and tests only.
2009-09-09 18:57:50 +10:00
Matthias Dieter Wallnöfer
51479feb20 s4:provision - Cosmetic: Indent the parameters better 2009-09-08 11:55:40 +02:00
Michael Ströder
231d276430 s4: Exceptions in "provision.py"
This looks much nicer than "normal" string exceptions - and fits better in the OO
programming style.
2009-09-07 09:12:09 +02:00
Matthias Dieter Wallnöfer
90d6829f8a s4:Foreign security principals - Fix them up
I fixed them up to match with Windows Server 2003. I don't think that the
creation of them in the provision script is needed so I put them in the
"provision_users.ldif" file.
2009-09-07 08:37:25 +02:00