Commit Graph

174 Commits

Author SHA1 Message Date
Simo Sorce
c39d6d3be8 Merge in Rob aci patch (resolve conflict) 2007-12-12 16:42:19 -05:00
Simo Sorce
cecbca1a84 Separate out ACIs that affect radius 2007-12-12 14:16:52 -05:00
Simo Sorce
d76886ff4f - Better access control, make sure not even admins can read out passwords
- Insure admins can't locked out by mistake by inclusion in disabled groups
- Fix also minor error in krbinstance.py
2007-12-11 21:56:36 -05:00
Karl MacMillan
cf595511ff Move radius server components into a separate package. 0001-01-01 00:00:00 +00:00
Rob Crittenden
6390db3502 Add automatic browser configuration for kerberos SSO using javascript.
This uses the UniversalPreferencesWrite function to set the browser
preferences to allow negotiation and ticket forwarding in the IPA domain.
A self-signed certificate is generated to sign the javascript.
2007-12-12 09:36:32 -05:00
Karl MacMillan
1c3849eb57 User provided certs. 0001-01-01 00:00:00 +00:00
Karl MacMillan
8792559f74 Remove radiusinstance from ipa-server-install. 0001-01-01 00:00:00 +00:00
Karl MacMillan
7561d7c42d Remove radius from main install script and add
ipa-radius-install.
0001-01-01 00:00:00 +00:00
Karl MacMillan
3b4f0db73e Convert the setup of ssl from a shell script to a
python module. This is in preparation for user
supplied certs.
0001-01-01 00:00:00 +00:00
Karl MacMillan
ad3fcc200c Merge. 0001-01-01 00:00:00 +00:00
Rob Crittenden
5e4a162954 Fix delegation in the UI and add a missing aci that allows writes.
Make ipa-deldelegation more user-friendly.
2007-12-07 16:08:12 -05:00
Rob Crittenden
b75d735b7e Add default e-mail domain to the IPA configuration 2007-12-10 11:53:00 -05:00
Karl MacMillan
d2378f13d0 Merge. 0001-01-01 00:00:00 +00:00
John Dennis
d53915954e merge 2007-12-04 10:08:08 -05:00
Rob Crittenden
03fe2a8d6a Increase default max password lifetime from 10 to 90 days 2007-12-03 18:09:14 -05:00
John Dennis
4e1d291d15 change location of radius data in ldap from
cn=radius,cn=services,cn=etc
to
cn=radius
2007-11-30 20:29:12 -05:00
John Dennis
6be932e8af fix merge error 2007-11-29 11:44:50 -05:00
John Dennis
904b76059c merged radius work with latest mainline tip 2007-11-28 07:49:07 -05:00
Rob Crittenden
2e7f629d91 Remove unnecessary attribute left over from testing 2007-11-26 20:34:59 -05:00
John Dennis
d98686e967 Add radius profile implementations:
get_radius_profile_by_uid
  add_radius_profile
  update_radius_profile
  delete_radius_profile
  find_radius_profiles

Rewrite command line arg handling, now support pair entry, interactive
mode with auto completion, reading pairs from a file, better handling
of mandatory values, better help, long arg names now match attribute
name in pairs

Establish mappings for all attributes and names used in clients and
profiles

Add notion of containers to radius clients and profiles in LDAP

Move common code, variables, constants, and strings into the files
radius_client.py, radius_util.py, ipautil.py to eliminate redundant
elements which could get out of sync if modified and to provide access
to other code which might benefit from using these items in the
future.

Add utility functions:
  format_list()
  parse_key_value_pairs()

Add utility class:
  AttributeValueCompleter

Unify attribute usage in radius ldap schema
2007-11-21 13:11:10 -05:00
John Dennis
087d11af5c map attrs to friendly name 2007-11-14 16:01:27 -05:00
John Dennis
eab5a89d4a ipa-addradiusclient now working 2007-11-13 20:05:02 -05:00
John Dennis
152f8e3392 checkpoint radius client work 2007-11-13 13:06:18 -05:00
John Dennis
f36872383c add aci's for radius 2007-11-10 12:04:43 -05:00
John Dennis
84275328a0 radius now does kerberos auth, reads client entries from LDAP 2007-11-10 00:09:07 -05:00
Pete Rowley
24d5777bd6 Add posix auto gen for single master case 2007-11-06 15:57:15 -08:00
Simo Sorce
0b51e32699 merge from upstream 2007-12-07 17:38:15 -05:00
Simo Sorce
11559e9a69 we *may* require it, it depend on the ditro in F8 cahing daemon configuration has been
incorporated in the default bind install.
2007-12-07 17:36:14 -05:00
Simo Sorce
92d773dc30 Improved ACIs 2007-11-30 16:57:48 -05:00
Simo Sorce
86c78cbe75 minor typos 2007-11-30 16:58:02 -05:00
Karl MacMillan
8e48393c61 Introduce service base class and clean up ipa-server-install
1) Add a base class for all of the instance objects.
2) Normalize usage of logging.
3) General cleanups of ipa-server-install.
4) Make better use of httpinstance.
5) Add webguiinstance.
6) Improve progress reporting during installation.

Works Here (TM), but it would be nice to get someone else
to test since this moves code around a bit.
0001-01-01 00:00:00 +00:00
Karl MacMillan
4e377ad7e8 Fix message about no spaces in password - spaces work
fine with ssl setup shell script removed.
0001-01-01 00:00:00 +00:00
Rob Crittenden
6ea3d9610e Utilize user and group objectclass lists in cn=ipaconfig
Change the syntax on user and group objectclasses in cn=ipaconfig
2007-12-06 00:30:26 -05:00
Rob Crittenden
ab67029d94 Add utility to lock user accounts. Remove lock capability from ipa-deluser
Fix bootstrap.ldif to add new Class of Service entries properly
Include some man pages that weren't being installed
2007-11-26 22:28:53 -05:00
Karl MacMillan
edc7af1446 Add xml-rpc interface for getting keytabs.
Warning: this lacks any sort of authorization.
0001-01-01 00:00:00 +00:00
John Dennis
8cfd270f34 merge initial radius work 2007-11-03 12:22:20 -04:00
Rob Crittenden
2fbe5cbf49 Phase 1 of allowing admins to set the default object classes for users & groups
This adds the UI and does error checking of the selected object classes but
it doesn't actually use the values yet.

It also generalizes some functions for doing multi-valued fields.
2007-12-04 13:18:37 -05:00
Karl MacMillan
8f4362f2f2 Enable referential integrity plugin. 0001-01-01 00:00:00 +00:00
Karl MacMillan
36e43aed1b NTP configuration for client and server.
Configure ipa servers as an ntp server and clients
to (by default) us the ipa server as an ntp server.

Also corrected the messages about which ports should
be opened.
0001-01-01 00:00:00 +00:00
Karl MacMillan
67cddce4d4 Generate master password from Simo. 0001-01-01 00:00:00 +00:00
Karl MacMillan
c373ed5c5c Initial replication setup.
This add replication setup through two new commands: ipa-replica-prepare
and ipa-replica-install. The procedure is to run ipa-replica-prepare
on an existing master. This will collect information about the realm
and the current master and create a file storing all of the information.
After copying that file to the new replica, ipa-replica-install is
run (with -r to create a read-only replica).

This version of the patch also includes fixes for the sasl mappings
on the replicas.

Remaining features:
- ssl for replication.
- automatic configuration of mesh topology for
  master (or a simpler way to replicate multiple
  masters.
- tool for view / configuring current replication.
0001-01-01 00:00:00 +00:00
Simo Sorce
b456d8424a more s/unique// wrt groups members/objectclasses 2007-11-21 16:07:07 -05:00
Simo Sorce
3580d0affb Use groupOfNames and member, not groupOfUniqueNames and uniqueMember 2007-11-20 10:22:43 -05:00
Rob Crittenden
f42f1f44c8 Enable group inactivation by using the Class of Service plugin.
This adds 2 new groups: activated and inactivated.

If you, or a group you are a member of, is in inactivated then you are too.

If you, or a group you are a member of, is in the activated group, then you
are too.

In a fight between activated and inactivated, activated wins.

The DNs for doing this matching is case and white space sensitive.

The goal is to never have to actually set nsAccountLock in a user directly
but move them between these groups.

We need to decide where in the CLI this will happen. Right it is split
between ipa-deluser and ipa-usermod. To inactivate groups for now just
add the group to inactivate or active.
2007-11-20 22:45:29 -05:00
Simo Sorce
c6532b621d fix ldif typo 2007-11-19 19:33:36 -05:00
Karl MacMillan
6d3fa7f892 Minor fixes. 0001-01-01 00:00:00 +00:00
Simo Sorce
a0d8d87b97 Fix installation
Add missing schema for GUI Config, and missing objectclass for cn=accounts
container
2007-11-18 15:02:26 -05:00
Simo Sorce
d5c269c8eb Merge upstream and fix bad suffix in default-aci 2007-11-18 14:27:25 -05:00
Simo Sorce
ae97fcf94d - Store Master Key in Ldap (Makes it easier to set up replicas)
- Does not require dirsrv access to stash file
- Finalize password history support
- Fix strict password length default in pwd_extop (fix install sctript too)
- fix plugin configuration

- Introduce 3 kind of password change: normal, admin, and ds manager
   - normal require adherence to policies
   - admin does not but password is immediately expired
   - ds manager can just change the password any way he likes.

Initial code to read the Kerberos Master Key from the Directory
2007-11-16 20:16:11 -05:00
Simo Sorce
f35ec78d56 - Store Master Key in Ldap (Makes it easier to set up replicas)
- Does not require dirsrv access to stash file
- Finalize password history support
- Fix strict password length default in pwd_extop (fix install sctript too)
- fix plugin configuration

- Introduce 3 kind of password change: normal, admin, and ds manager
   - normal require adherence to policies
   - admin does not but password is immediately expired
   - ds manager can just change the password any way he likes.

Initial code to read the Kerberos Master Key from the Directory
2007-11-16 20:16:11 -05:00
Rob Crittenden
1967aafa39 Implement the password policy UI and finish IPA policy UI
This includes a default password policy
Custom fields are now read from LDAP. The format is a list of
  dicts with keys: label, field, required.
The LDAP-based configuration now specifies:
    ipaUserSearchFields: uid,givenName,sn,telephoneNumber,ou,title
    ipaGroupSearchFields: cn,description
    ipaSearchTimeLimit: 2
    ipaSearchRecordsLimit: 0
    ipaCustomFields:
    ipaHomesRootDir: /home
    ipaDefaultLoginShell: /bin/sh
    ipaDefaultPrimaryGroup: ipausers
    ipaMaxUsernameLength: 8
    ipaPwdExpAdvNotify: 4
This could use some optimization.
2007-11-16 12:59:32 -05:00
Karl MacMillan
816b3e2ea5 Add memberof-task.ldif. 0001-01-01 00:00:00 +00:00
Karl MacMillan
4d96b37de1 Initialize memberof patch from Pete Rowley. 0001-01-01 00:00:00 +00:00
Rob Crittenden
3e715a04cf Add an editors group. This is used to generally grant access for users
to edit other users (the Edit link won't appear otherwise). Additional
delegation is need to grant permission to individual attributes.
Update the failed login page to indicate that it is a permission issue.
Don't allow access to policy at all for non-admins.
By default users can only edit themselves.
2007-11-14 10:49:03 -05:00
Rob Crittenden
cd489f0a73 Allow a user or group to change an attribute in its RDN
Add secretary to the list of indexes otherwise RDN changing could be slow
Port --addattr, --setattr and --delattr from usermod to groupmod
2007-11-12 23:11:55 -05:00
Pete Rowley
1871e8dbf6 Add user self service aci 2007-10-29 14:52:19 -07:00
Rob Crittenden
ed387e2ebb Add inetUser to the admin user so memberOf will work 2007-10-30 14:42:19 -04:00
Rob Crittenden
3c8cfd94bd Create LDAP indeces on installation for fields the web GUI searches against 2007-10-30 13:41:41 -04:00
Rob Crittenden
e40c583b12 Create configuration for MIT Windows kerberos client and install into
http://hostname/config so users can point their MIT client at the IPA
server and automatically fetch the configuration.
2007-10-29 12:00:48 -04:00
Mark McLoughlin
6e6237e54a Fix host_name buglet in ipa-server-install
This patch fixes a couple of buglets with read_ip_address():

  1) It writes host_name to /etc/hosts, but isn't currently
     being passed host_name

  2) It doesn't return the IP address even though the caller
     expects it

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-02-21 15:23:29 +00:00
Karl MacMillan
263fba1468 Handle selinux failure
Ignore errors if setsebool fails and print a warning.
0001-01-01 00:00:00 +00:00
Karl MacMillan
2703be51c8 Print warning about NTP
After looking into setting up ntpd on the IPA servers I decided it
was better just to warn admins. There are just too many valid setups
for time synchronization for us to try to get this right. Additionally,
just installing ntp and accepting the default config will result in
a configuration that is perfectly valid for IPA.

This patch checks if ntpd is running and suggests enabling it if it
is not - for client and server. It also adds some suggested next
steps to the server installation.
0001-01-01 00:00:00 +00:00
Rob Crittenden
ba0adcffb1 Require SSL for the XML-RPC interface 2007-10-19 10:14:30 -04:00
Karl MacMillan
875940ddd3 Print traceback to the install log on unexpected error. 0001-01-01 00:00:00 +00:00
Karl MacMillan
f8fba3b7dd Autotool ipa-server - patch from William Jon McCann <mccann@jhu.edu>. 0001-01-01 00:00:00 +00:00
Rob Crittenden
ed8f506b0f First step in enabling SSL in the IPA web server 2007-10-15 15:42:12 -04:00
Rob Crittenden
af0a1d989b Verify that the LDAP ports are available during installation. 2007-10-15 13:27:05 -04:00
Simo Sorce
d2c73bfd4d Fix make (local-)dist 2007-10-12 12:03:50 -04:00
Kevin McCarthy
06b107ed5f Add inetUser objectclass. Remove test-users ldif. 2007-10-11 12:19:42 -07:00
Karl MacMillan
d2a19b2009 Karl MacMillan wrote:
> > This largish patch makes the build and installation work on 64bit
> > machines. The only catch here is that to get a 64bit build you need to
> > set LIBDIR on make:
> >
> > make install LIBDIR=/usr/lib64
> >
> > The spec file does this correctly. I couldn't find any reliable way to
> > guess this that works both on real systems and in the almost entirely
> > empty rpm build root (you can't, for example, check for the existence
> > of /usr/lib64).
0001-01-01 00:00:00 +00:00
Karl MacMillan
1be00394e3 Hi,
Here is another patch for the installer.  It does a few things:

 * use socket.getfqdn() but fallback to gethostname()
 * streamlines the hostname prompting
 * fixes a bunch of spelling and grammatical errors
 * fixes a bug in the hostname reading/verification logic
 * allows "yes" and "no" as answers
 * modularizes and reuses code where possible
 * changes some of the prompts to be more like
   the FDS installer - some text is copied (which is easy to use IMO)
 * tries to make the prompts fit on smaller screens (<80 chars)

Hope you agree that it is better.  :)

Thanks,
Jon
0001-01-01 00:00:00 +00:00
Kevin McCarthy
d1899e8f35 patch queue: admin_account_fix.patch 2007-10-04 13:41:19 -07:00
mccann@jhu.edu
f023f38616 Fix copy/paste bug 2007-10-03 21:30:57 -04:00
rcritten@redhat.com
53e872fb72 Try to catch more error conditions during installation
Modify the way we detect SELinux to use selinuxenabled instead of using
  a try/except.
Handle SASL/GSSAPI authentication failures when getting a connection
2007-10-03 17:37:13 -04:00
mccann@jhu.edu
3ef4a374f7 Patch to fix the installer crashing if selinux is disabled. Also changes
the exception to contain the complete command.
Add a check to make sure installer is running as root.
Add signal handler to detect a user-cancelled installation.
Detect existing DS instances and prompt to remove them.
2007-10-02 16:56:51 -04:00
Simo Sorce
2ef71a85d0 Check passwords are not empty 2007-09-28 14:55:28 -04:00
Karl MacMillan
679343594d Install the web gui
Install the turbogears web gui including an init script. This
patch includes a few related changes:

* create a production configuration
* rename the web gui startup scrip to ipa-webgui
* add an init script
* chkconfig on the ipa-webgui init script
* make the start script properly daemonize the app when not
  in a development directory.
* Install everything to the correct places (/usr/sbin/ipa-webgui
  and /usr/share/ipa/ipagui mainly).

There are some things still left to do:

* Sort out the logging - the config needs to be adjusted so
  that logging messages end up in /var/log.
0001-01-01 00:00:00 +00:00
Karl MacMillan
50d12d6d2e Misc small fixes
* Remove the rpmbuild tree with the dist-clean target.
* Move ipa-server-setupssl from /usr/sbin to /usr/share/ipa
* Check in requirement change for generated freeipa-python.spec
* Fix interactive hostname in ipa-server-install.
0001-01-01 00:00:00 +00:00
Karl MacMillan
22710a8dce Make apache work with selinux
The default configuration of the apache selinux policy doesn't allow
apache to connect to the turbogears gui. This sets the correct
boolean to allow that connection.
0001-01-01 00:00:00 +00:00
rcritten@redhat.com
7b96973711 Give ipa-adduser, ipa-addgroup and ipa-usermod an interactive mode
Add ipa-passwd tool
Add simple field validation package
This patch adds a package requirement, python-krbV. This is needed to
 determine the current user based on their kerberos ticket.
2007-09-21 10:24:36 -04:00
rcritten@redhat.com
370500ab1a Remove support for LDAP proxy connections 2007-09-20 09:01:23 -04:00
Simo Sorce
3fd4b9ba2c Initial support for confiuguring a DNS Server during installation.
It's not perfect yet but good enough to include it.
2007-09-20 15:10:21 -04:00
Simo Sorce
7633abb9e4 Better we do not fiddle with /etc/hosts, make sure to abort and let the admin
fix it.
2007-09-13 12:10:55 -04:00
Simo Sorce
2ca655980b Better way to ask for the Realm name, with implicit default 2007-09-12 18:58:56 -04:00
Simo Sorce
533044903d Add confirmation when asking un-echoed passwords 2007-09-12 13:20:57 -04:00
Simo Sorce
fd61df06c5 Avoid showing passwords.
Patch from William Jon McCann <mccann@jhu.edu>
2007-09-12 11:55:19 -04:00
Kevin McCarthy
903e11631c Fix duplicate entry error to be more descriptive.
Add TurboGears to required package list
Clear password on Edit Person page.
Change uidnumber/gidnumber on Add Person to say 'Generated by server'
2007-09-07 16:53:34 -07:00
Kevin McCarthy
9bb9dbae42 Add required packages to README 2007-09-07 15:18:51 -07:00
Simo Sorce
e7cb308e06 Reference the interactive method by default 2007-09-07 16:38:30 -04:00
rcritten@redhat.com
2377e8bcb0 Add group command-line tools to the Makefile
Updated installation instructions
2007-09-07 17:49:44 -04:00
Simo Sorce
584baa7ee2 merge ipa-server/ipaserver/util.py into ipa-python/ipautil.py
this way freeipa-client does not depend on freeipa-server
2007-09-04 16:13:15 -04:00
Simo Sorce
abeda55e34 Add password request for admin user
Set password for admin user using the Directory Mangaer account
and the mozldapldappaswd binary to get and SSL connection
Fix some timeout problems with deploying keytabs
Fix ipa_pwd_extop to actuallt correctly detect an SSL connection
Do not ask for the user to use for the directory unless 'dirsrv' is
 an existing user which may clash, create it silently
2007-08-31 18:40:01 -04:00
Simo Sorce
7a0629ea55 More DIT fixes discovered after testing 2007-08-31 18:36:54 -04:00
Simo Sorce
a8fe485065 Integrate corrections pointed out on the list 2007-08-30 12:23:39 -04:00
Simo Sorce
bebc413366 Finalize DIT, this is waht we are probably going to have in the end,
or something very close to this one
Add default groups and admin user

TODO: need to discuss more in deep uid/gid generation, this will
      probably change as soon as the DNA plugin is activated
2007-08-29 18:07:05 -04:00
rcritten@redhat.com
861cda3cb5 Initial support for Groups
Create separate object for Users and Groups (using same base class)
Check for uniqueness before adding new users and groups
Remove user_container from everything but add operations
Abstract out a number of functions that are common across users and groups
Make sure all strings passed in to be in a filter are checked
Add new error message: No modifications specified
2007-08-24 15:42:56 -04:00
Simo Sorce
48bb474e68 Add interactive prompts to ipa-server-install
Change unattended flag to be -U
Change master password flag to be -P instead of -m
Improve ipa-client-install readability for user prompts
2007-08-20 18:40:32 -04:00
Simo Sorce
aacfce9cf1 Remove dependncy on libmhash and use openssl md4 functions
Remove all dependencies on mhash
Remove code optimizatrion from Makefiles, right now these are
developers targeted builds, so it is better to have debugging
symbols around
2007-08-20 15:38:47 -04:00
Karl MacMillan
2e1f317b09 Updated dep list. 0001-01-01 00:00:00 +00:00
Simo Sorce
59ada5daeb Make ipa-kpasswd start immediately 2007-08-15 22:17:42 -04:00