nsdb-update-fsl (8) - Linux Manuals
nsdb-update-fsl: update attributes of a fileset location (FSL) record
NAME
nsdb-update-fsl - update attributes of a fileset location (FSL) recordSYNOPSIS
nsdb-update-fsl [-?d] [-D binddn] [-e nce] [-l nsdbname] [-r nsdbport] [-v value] fsl-uuid attributeINTRODUCTION
RFC 5716 introduces the Federated File System (FedFS, for short). FedFS is an extensible standardized mechanism by which system administrators construct a coherent namespace across multiple file servers using file system referrals. For further details, see fedfs(7).The bulk of FedFS junction information in a FedFS domain is stored on one or more LDAP servers. These servers are known as namespace databases, or NSDBs, for short.
FedFS-enabled file servers and clients access the information stored on NSDBs via standard LDAP queries. FedFS-enabled file servers use these queries to resolve FedFS junctions. FedFS administrators use them to manage information about file sets contained in a FedFS domain name space.
DESCRIPTION
The nsdb-update-fsl(8) command is part of a collection of low-level single-use programs that is intended for testing the NSDB protocol or for use in scripts. This command modifies attributes contained in fileset location (FSL) records on an NSDB.A fileset location, or FSL, uniquely identifies the location of one replica of a fileset. An FSL record contains two UUIDs and other information, depending on the subtype of the FSL. The meaning of these items is described in more detail in fedfs(7).
FSLs are stored in records on an NSDB. These records are stored as children of FSN records. Replicas of these records can exist on more than one LDAP server.
The nsdb-update-fsl(8) command can modify certain attributes of an FSL record. It does not create FSL records. To create FSL records, use the nsdb-create-fsl(8) command. It does not update base FSL attributes, such as the servername. To modify those attributes, a new FSL record must be created.
The fedfsAnnotation and fedfsDescr attributes are multi-value attributes. To modify them, use nsdb-annotate(8) and nsdb-describe(8), respectively.
This command has two positional parameters. The first parameter specifies the UUID of the FSL record to modify. If a record for this FSL does not already exist, the nsdb-update-fsl(8) command fails. The second parameter specifies the name of the attribute to update. If that attribute does not already exist, it is added to the target FSL record.
OPTIONS
- -d, --debug
- Enables debugging messages during operation.
- -?, --help
- Displays nsdb-update-fsl
(8) version information and a usage message on stderr.- -D, --binddn=bind-distinguished-name
- Specifies a distinguished name of an entity used to bind to the LDAP server where the NSDB resides. If the --binddn option is not specified, the value of the FEDFS_NSDB_ADMIN environment variable is consulted. If this variable is not set, the NSDB connection parameter database is searched for this DN. If none of these is specified, or if this entity does not have permission to modify this area of the server's DIT, the nsdb-update-fsl(8) command fails.
- -e, --nce=NSDB-container-entry-distinguished-name
- Specifies the distinguished name of the NSDB container entry under which the specified FSL record resides. If the --nce option is not specified, the value of the FEDFS_NSDB_NCE environment variable is consulted. If this variable is not set, then the NSDB connection parameter database is searched for this DN. If none of these is specified, the nsdb-update-fsl(8) command fails.
- -l, --nsdbname=NSDB-hostname
- Specifies the hostname of the NSDB where the specified FSL record resides. If the --nsdbname option is not specified, the value of the FEDFS_NSDB_HOST environment variable is consulted. If the variable is not set and the --nsdbname option is not specified, the nsdb-update-fsl(8) command fails.
- -r, --nsdbport=NSDB-port
- Specifies the IP port of the NSDB where the specified FSL record resides. If the --nsdbport option is not specified, the value of the FEDFS_NSDB_PORT environment variable is consulted. The default value if the variable is not set is 389.
- -v, --value=LDAP-value
- Specifies the new value that should be stored in the specified attribute. If the specified attribute does not exist, it is created and assigned the specified value. Otherwise the existing value is replaced. If the --value option is not specified, the nsdb-update-fsl(8) command attempts to delete the specified attribute.
EXIT CODES
The NSDB returns a value that reflects the success of the requested operation.- FEDFS_OK
- The LDAP modify request succeeded.
- FEDFS_ERR_ACCESS
- The bound entity does not have permission to perform the requested operation.
- FEDFS_ERR_INVAL
- One of the arguments was not valid.
- FEDFS_ERR_SVRFAULT
- An unanticipated non-protocol error occurred.
- FEDFS_ERR_NSDB_ROUTE
- The nsdb-update-fsl(8) command was unable to find a route to the specified NSDB.
- FEDFS_ERR_NSDB_DOWN
- The nsdb-update-fsl(8) command determined that the specified NSDB was down.
- FEDFS_ERR_NSDB_CONN
- The nsdb-update-fsl(8) command was unable to establish a connection with the specified NSDB.
- FEDFS_ERR_NSDB_AUTH
- The nsdb-update-fsl(8) command was unable to authenticate and establish a secure connection with the specified NSDB.
- FEDFS_ERR_NSDB_LDAP
- A non-specific LDAP error occurred on the connection between the nsdb-update-fsl(8) command and specified NSDB.
- FEDFS_ERR_NSDB_LDAP_VAL
- An LDAP error occurred on the connection between the nsdb-update-fsl(8) command and specified NSDB. The specific error may be displayed on the command line.
- FEDFS_ERR_NSDB_NONCE
- The nsdb-update-fsl(8) command was unable to locate the NCE on the specified NSDB.
- FEDFS_ERR_NSDB_NOFSN
- The nsdb-update-fsl(8) command was unable to locate the specified FSN on the specified NSDB.
- FEDFS_ERR_NSDB_NOFSL
- The nsdb-update-fsl(8) command was unable to locate the specified FSL for the specified FSN on the specified NSDB.
- FEDFS_ERR_NSDB_RESPONSE
- The nsdb-update-fsl(8) command received a malformed response from the specified NSDB.
- FEDFS_ERR_NSDB_FAULT
- An unanticipated error related to the specified NSDB occurred.
- FEDFS_ERR_NSDB_PARAMS
- The local NSDB connection parameter database does not have any connection parameters on record for the specified NSDB.
- FEDFS_ERR_NSDB_LDAP_REFERRAL
- The nsdb-update-fsl(8) command received an LDAP referral that it was unable to follow.
- FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL
- The nsdb-update-fsl(8) command received an LDAP referral that it was unable to follow. A specific error may be displayed on the command line.
- FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED
- The nsdb-update-fsl(8) command received an LDAP referral that it chose not to follow, either because the local implementation does not support following LDAP referrals or LDAP referral following is disabled.
- FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL
- The nsdb-update-fsl(8) command received an LDAP referral that it chose not to follow because the local NSDB connection parameter database had no connection parameters for the NSDB targeted by the LDAP referral.
EXAMPLES
Suppose you are the FedFS administrator of the example.net FedFS domain and that you have created a new FSN for some fileset. The new FSN looks like:To change the NFS minor version used when clients mount this location from zero to one, you might use:
-
$ nsdb-update-fsl -D cn=Manager -e o=fedfs \
Enter NSDB password:
Successfully updated FSL record
fedfsFslUuid=323c5068-7c11-11e0-8d38-000c297fd679,
fedfsFsnUuid=8e246ddc-7b46-11e0-8252-000c297fd679,o=fedfs
SECURITY
Permission to modify the LDAP's DIT is required to update an FSL record. The nsdb-update-fsl(8) command must bind as an entity permitted to modify the DIT to perform this operation. The nsdb-update-fsl(8) command asks for a password on stdin. Standard password blanking techniques are used to obscure the password on the user's terminal.The target LDAP server must be registered in the local NSDB connection parameter database. The connection security mode listed in the NSDB connection parameter database for the target LDAP server is used during this operation. See nsdbparams(8) for details on how to register an NSDB in the local NSDB connection parameter database.
COLOPHON
This page is part of the fedfs-utils package. A description of the project and information about reporting bugs can be found at http://wiki.linux-nfs.org/wiki/index.php/FedFsUtilsProject.AUTHOR
Chuck Lever <chuck.lever [at] oracle.com>
SEE ALSO
fedfs(7), nsdb-create-fsl(8), nsdb-annotate(8), nsdb-describe(8), nsdb-resolve-fsn(8), nsdbparams(8)RFC 5716 for FedFS requirements and overview