Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
lpset [-n system | nisplus | fnsldap] [-x] [ [-D binddn] [-w passwd] [-h ldaphost]] [-a key=value] [-d key] destination
The lpset utility sets printing configuration information in the system configuration databases. Use lpset to create and update printing configuration in /etc/printers.conf, or printers.org_dir (NIS+). See nsswitch.conf(4) and printers.conf(4).
Only a superuser or a member of Group 14 may execute lpset.
The following options are supported:
-n system|nisplus|ldap
Create or update the configuration information for the destination entry in /etc/printers.conf, printers.org_dir (NIS+), or LDAP printer contexts. system specifies that the information is created or updated in /etc/printers.conf. nisplus specifies that the information is created or updated in the printers.org_dir NIS+ table. ldap specifies that the information is written to an LDAP server. See . If -n is not specified, system is the default.
-x
Remove all configuration for the destination entry from the database specified by the -n option.
-a key=value
Configure the specified key=value pair for the destination. See printers.conf(4) for information regarding the specification of key=value pairs.
-d key
Delete the configuration option specified by key for the destination entry. See printers.conf(4) for information regarding the specification of key and key=value pairs.
-D binddn
Use the distinguished name (DN) binddn to bind to the LDAP directory server.
-w passwd
Use passwd as the password for authentication to the LDAP directory server.
-h ldaphost
Specify an alternate host on which the LDAP server is running. This option is only used when ldap is specified as the naming service. If this option is not specified, the default is the current host system.
The following operand is supported:
destination
Specifies the entry in /etc/printers.conf, printers.org_dir, or LDAP, in which to create or modify information. destination names a printer of class of printers. See lpadmin(1M). Each entry in printers.conf describes one destination. Specify destination using atomic names. POSIX-style destination names are not acceptable. See printers.conf(4) for information regarding the naming conventions for atomic names and standards(5) for information regarding POSIX.
Example 1 Removing All Existing Printing Configuration Information
The following example removes all existing printing configuration information for destination dogs from /etc/printers.conf:
example% lpset -x dogs
Example 2 Setting a key=value Pair
The following example sets the user-equivalence =true key=value pair for destination tabloid in the NIS+ context:
example% lpset -n nisplus -a user-equivalence=true tabloid
Example 3 Setting a key=value Pair in LDAP
example% lpset -n ldap -h ldapl.xyz.com -D "cn=Directory Manager" \e
-w passwd -a key1=value1 printer1
The following exit values are returned:
0
Successful completion.
non-zero
An error occurred.
System configuration database.
printer.org_dir (NIS+)
NIS+ version of /etc/printers.conf.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Stability Level | Stable |
ldap(1), lp(1), lpc(1B), lpq(1B), lpr(1B), lpstat(1), ldapclient(1M), lpadmin(1M), lpget(1M), nsswitch.conf(4), printers(4), printers.conf(4), attributes(5), standards(5)
If the ldap database is used, the printer administrator should be mindful of the following when updating printer information.
1. Because the domain information for the printer being updated is extracted from the ldapclient(1M) configuration, the LDAP server being updated must host the same domain that is used by the current ldapclient(1M) server.
2. If the LDAP server being updated is a replica LDAP server, the updates will be referred to the master LDAP server and completed there. The updates might be out of sync and not appear immediatedly, as the replica server may not have been updated by the master server. For example, a printer that you deleted by using lpset may still appear in the printer list you display with lpget until the replica is updated from the master. Replica servers vary as to how often they are updated from the master. See System Administration Guide: Solaris Printing for information on LDAP server replication.
3. Although users can use the LDAP command line utilities ldapadd(1) and ldapmodify(1) to update printer entries in the directory, the preferred method is to use lpset. Otherwise, if the ldapadd and ldapmodify utilities are used, the administrator must ensure that the printer-name attribute value is unique within the ou=printers container on the LDAP server. If the value is not unique, the result of modifications done using lpset or the Solaris Print Manager, printmgr(1M) may be unpredictable.