Netscape Calendar Server 4.0: Administrator's G uide

Administration Server 3.5

Calendar Server is managed through Netscape Administration Server 3.5. The information needed to configure and maintain Calendar Server is contained in the following three chapters taken from the Administration Server manual, Managing Netscape Servers:

 

Chapter 1: Administration server basics

This chapter describes the concepts behind the administration server and its Server Manager forms you use to configure your Netscape SuiteSpot servers. This chapter also gives you an overview of some new features and tells you how to start and stop the server. For on-line directions on using specific forms in the Server Manager, click the Help button at the bottom of the form.

Because every Netscape SuiteSpot server is configured using an administration server and the Server Manager forms, you can easily configure your servers remotely, using any computer in your network.

Figure J.1 You can configure your SuiteSpot servers from any computer in the network.

There are multiple versions of the administration server (2.x and 3.x), and various SuiteSpot servers are configured using different versions. Because of the different versions, this chapter lists suggestions to follow before installing two servers that use different versions of the administration server. For a list of the servers that use the different versions of the administration server, see the printed Quick Start card that comes with SuiteSpot. If you have an individual server, check its documentation for the administration server version it uses.

 

Using the administration server

The administration server is a web-based server that contains the Java and JavaScript forms you use to configure your Netscape SuiteSpot servers. Because the forms for each SuiteSpot server have a consistent look and feel, you can quickly learn to configure and manage another server.

The administration server is installed with the Calendar Server. The directory where you install the servers is called the server root directory. If you install a second SuiteSpot server and you want to configure it using the same administration server as the first SuiteSpot server, you install the second one in the same server root directory as the first.

After installing a SuiteSpot server and administration server, you use your browser to navigate to the administration server and use its forms to configure your SuiteSpot servers. When you submit the forms, the administration server modifies the configuration for the SuiteSpot server you were administering.

The URL you use to navigate to the administration server depends on the computer host name and the port number you choose when you install any SuiteSpot server. For example, if you installed the administration server on port 12345, the URL would look like this:

http://myserver.mozilla.com:12345

Before you can get to any forms, the administration server prompts you to authenticate yourself. This means you need to type a user name and password. You set up the "superuser" user name and password when you install the first SuiteSpot server and administration server on your computer. After installation, you can use distributed administration to give multiple people access to different forms in the administration server.

The first page you see when you access the administration server is called the Server Administration page (Figure J.4). The Server Administration page has three or four sections, depending on the servers you have installed. Figure J.4 shows all four sections, which are described here:

  1. "General Administration" contains buttons for configuring the administration server.

  2. "Servers Supporting General Administration" contains all of the SuiteSpot 3.x servers installed on the computer (in the same server root directory).

  3. The third section isn't named, but it contains two links: one for migrating a 2.x server configuration, and one for removing a server from the computer.

"Other Servers" appears only if your computer contains both 2.x and 3.x versions of the administration servers. This might occur, for example, if you install Netscape Directory Server 1.02, which uses the 2.x administration server, and Netscape Enterprise Server 3.0, which uses the 3.x administration server.

 

Chapter 3: Controlling access to your server

You can control who accesses the administration server forms. This chapter discusses the various methods you can use to determine who has access to forms in the administration server. For example, you can specify who has full control of all the servers installed on a computer and who has partial control of one or more servers. Before you can use access control on the administration server, you must enable distributed administration and set up an administrators group in your LDAP directory. This chapter assumes you've already configured distributed administration and have entries in the users and groups directory.What is access control?

Access control lets you determine who can access the administration server and which servers and forms (also called programs) they can access. You can use two attributes for controlling access:

 

User-Group authentication

You can require users to authenticate themselves before getting access to your administration server. Authentication means that users verify their identity by entering a username and password.

If you require users to enter a username and password to get access to your server, you store the list of users and groups in an LDAP database, which can be either a file stored on the administration server computer or an LDAP server on a remote computer (for example, a computer running Netscape Directory Server). To use this type of authentication, you need a database containing the users and groups you want to reference when restricting access to your server.

When users attempt to access a form that has User-Group authentication, the web browser displays a dialog box asking the user to enter a username and password. After entering the information, the user either sees the Server Administration page or a message that says they don't have access. (You can customize the access-denied message that they see.) Figure J.2 shows the authentication window. This window shows a custom message.

Figure J.2 Users see this window when authenticating themselves to the server.

Note
If your server doesn't use SSL encryption, the username and password that the end user types are sent unencrypted across the network. Someone could intercept the network packets and read the username and password being sent to the administration server. For this reason, User-Group authentication is most effective when combined with SSL encryption or Host-IP authentication, or both.  

Host-IP authentication

You can limit access to forms on your administration server by making them available only to people using specific computers. You specify hostnames or IP addresses for the computers that you want to allow or deny. You can use wildcard patterns to specify multiple computers or entire networks. If you want to use this feature, you must have DNS running in your network and your computer must be configured to use it.

Note
It's possible for more than one person to have access to a particular computer. For this reason, Host-IP authentication is most effective when combined with User-Group authentication. If both methods of authentication are used, the end user will have to enter a username and password before getting access.  

Access control files

When you use access control on your administration server, the settings are stored in a file with the extension .acl. Access control files are stored in the directory <server_root>/<server_type>acl where <server_type> is the name of the server. For example, the administration server uses the directory adminacl. Netscape Enterprise server uses httpacl. The administration server uses three ACL files, all located in the directory <server_root>/adminacl:

The administration server also has an ACL file for every server it manages. The files are named after the server: <type>-<serverid>.acl. For example, if you have a Netscape Enterprise Server named "www" that has access control for its forms, the acl file would be called https-www.acl.

 

How does access control work?

When the server evaluates an incoming request, it determines access based on a hierarchy of rules called access-control entries (ACEs), and then it uses the last entry to determine if the request is allowed or denied. Each ACE specifies whether or not the server should continue to the next ACE in the hierarchy. The collection of ACEs is called an access-control list (ACL). By default, the server has one ACL file that contains multiple ACLs.

When the server gets a request for a form, the server uses the ACL file and the rules in that file to determine if it should grant access or not. The rules can reference the hostname or IP address of the computer sending the request. The rules can also reference users and groups stored in the LDAP directory or local database.

For example, the following ACL file contains the two default entries for the administration server (admin-serv) plus one that allows users in the "admin-reduced" group administer the Admin Preferences forms in the administration server.


Version 3.0;
acl "admin-serv"
deny with file = "/usr/suitespot/adminacl/admin-denymsg.html"; deny (all)
(user = "anyone");
deny absolute (all)
group != "admin";
allow (all)
(group = "admin-reduced") and
(program = "Admin Preferences")
The first line that starts with "deny" tells the server what file to return if a user isn't allowed access to the server. The second deny message denies everyone access, but because the rule isn't absolute (like the next one), the server continues down the list to see if the user is allowed in a subsequent line. The third line is an absolute statement that denies anyone who isn't in the "admin" group in the LDAP directory. In this case, the "admin" group is the group specified for distributed administration.

The last rule explicitly allows access to the forms in the Admin Preferences section of the administration server to anyone in the "admin-reduced" group.

 

Restricting access

This section takes you through the process of restricting access to your administration server. The sections following this one describe in detail each option available when using access control. Keep in mind that most access-control rules use only a subset of the available options.

To create an access-control rule:

  1. Go to the Server Manager and choose Global Settings|Restrict Access.

  2. Specify the server that you want to control. For example, you can select admin-serv to set up access control for the administration server. The drop-down list contains an entry for each 3.x server you have installed in the server root.

  3. Click the Edit ACL button. The right frame divides into two frames that you use to set the access control rules. If the server you chose already has access control, the rules will appear in the top frame. With the administration server, each ACL begins with two deny statements. The following figure briefly describes the function of each form element.

Figure J.3 The ACL form contains links that, when clicked, display another form in the bottom frame (not shown).

  1. Click the New Line button. This adds a default ACL rule to the bottom row of the table. You can use the up and down arrows in the left column to move the rule, if needed.

  2. Select the action you want to apply to the rule by clicking the Deny link. The bottom frame displays a form where you can check if you want to deny or allow access to the users, groups, or hosts you'll specify in the following steps.

    Check the option you want, and then click Update.

  3. Specify User-Group authentication by clicking the anyone link listed under the Users/Groups column. The bottom frame displays a form for configuring User-Group authentication. By default, there is no authentication, meaning anyone can access the server.

    Check the options you want, and then click Update.

  4. Specify the computers you want to include in the rule by clicking the anyplace link. The bottom frame displays a form where you can enter wildcard patterns of host names or IP address to allow or deny.

    Check the options you want, and then click Update.

  5. Specify the programs you want to restrict. Programs are the forms in the Server Manager for the server you selected. For example, you can restrict access to all forms for configuring the administration server by checking the "All Programs" radio button. If you want to restrict access to one or two sets of forms, choose the categories in the drop-down list. If you want to restrict access to one form in a category, type the name of the form in the "Program Items" field. For example, to restrict access to the access control form, type distacl in the Program Items field. For more information, see the "Access to programs" section later in this chapter.

    Click Update to add the programs options to the rules for the line you're editing.

  6. If you are familiar with ACL files, you can enter a customized ACL entry by clicking X under the Extra column. This area is useful if you use the access control API to customize ACLs.

  7. Check Continue if you want the access-control rule to continue in a chain. This means the next line is evaluated before the server determines if the user is allowed access. When creating multiple lines in an access-control entry, it's best to work from the most general restrictions to the most specific ones.

  8. Repeat steps 4 through 10 for each rule you need. If you want the user to be redirected to another URL if their request is denied, check Redirection when denied. Click the link to specify the URL for redirection.

  9. Click the Submit button to store the new access-control rules in the ACL file. If you click Revert, the server removes any changes you made to the rules from the time you first opened the 2-frame window. Be cautious when using Revert because you can't restore your edits. In most cases, it's probably better to delete the rule lines individually.

The following sections describe the options that appear in the bottom frame of the access-control window.

 

Specifying users and groups

You can restrict access to your administration server based on the user who requests a form. The administration server uses a list of users in the administrators group (the group you set up for distributed administration) to determine access rights for the user requesting a resource. The list of users are stored either in a database on the server computer or in an LDAP server, such as Netscape Directory Server. You should make sure the database has users and the administrators group in it before you set access control.

You can allow or deny access to everyone in the administrators group, or you can allow or deny specific people by using wildcard patterns or lists of users.

To configure access control with users and groups, follow the general directions for restricting access. When you click the Users/Groups field, a form appears in the bottom frame. The following list describes the options in the form.

 

Specifying host names and IP addresses

You can restrict access to your administration server based on which computer the request comes from. You specify this restriction by using wildcard patterns that match the computers host names or IP addresses. For example, to allow or deny all computers in a specific domain, you would enter a wildcard pattern that matched all hosts from that domain, such as *.netscape.com.

This setting doesn't affect the Host/IP setting for the administration server's superuser. That is, you can set different hostnames and IP addresses that the superuser must use when accessing the administration server.

To specify users from hostnames or IP addresses, follow the general directions for restricting access. When you click the From Host field (the link called anyplace), a form appears in the bottom frame. Check the Only from option and then type either a wildcard pattern or a comma-separated list of hostnames and IP addresses. Restricting by hostname is more flexible than by IP address--if a user's IP address changes, you won't have to update this list. Restricting by IP address, however, is more reliable--if a DNS lookup fails for a connected client, hostname restriction cannot be used.

The hostname and IP addresses should be specified with a wildcard pattern or a comma-separated list. The wildcard notations you can use are specialized; you can only use the *. Also, for the IP address, the * must replace an entire byte in the address. That is, 198.95.251.* is acceptable, but 198.95.251.3* is not. When the * appears in an IP address, it must be the right-most character. For example, 198.* is acceptable, but 198.*.251.30 is not.

For hostnames, the * must also replace an entire component of the name. That is, *.netscape.com is acceptable, but *sers.netscape.com is not. When the * appears in a hostname, it must be the left-most character. For example, *.netscape.com is acceptable, but users.*.com is not.

 

Access to programs

You can select areas of the administration server that administrators can access. You can choose groups of forms that appear in the top frame of the Server Manager (such as Cluster Management), or you can choose specific forms that appear as links in the left frame of the Server Manager (such as "New User" under User & Groups).

Access to programs affects the server you choose when restricting access. For example, if your administration server contains a Netscape Enterprise Server and a Netscape Collabra Server, you choose the server you want to restrict, and then you set up the access control rules for that server. In this case, you could allow some administrators to configure agents in the Netscape Enterprise Server, and then you could allow a different set of administrators to configure newsgroups in the Netscape Collabra Server.

To control access to a program in a server,

  1. Go to the Server Manager forms for the administration server. Choose Global Settings|Restrict Access.

  2. Use the drop-down list to choose the server whose administration access you want to restrict. The administration server is labeled "admin-serv." Other servers are labeled with their type and their server id (for example, https-mozilla).

    When you select a server to restrict, you are restricting who can view the Server Manager forms and which forms they can use to configure that server. For example, you might allow some administrators to configure the Users & Groups section of the administration server and not allow them access to the Global Settings. After you choose a server, click Edit ACL. The two-frame access-control forms appear.

  3. Each ACL begins with two deny lines (the default setting), one that restricts access to only those users in the "administrators" group set for distributed administration, and another that restricts access to all users. If you want to change either of these lines, you need to manually edit the ACL file. Click the New Line button to add a rule to the ACL. Each rule you create allows access to the server. By specifically allowing access for users, you reduce the risk that you'll allow access to users you don't want.

  4. Choose the users, groups, hosts, and IP addresses you want to apply to this access control rule.

  5. By default, administrators have access to all programs for a server. Click the All link under Programs in the top frame. The bottom frame displays a form that lists the programs for the server type you selected.

  6. Check the radio button labeled "Only the following," and then select the Program Groups you want to apply to the rule. You can choose multiple groups by pressing the Control key and then clicking the groups you want.

    The Program Groups listed use the same name as the buttons in the top frame of the Server Manager for the server type you selected. For example, in the administration server, there are buttons labeled Admin Preferences, Global Settings, and so on. When an administrator accesses the administration server, the server uses their username, host, and IP to determine what forms they'll see. If they have access to only one or two forms, they will only see those forms.

  7. You can control access to a specific form within a group. Type the name of the form program in the Program Items field.

    To determine the name of a form, place your pointer over the link in the left frame of the Server Manager and then view the text in the status bar of your browser. The last word after the + is the name for that form.

    For example, suppose you have one person who administers a Netscape Directory Server and you want that person to have access only to the "Configure Directory Service" form. In this case, you would set up a rule that applies to them (host, IP, and so on), and then you would enter dsconfig in the Program Items name.

  8. Click Update and then Submit to save the access control rule.

 

Writing customized expressions

You can enter custom expressions for an ACL. You can use this feature if you are familiar with the syntax and structure of ACL files. There are a few features available only by editing the ACL file or creating custom expressions. For example, you can restrict access to your server depending on the time of day, day of the week, or both.

The following customized expression shows how you could restrict access by time of day and day of the week. This example assumes you have two groups in your LDAP directory: the "regular" group gets access Monday through Friday, 8:00am to 5:00pm. The "critical" group gets access all the time.


allow (read)
{
(group=regular and dayofweek="mon,tue,wed,thu,fri");
(group=regular and (timeofday>=0800 and timeofday<=1700));
(group=critical)
}
For more information on valid syntax and ACL files, see the on-line help.

 

Turning access control on and off

You can turn on access control depending on the server an administrator accesses. You could create and turn on access-control for a specific server on your computer and leave it off (default) for any other servers. For example, you could deny all access to the administration server's Server Manager forms only. With distributed administration on and access control off by default for any other servers, administrators could still access and configure the other servers, but they couldn't configure the administration server itself.

Note
This access control is in addition to the user being in the administrators group set for distributed administration. The administration server first checks that a user (other than superuser) is in the administrators group, and then it evaluates the access-control rules.  

Responding when access is denied

You can choose the response a user sees when they are denied access. You can vary the message for each access-control object. By default, the user is sent a message that says the file wasn't found (the HTTP error code 404 Not Found is also sent).

To change what message is sent for a particular ACL:

  1. In the ACL form, click the link called "Response when denied."

  2. In the lower frame, check the radio button called Respond with the following file.

  3. In the text field, type an absolute path to a text or HTML file you want to send to the user when they are denied access. Be sure the server has read access to this file on your system--it's a good idea to have the file in a directory under the server root. Make sure the file doesn't contain references to other files (such as style sheets) or images because they won't be sent. Click Update.

  4. Make sure you submit the access control rule by clicking the Submit button in the top frame.

Figure J.4 The Server Administration page lets you manage your Netscape servers.

 

Using the Server Manager forms

As stated earlier, the collection of forms used to configure a single server is called the Server Manager. The administration server contains a Server Manager for each Netscape server installed on the computer, including one for the administration server itself.

The Server Administration page, shown in Figure J.4, contains links to each Server Manager.

After clicking on a button, you'll see the Server Manager--a three-frame page with buttons in the top frame and links in the left frame (see Figure J.5).

Figure J.5 The administration server's Server Manager forms appear in a three-frame page.

To use the Server Manager, you click a category button in the top frame (for example, Server Preferences), and then you click a link in the left frame (for example, Distributed Admin). A form appears in the remaining frame where you select options and specify values that configure the server. To submit your changes in the form, click the OK button. Click the Help button in any form to get specific directions on using that form.

To return to the Server Administration page (Figure J.4), click the Server Administration button in the top frame of the Server Manager.

 

Before you install or configure your servers

This section describes the issues you need to resolve before you install your Netscape SuiteSpot servers. You should also read the Administrator's Guide for each server before installation, because they might include other special considerations specific to that server type.

 

Setting up the SuiteSpot user and group

If you plan on installing multiple SuiteSpot servers on a single computer, create a SuiteSpot system group that includes the system user account you plan to use for each server installed on the computer. (During installation, you specify the user account you want the SuiteSpot server to use.) This gives any servers installed on the computer read and execute permissions to the files or directories owned by other servers (for example, the local directory of users and groups used in access control).

For example, if you're installing Netscape Messaging Server and Netscape Enterprise Server on the same computer, you might create a group called suitespot with system users mail and web.

Note
Creating the user and group is more important on UNIX systems, but you can also do this on Windows NT systems.

When you create these accounts, you should create them so that no other system users or groups have write access to the files owned by the servers. In particular, you'll want to write-protect the administration server's password file located at <server_root>/admin-serv/config/admpw. And you should consider protecting any encryption key-pair files and certificates (in the directory <server_root>/alias), and the local database (in the directory <server_root>/userdb).

 

Logging in to the administration server

When you first connect to the administration server, you must provide a user name and a password. If the administration server uses distributed administration, the forms that you see and the administrative privileges that you have depend on the user name you use when logging in.

Distributed administration lets multiple people log in to the administration server. Access control rules determine what forms each person can use. There are three general levels of users:

The following table helps illustrate what access different users get and what affects how they access the administration server.

Table J.1 What the administration server does when different users log in

Option

superuser

administrator
(distributed administration)

end user

The user name and password is checked against entry in

<server_root>/admin-serv/config/admpw

LDAP directory or local database

LDAP directory or local database

Can user create users and groups in a local database?

YES

YES

NO

Can user create users and groups in an LDAP directory?

YES, but only if there is an entry matching the superuser name.

YES, provided the administrators group has create permission

NO

If LDAP directory is down, can the user access the administration server?

YES

NO

NO

What forms are viewable in administration server?

All, except User & Groups depends on the superuser having an account in the LDAP directory (if used).

Depends on access control.
If no access control is used, see all forms

End-user forms only

If you want to check different areas of the administration server, create a group and user for distributed administration and then create an end-user. To log in as different users and see what they get, insert the username in the URL for the administration server. For example, http://user1@myserver.mozilla.com:12345. If you don't insert the user's name, most web browsers will authenticate you using the last password you entered for that URL. (Netscape Navigator and Netscape Communicator cache the user name, password, and URL for a single-session, so when you close the application, the information is discarded.)

 

When distributed administration is off

When distributed administration is turned off, you can only log in to the administration server using its superuser name and password. You configure this user name and password when you first install your administration server.

Logging in as the superuser gives you full access to all the forms and servers running under the administration server. The exception to this is the Users & Groups area of the administration server. Although you have full access to the Users & Groups forms, you might not have the appropriate permissions set in the directory that allow you to manage users. This is an issue only if you are using a directory server to manage users and groups--if you are using the local directory, you automatically have full access to directory management because the local directory does not support access control lists.

Warning
If you are using a directory server to manage users and groups, then make sure to create a user entry in your directory that corresponds to your administration server superuser, and grant that entry full read, write, search, and compare permissions for the directory. Netscape Directory Server version 1.02 or later has the ability to automatically create the minimum required superuser user name and access-control information. For more information, see the on-lineon- line documentation that is available with your Netscape Directory Server.  

When distributed administration is on

If you enabled distributed administration, then you can log in as the superuser, an administrator, or an end user. The administration server identifies what type of a user you are by using the following process:

  1. When you login, you enter your login user ID. This must correspond to the unique user ID attribute value set for your entry in the directory server. The format of your user ID will depend on the policies in use at your site, but by default the administration server Users & Groups form suggests a user ID by appending the user's last name to the first initial of their first name. For example, someone named Barbara Jensen would by default be given a user ID of bjensen.

    User IDs are not case sensitive in the directory server. Therefore, a user ID of bjensen is the same as BJENSEN.

  2. If you use the superuser user name and password when logging in to the administration server, then you are granted full access to all the servers and forms under the administration server. The exception to this is that you might not have full directory access if you are using the directory server.

Note
If you are using a directory server to manage users and groups, then make sure to create a user entry in your directory that corresponds to your administration server superuser. Also make sure to create the appropriate administrators group (discussed below) and grant that group full read, write, search, and compare permissions for the directory. Finally, make sure you add your administration server's superuser to the administrator's group. Netscape Directory Server version 1.02 or later has the ability to automatically perform these minimum actions for you. For more information, see the on-line documentation that is available with your Netscape Directory Server.

  1. If you do not use the superuser user name and password when logging in, then the administration server searches for your user ID in the directory. How this search is performed is determined by whether you are using a directory server or a Netscape local directory:

    Directory server

    The administration server logs into (binds to) the directory using the Bind DN set for the administration server in Global Settings|Configure Directory Service. If no Bind DN is set for the administration server, then an anonymous search is attempted.

    The search is conducted for the subtree identified in the Base DN field of your administration server's Global Settings|Configure Directory Service form. Also the administration server looks for the matching uid attribute, that is, the user name, not surname (sn) or common name (cn).

    For information on uid, sn, and cn attributes, see the "Object classes and attributes" appendix that is available with your administration server's on-line documentation.

    Local database

    The search is performed on the database directly. No access control permissions or Bind DNs are required. The search starts with the directory's root point (top most entry), and the match is performed on the uid (user name) attribute.

  2. Once a matching entry has been found, the administration server attempts to log into (bind to) the directory using that entry's distinguished name. The administration server uses the password that you provided to the login prompt. If the log in fails, then either you entered a user ID that is unknown to the directory, or you entered an incorrect password. Either way, you are offered a chance to try the log in procedure again.

  3. If you log in as a user who is a member of the administrators group for distributed administration, you are given administration-level access to the administration server, depending on how access control is configured. If you log in as a user who is not a member of the administrators group, then you will be given end-user access if it is enabled for your administration server; if end-user access isn't enabled, you'll get an access denied message.

For information on distinguished names, directory services and how to use them with your administration server, and how to configure your administration server to use directory services, see the chapter "Chapter 5: User and group management."

For detailed information on binding to the directory server, creating directory server users and groups, setting directory server access control privileges, and performing directory searches, see the Netscape Directory Server Administrator's Guide.

 

Stopping the administration server

If you enable end-user access to the administration server, you should keep the administration server running as often as possible. If you don't enable end-user access, consider shutting down the administration server when you aren't using it. This minimizes chances of a break in, which could happen if someone learns any of your superuser or administrator passwords.

To shut down the administration server from the Server Manager:

  1. Go to the Server Manager and choose Server Preferences|Shut Down.

  2. Click Shut down the administration server.

You can also stop and restart the administration server service or daemon, depending on the computer operating system you use:

UNIX
To stop the administration server, go to your server root directory and type
./stop-admin. To start the server, type ./start-admin. If the server is already running, you can type ./restart-admin.

NT
To stop the administration server, go to Control Panel|Services. Select the "Netscape Administration Server 3.5" service and click Stop. To restart it, click Start.

 

What to do next

Before you read the rest of this book, you need to install at least one of your SuiteSpot servers. The following six steps offer installation guidelines to follow.

  1. Create a system user and group that your servers will use. This is more important for UNIX systems than Windows NT.

  2. Install Netscape Directory Server and create one "superuser" account, and then create and add users to an "administrators" group. These accounts are crucial if you want to administer users and groups from the administration server.

  3. Install other SuiteSpot servers that use the 2.x administration server. See the Quick Start card that comes in the SuiteSpot package for a list of servers using the 2.x administration server. When installing, you should use the default server-root directory. For more information, consult the documentation for those servers.

  4. Install SuiteSpot servers that use the 3.x administration server. Make sure you install the 3.x servers to a different server-root directory. If you installed 2.x into non-default directory, specify the directory to the 2.x administration server during the 3.x installation. For more information, consult the documentation for those servers.

  5. Install any servers you need to run on other computers. If you want to use cluster management, make sure they all use the same superuser account or create at least one common administrator account.

  6. Set up any clusters you need.

 

Chapter 5: User and group management

The Netscape administration server lets you manage the users and groups that access the services provided by your Netscape servers. Because you manage users and groups from the administration server, you use the same interface for user and group management regardless of the type of servers, or the number of servers, that you are running at your site. This common management scheme provides simplified server administration by letting you maintain a single directory of users for all your Netscape servers.

This chapter contains basic information about the differences between using a local database and a director service such as Netscape Directory Server. The on-line help contains directions for creating and managing users and groups from the administration server forms.

 

The directory service

The Users & Groups area of the administration server is actually an interface to a directory service. Directory services are a type of software that allows you to maintain information, such as contact information or identification information for the people in your organization. You use a directory service in the administration server to store user information, such as user IDs, email addresses, certificates and so forth. This information is typically used when controlling access to a server.

You have a choice of the type of directory service you can use with your administration server: You can use a Netscape Directory Server or you can use the local database.

 

Netscape Directory Server

Based on an open-systems server protocol called the Lightweight Directory Access Protocol (LDAP), Netscape Directory Server is a robust, scalable server designed to manage an enterprise-wide directory of users and resources. Using the directory server, you can manage all of your user information from a single source. You can also configure the directory server to allow your users to retrieve directory information from multiple, easily accessible network locations.

The use of a directory server to manage your servers' users and groups is recommended for large organizations consisting of up to a million users. Directory server is also ideal for organizations spread across physically different locations, and for organizations where balancing the access load to their directory is important. Finally, the directory server is recommended for those organizations interested in enhancing directory availability by placing their directory services on multiple servers.

For more information about the directory server, or about directory services in general, see the Netscape Directory Server Administrator's Guide, which comes with Netscape Directory Server.

 

The local directory

The Netscape local directory is bundled with every administration server, and it provides many of the core directory functions available from the directory server. The local directory is intended for sites running a stand-alone Netscape server (such as a enterprise or messaging server).

The local directory has the following limitations when compared to the Netscape Directory Server:

 

Directory service clients

You must use a directory service client to obtain information from and to put information into a directory service. If you are using the Netscape Directory Server, then any directory client that can use the LDAP protocol can use your directory. This is one of the primary differences between a true directory service and the local database bundled with the administration server: The database can communicate only with the local administration server, whereas the directory server can communicate with any LDAP-capable client.

 

Gateways

The administration server is actually a type of directory service client known as a gateway. That is, the administration server acts as a gateway between the communication protocol used by your web browser (HTML) and the protocol used by the directory server (LDAP). Of course, if you are using the local database then the gateway skips the LDAP protocol and accesses the local database directly.

When you first install your administration server, you must configure your server to communicate either with the local directory or with the directory server. If you use a directory server, you need to make sure it has at least one user account that the administration server can use to access it. This is usually the administration server superuser account. Beyond that, you'll experience no difference when using the Users & Groups forms.

For more information on how to use the Users & Groups forms, see the on-line documentation that is available with your administration server.

 

Command-line clients

Both the directory server and the Netscape local directory offer command-line tools that allow you to search the directory and perform directory modifications from the command line. This allows you to create custom shell scripts or batch files to perform routine, automated tasks on your directory.

Netscape Directory Server provides many command-line tools to help you administer and maintain your directory. The local directory, however, provides two tools for your use: ldapmodify and ldapsearch. These are actually identical to the ldapmodify and ldapsearch command-line tools shipped with the directory server, except that the -C option has been added so that they can work with the local directory.

For more information on the ldapmodify and ldapsearch command-line tools bundled with your administration server, see the on-line documentation. For more information on the command-line tools bundled with the directory server, see the Netscape Directory Server Administrator's Guide.

 

Authenticating users to directory services

Any time you perform an operation on a directory service, you must identify yourself to the service. This identification process is known as authentication. You can also think of this process as logging into the directory service.

Authentication allows a directory service to know if you have sufficient permissions to perform operations in the directory. Examples of directory operations are:

Usually authentication is not required if all you want to do is search the directory. When you access a directory without providing authentication credentials, you are performing anonymous access.

When you log in to the administration server, the username and password that you provide are automatically used by the Users & Groups forms when they are communicating with a directory server.

Warning
If you need to change your superuser password, make sure you change it in the directory server before you change it in the administration server. For information on allowing anonymous access to the directory server, see the Netscape Directory Server's Administrator's Guide.

 

Distinguished names

A distinguished name (DN) is the string representation for the name of an entry in a directory server or in a local directory. You use DNs when naming entries using the LDAP Data Interchange Format (LDIF), when using the LDAP command-line clients, when configuring the directory server, and so forth.

Traditionally, a DN consists of the following items in this order:

This string of identifying attributes uniquely locates the entry within your directory. If you choose, you can also use this naming structure to uniquely identify your entries within the global directory tree as defined in the X.500 standard.

 

Distinguished name syntax

The traditional syntax for a DN string representation is as follows:


cn=common name, [street=address, l=locality, st = state or province, ou=organizational unit, o=organization], c=country name

A DN can consist of virtually any attributes you want to use. However, if you are using the Netscape Directory Server and schema checking is turned on, then the attributes must be recognized by the directory server, and the attribute must be allowed by the entry's object classes.

(For more information on object classes and attributes, and your directory server's schema, see Appendix A of the on-line documentation.)

Generally, however, a DN begins with a specific common name and gives increasingly broader areas of identification, ending with the country name. Note, however, that the DN attributes you use, and the order in which you organize them, is up to you. The only requirement is that DN attributes must be separated by a comma and can optionally use a space following the separator.

 

Using uid-based distinguished names

One common variation on the traditional distinguished name identified here is to use a user ID (uid) in the place of a common name (cn). Because user IDs are typically unique values across an enterprise, basing your distinguished name on user IDs allows you to avoid cn collision problems caused by people who share the same name. By default, the administration server uses cn-based distinguished names, but you can change this behavior so that it creates uid-based distinguished names instead. You do this by editing the file:


<server_root>/admin-serv/config/dsgw-orgperson.conf

and setting the useUidForDN variable to true.

 

Distinguished name usage

Once you have organized your directory structure, you must always specify the DN attributes in the same order because a DN represents a path through the directory tree. For example, the following DNs do not represent the same entry:


cn=Ralph Swenson, ou=Accounting, o=Ace Industry, c=US 
cn=Ralph Swenson, o=Ace Industry, ou=Accounting, c=US
Also, distinguished names representing branch points in the directory do not typically begin with a common name value. Rather, they usually begin with some subelement in the directory path. For example, if your directory contained entries of the form:


	cn=name, ou=Marketing, o=Ace Industry, c=US

then your directory would also contain the entries:


	o=Ace Industry, c=US
ou=Marketing, o=Ace Industry, c=US
These two entries must appear in the directory before the entries represented by a common name can appear.

For more information on your directory's organization, see "Planning your directory structure."

 

Distinguished name examples

The following are some examples of distinguished names:


cn=Wally Henderson,ou=Product Development,o=Bait and Tackle Inc, st=Minnesota,c=US


cn=Retch Sweeny, ou=Product Test, o=Bait and Tackle Inc, st=Michigan, c=US

cn=printer3b, l=room 308, o=Acme Programming Ltd, c=US

 

Distinguished name attributes

The various standard attributes that comprise a DN are as follows:

Table J.2

Attribute

Name

Definition

c

country

Identifies the name of the country under which the entry resides. Must be the two-letter country code. For example:

c=US

c=GB

cn

common name

Identifies the person or object defined by the entry. For example:

cn=Wally Henderson

cn=Database Administrators

cn=printer3b

uid

user ID

Identifies the person or object defined by the entry. DNs based on uids are often preferred over cn-based DNs because they avoid duplicated distinguished names caused by people who share the same name.

l

locality

Identifies the locality in which the entry resides. The locality could be a city, county, township, or other geographic region. For example:

l=Tucson

l=Pacific Northwest

l=Anoka County

o

organization

Identifies the organization in which the entry resides. For example:

o=Netscape Communications Corp

o=Public Power & Gas

ou

organizational unit

Identifies a unit within the organization. For example:

ou=Sales

ou=Manufacturing

st

state or province name

Identifies the state or province in which the entry resides. For example:

st=Iowa

st=British Columbia

street

street address

Identifies the street address at which the entry resides. For example:

street=494 Rice Creek Terrace

 

Using commas in distinguished names

If a distinguished name contains a comma, then the part of the name that uses the comma must also be enclosed in double-quotation marks. For example, to include the string Ace Industry, Corp in your distinguished name, you would quote it as follows:


	o="Ace Industry, Corp", c=US

 

Planning your directory structure

Directories are usually organized in a tree-like structure. The top of the tree is known as the root. For example:

Notice that there are several branch points in the tree below the root. These branch points usually represent major organizational units within the larger organization. For example, if you work at a corporation, then your company is probably subdivided into organizations such as Marketing, Sales, Product Development, and so forth. Each of these organizations may themselves contain further subdivisions, such as Product Development for Widget 1, Product Development for Widget 2, and so forth. An organizational unit, then, is a large, relatively static division or unit within your organization.

For information on how to create branch points in your directory, see "Creating organizational units" in the administration server on-line documentation. The following sections discuss the pros and cons to creating subdivisions within your directory.

 

Disadvantages of organizational units

Be aware that the flatter the structure of a directory, the easier your directory is to manage. The following are some of the reasons for this:

If you are using Netscape Directory Server, then you can create tools to perform these tasks, either by using shell scripts or batch files to call the appropriate command-line utilities, or by writing programs that make use of the Netscape Directory Server client SDK.

 

Advantages of organizational units

A directory tree with many subdivisions has many advantages. An obvious one is that you can easily search for everyone who works for a specific organization. If you are using a directory server, there are several other benefits to a subdivided directory, including:

For information on replication and directory access control, see the Netscape Directory Server Administrator's Guide.

 

Recommendations for using organizational units

A flat directory structure is the easiest to administer but not necessarily the easiest to use. You should therefore consider the following when planning your directory:

 

Configuring directory services

You can choose to use either the local database to organize your users and groups, or you can use Netscape Directory Server. When you first install your administration server, you configure the server to use either the local directory, or a directory server. You can also change this configuration after the administration server is installed. The following sections describe how to configure your administration server to use these two directory services.

 

Using the local database

To configure a local database (also called local directory):

  1. From the administration Server Manager, choose Global Settings|Configure Directory Service.

  2. Click the Local Database radio button.

  3. A dialog box appears to warn you that you will lose your directory service configuration information. Click Yes to continue.

  4. You can optionally enter a base DN. The distinguished name you enter here is used as a suffix for your local directory and also as for the point from which directory lookups will occur by default.

    An example of a suffix that you could enter here is:

    o=your company name, c=US.

    If you do not enter a value in this field, then your suffix will be a null string, and all searches will begin from the top or root point of the directory.

  5. Click the Save Changes button.

 

Using a directory server

If you want to configure a Netscape Directory Server:

  1. From the administration Server Manager, go to Global Settings|Configure Directory Service.

  2. Click the LDAP Directory Server radion button.

  3. A dialog box appears to confirm that you want to use a Directory Server. Click Yes to continue.

  4. Enter the host name where the directory server is running. You must enter a host name even if the directory server is running on the local machine.

  5. The default port number of 389 is automatically filled in for you. If your directory server is using a different port number, enter that port number here. Note that if you are going to use SSL communications with a directory server, then you should enter the port number that the directory server is using for SSL communications. By default, this is port number 636.

    For information on SSL, see the Netscape Directory Server Administrator's Guide.

  6. Click Yes if you want to use SSL for communications with the directory server. If you click Yes here, then you must also configure your administration server to use SSL communications.

  7. Enter a base DN. The distinguished name you enter here is the point from which directory lookups will occur by default, and is the location where all the administration server's entries will be placed in your directory tree.

    An example of a base DN that you could enter here is:

    o=your company name, c=US.

    For more information on distinguished names, LDAP searches, and base DNs, see the Netscape Directory Server Administrator's Guide.

  8. Optionally enter the Bind DN that the administration server will use to initially bind (or log in) to the directory server. This bind DN only requires read and search access to the directory. Because this DN and associated password (if any) is easily compromised, it is best to simply leave this field blank and then setup your directory server to allow anonymous search access. If you do not want to allow anonymous search access to your directory, then specify a bind DN entry here that only has read and search access to your directory. Do not specify your directory server's unrestricted user (Root DN) in this field.

Note
This bind DN is used only to initially search for the User Name you entered to the administration server authentication dialog box. Once the entry corresponding to this user name is located, the administration server rebinds to the directory server using the retrieved entry. Therefore, if the user name you supplied when you first logged into the administration server does not have access to the directory server, you will not have any access to the directory server, regardless of the bind DN information provided in this field.

For information on granting permissions to a directory server entry, see the Netscape Directory Server Administrator's Guide.

  1. If you have entered a bind DN in the previous field, then enter the password for the Bind DN entry.

  2. Click the Save Changes button. The changes take effect immediately.

Warning
If you change directory service from a local file to a directory server and vice-versa, you need to restart all SuiteSpot servers, including the administration server.

 

Converting a database

All 3.x administration servers use either a local database or an LDAP directory to store user and group information. You can upgrade a 2.0 user database by using one of two procedures:

When a database is upgraded, the entries in the old database are added to the default 3.x LDAP directory, which is either the LDAP directory server (such as Netscape Directory Server) or a local database file.

During the upgrade, several .ldif files are created in the 3.x directory <server_root>/authdb/<dbname, where <dbname> is the name of the 2.x database. The following LDIF files are created:

 

Converting individual databases

To convert a database from the administration server:

  1. In the Server Administration page, choose Users & Groups|Convert 2.0 Database.

  2. Type the absolute path to your 2.x server root directory. For example, type /usr/ns-home.

  3. Choose the name of the database file using the drop-down list. If you have only one 2.x database file, choose default.

  4. In the Import at field, enter the DN for the branch point in the LDAP directory where you want to start adding entries. If this is blank, the entries are added starting at the top of the LDAP tree. For example, if you want the entries to be added under the organizational unit branch for sales, you would enter something like this: ou=sales, o=mozilla, c=us. Click OK.

    The Base DN specified in the "Configure Directory Service" form is appended to your Import entry. So if you specified a Base DN o=mozilla, c=us, then you would only need to enter ou=sales in the Import field.

The administration server runs a program that creates the various LDIF files and adds them to your default LDAP directory (this is the directory specified in the "Configure Directory Service" form).

 

Migrating a server configuration

If you have both 2.x and 3.x servers running on a single computer, you can migrate the configuration from an older (2.x) server to the newer (3.x) server. When you migrate a server, all entries in the databases on the 2.x server are converted and added to your 3.x LDAP directory. If you use the local database, the entries are added starting from the top of the tree. If you're using an LDAP directory, the entries are added starting at the Base DN you specified when you configured the directory service. If you want the entries to start at a different branch, temporarily change the default Base DN while you do the migration.

To migrate a server:

  1. In the Server Administration page, click the link called "Migrate from a previous version" located at the bottom of the page.

  2. In the form that appears, enter the absolute path to the 2.x server root directory. Click Find Servers.

  3. Check the 2.x server whose configuration you want to migrate. For example, you can upgrade the configuration from the 2.x administration server by checking Import admin.

  4. A form appears with information about the server you want to migrate. Enter information in the fields. For more directions on these forms, see the documentation for the specific server type you are migrating.

  5. Click Import. The administration server runs a process to convert the old configuration to the new server. You should restart your servers after this process.