1
2NSDB-ANNOTATE(8)            System Manager's Manual           NSDB-ANNOTATE(8)
3
4
5

NAME

7       nsdb-annotate - modify an fedfsAnnotation attribute
8

SYNOPSIS

10       nsdb-annotate [-?dy] [-a annotation] [-D binddn] [-k keyword] [-l nsdb‐
11       name] [-r nsdbport] [-v value] distinguished-name
12

INTRODUCTION

14       RFC 5716 introduces the  Federated  File  System  (FedFS,  for  short).
15       FedFS  is an extensible standardized mechanism by which system adminis‐
16       trators construct a coherent namespace  across  multiple  file  servers
17       using file system referrals.  For further details, see fedfs(7).
18
19       The  bulk  of FedFS junction information in a FedFS domain is stored on
20       one or more LDAP servers.  These servers are known as  namespace  data‐
21       bases, or NSDBs, for short.
22
23       FedFS-enabled file servers and clients access the information stored on
24       NSDBs via standard LDAP queries.  FedFS-enabled file servers use  these
25       queries  to  resolve FedFS junctions.  FedFS administrators use them to
26       manage information about file sets contained in  a  FedFS  domain  name
27       space.
28

DESCRIPTION

30       The  nsdb-annotate(8) command is part of a collection of low-level sin‐
31       gle-use programs that is intended for testing the NSDB protocol or  for
32       use  in scripts.  It allows FedFS administrators to update the fedfsAn‐
33       notation attribute of FedFS records stored on an NSDB.
34
35       This command has one positional parameter which specifies the LDAP dis‐
36       tinguished  name  of the FedFS record to be modified.  All FedFS object
37       classes may have a fedfsAnnotation attribute, thus  a  fully  qualified
38       distinguished  name,  rather  than, say, an FSN UUID by itself, must be
39       specified.
40
41       The fedfsAnnotation attribute itself is multi-valued.   Each  attribute
42       value  is a structured string containing a keyword in double quotes, an
43       equals-sign, and a value in double quotes.  The keyword and  value  may
44       contain  any  valid UTF-8 character.  Escaping allows double quotes and
45       equals-signs to appear in the keyword and values.
46
47       The nsdb-annotate(8) command can construct the structured string from a
48       specified  keyword  and  a  value via the --keyword and --value command
49       line options, or it can take a single structured  string  as  the  full
50       keyword-value via the --annotation command line option.  The nsdb-anno‐
51       tate(8) command inserts new values or deletes or replaces existing ones
52       while maintaining the correct structure of each value of the fedfsAnno‐
53       tation attribute.
54
55       Each value of the fedfsAnnotation attribute has no meaning to FedFS and
56       is  ignored.   Annotation  allows  local  extensions  of  FedFS without
57       requiring changes to the NSDB's FedFS schema.
58

OPTIONS

60       -a, --annotation=spelled-out-annotation
61              Specifies a properly formed fedfsAnnotation string  to  process.
62              The  form of the string is not checked by the  nsdb-annotate (8)
63              command.  If the --delete option is specified  and  this  string
64              exists  as  a  value  of  the  target  record's  fedfsAnnotation
65              attribute, it is removed.  Otherwise the value is added.
66
67       -d, --debug
68              Enables debugging messages during operation.
69
70       -?, --help
71              Displays nsdb-annotate(8) version information and a  usage  mes‐
72              sage on stderr.
73
74       -D, --binddn=bind-distinguished-name
75              Specifies  a distinguished name of an entity used to bind to the
76              LDAP server where the NSDB resides.  If the --binddn  option  is
77              not  specified,  the  value  of the FEDFS_NSDB_ADMIN environment
78              variable is consulted.  If this variable is not  set,  the  NSDB
79              connection  parameter database is searched for this DN.  If none
80              of these is specified, or if this entity does not  have  permis‐
81              sion  to  modify  this  area of the server's DIT, the nsdb-anno‐
82              tate(8) command fails.
83
84       -k, --keyword=annotation-keyword
85              Specifies the keyword part of  a  fedfsAnnotation  string.   Use
86              either  the  --keyword  and  --value options or the --annotation
87              option to specify the fedfsAnnotation  string  to  process,  not
88              both.   If  the  --delete  option  is  specified and this string
89              exists  as  a  value  of  the  target  record's  fedfsAnnotation
90              attribute, it is removed.  Otherwise the value is added.
91
92       -l, --nsdbname=NSDB-hostname
93              Specifies  the  hostname  of  the  NSDB  where the target record
94              resides.  If the --nsdbname option is not specified,  the  value
95              of  the  FEDFS_NSDB_HOST  environment variable is consulted.  If
96              the variable is not set and the --nsdbname option is not  speci‐
97              fied, the nsdb-annotate(8) command fails.
98
99       -r, --nsdbport=NSDB-port
100              Specifies  the  IP  port  of  the  NSDB  where the target record
101              resides.  If the --nsdbport option is not specified,  the  value
102              of  the  FEDFS_NSDB_PORT environment variable is consulted.  The
103              default value if the variable is not set is 389.
104
105       -v, --value=annotation-value
106              Specifies the value  part  of  a  fedfsAnnotation  string.   Use
107              either  the  --keyword  and  --value options or the --annotation
108              option to specify the fedfsAnnotation  string  to  process,  not
109              both.   If  the  --delete  option  is  specified and this string
110              exists  as  a  value  of  the  target  record's  fedfsAnnotation
111              attribute, it is removed.  Otherwise the value is added.
112
113       -y, --delete
114              Specifies that the specified value string is deleted rather than
115              added.
116

EXIT CODES

118       The NSDB returns a value that reflects the  success  of  the  requested
119       operation.
120
121       FEDFS_OK
122              The LDAP modify request succeeded.
123
124       FEDFS_ERR_ACCESS
125              The  bound  entity  does  not  have  permission  to  perform the
126              requested operation.
127
128       FEDFS_ERR_INVAL
129              One of the arguments was not valid.
130
131       FEDFS_ERR_SVRFAULT
132              An unanticipated non-protocol error occurred.
133
134       FEDFS_ERR_NSDB_ROUTE
135              The nsdb-annotate(8) command was unable to find a route  to  the
136              specified NSDB.
137
138       FEDFS_ERR_NSDB_DOWN
139              The  nsdb-annotate(8) command determined that the specified NSDB
140              was down.
141
142       FEDFS_ERR_NSDB_CONN
143              The nsdb-annotate(8) command was unable to establish  a  connec‐
144              tion with the specified NSDB.
145
146       FEDFS_ERR_NSDB_AUTH
147              The  nsdb-annotate(8)  command  was  unable  to authenticate and
148              establish a secure connection with the specified NSDB.
149
150       FEDFS_ERR_NSDB_LDAP
151              A non-specific LDAP error occurred on the connection between the
152              nsdb-annotate(8) command and specified NSDB.
153
154       FEDFS_ERR_NSDB_LDAP_VAL
155              An  LDAP error occurred on the connection between the nsdb-anno‐
156              tate(8) command and specified NSDB.  The specific error  may  be
157              displayed on the command line.
158
159       FEDFS_ERR_NSDB_NONCE
160              The nsdb-annotate(8) command was unable to locate the NCE on the
161              specified NSDB.
162
163       FEDFS_ERR_NSDB_NOFSN
164              The nsdb-annotate(8) command was unable to locate the  specified
165              FSN on the specified NSDB.
166
167       FEDFS_ERR_NSDB_NOFSL
168              The  nsdb-annotate(8)  command was unable to locate any FSLs for
169              the specified FSN on the specified NSDB.
170
171       FEDFS_ERR_NSDB_RESPONSE
172              The nsdb-annotate(8) command received a malformed response  from
173              the specified NSDB.
174
175       FEDFS_ERR_NSDB_FAULT
176              An unanticipated error related to the specified NSDB occurred.
177
178       FEDFS_ERR_NSDB_PARAMS
179              The  local  NSDB connection parameter database does not have any
180              connection parameters on record for the specified NSDB.
181
182       FEDFS_ERR_NSDB_LDAP_REFERRAL
183              The nsdb-annotate(8) command received an LDAP referral  that  it
184              was unable to follow.
185
186       FEDFS_ERR_NSDB_LDAP_REFERRAL_VAL
187              The  nsdb-annotate(8)  command received an LDAP referral that it
188              was unable to follow.  A specific error may be displayed on  the
189              command line.
190
191       FEDFS_ERR_NSDB_LDAP_REFERRAL_NOTFOLLOWED
192              The  nsdb-annotate(8)  command received an LDAP referral that it
193              chose not to follow, either  because  the  local  implementation
194              does  not support following LDAP referrals or LDAP referral fol‐
195              lowing is disabled.
196
197       FEDFS_ERR_NSDB_PARAMS_LDAP_REFERRAL
198              The nsdb-annotate(8) command received an LDAP referral  that  it
199              chose  not to follow because the local NSDB connection parameter
200              database had no connection parameters for the NSDB  targeted  by
201              the LDAP referral.
202

EXAMPLES

204       Suppose you are the FedFS administrator of the example.net FedFS domain
205       and   that   you   want   to   modify   the   record   for   FSN   UUID
206       dc25a644-06e4-11e0-ae55-000c29dc7f8a  on  the  LDAP  server  nsdb.exam‐
207       ple.net.  You might use:
208
209              $ nsdb-annotate -l nsdb.example.net \
210                   -k readonly -v yes -D cn=Manager \
211                   fedfsFsnUuid=dc25a644-06e4-\
212                   11e0-ae55-000c29dc7f8a,o=fedfs
213              Enter NSDB password:
214              Successfully updated annotation "readonly" = "yes" for
215                fedfsFsnUuid=dc25a644-06e4-11e0-ae55-000c29dc7f8a,o=fedfs
216
217       To see the new annotation, use nsdb-resolve-fsn(8).
218

SECURITY

220       Permission to modify the LDAP's DIT  is  required  to  update  an  LDAP
221       entry.   The  nsdb-annotate(8) command must bind as an entity permitted
222       to modify the DIT to perform this operation.  The nsdb-annotate(8) com‐
223       mand  asks  for  a  bind password on stdin.  Standard password blanking
224       techniques are used to obscure the password on the user's terminal.
225
226       The target LDAP server must be registered in the local NSDB  connection
227       parameter  database.   The  connection security mode listed in the NSDB
228       connection parameter database for the target LDAP server is used during
229       this  operation.   See  nsdbparams(8) for details on how to register an
230       NSDB in the local NSDB connection parameter database.
231

SEE ALSO

233       fedfs(7), nsdb-resolve-fsn(8), nsdbparams(8)
234
235       RFC 5716 for FedFS requirements and overview
236
237       RFC 4510 for an introduction to LDAP
238

COLOPHON

240       This page is part of the fedfs-utils package.   A  description  of  the
241       project   and   information  about  reporting  bugs  can  be  found  at
242       http://wiki.linux-nfs.org/wiki/index.php/FedFsUtilsProject.
243

AUTHOR

245       Chuck Lever <chuck.lever@oracle.com>
246
247
248
249                                3 February 2014               NSDB-ANNOTATE(8)
Impressum