Provided by: myproxy-server_6.1.28-2_amd64 bug

NAME

       myproxy-server.config - myproxy-server configuration file

DESCRIPTION

       The  myproxy-server.config file sets the policy for the myproxy-server(8), specifying what
       credentials may be stored in the  server's  repository,  who  is  authorized  to  retrieve
       credentials,  and  other configurable server behaviors.  By default, the myproxy-server(8)
       looks for this file in /etc/myproxy-server.config and if it is not found there,  it  looks
       in    $GLOBUS_LOCATION/etc/myproxy-server.config.     A    template    is    provided   at
       $GLOBUS_LOCATION/share/myproxy/myproxy-server.config.  The myproxy-server -c option can be
       used to specify an alternative location.

       The  following  lines  set  access  control policies according to the client's certificate
       subject distinguished name (DN).  Note that MyProxy uses non-standard regular  expressions
       for  distinguished  name  (DN)  matching.  See  the  REGULAR EXPRESSIONS section below for
       details.

       accepted_credentials “DN regex”
              Each of these lines allows any clients whose DNs match the given limited  regex  to
              connect  to  the myproxy-server and store credentials with it for future retrieval.
              Any number of these lines may appear.  For backwards compatibility, these lines can
              also   start   with   allowed_clients   instead  of  accepted_credentials.   If  no
              accepted_credentials lines are specified, the server will not allow any clients  to
              store credentials.

       authorized_retrievers “DN regex”
              Each of these lines allows the server administrator to set server-wide policies for
              credential retrievers. If the client DN does not match the given limited regex, the
              client  is not allowed to retrieve credentials from the server.  In addition to the
              server-wide policy, myproxy also provides support for  per-credential  policy.  The
              user  can  specify  the  regex  DN of the allowed retrievers of the credential when
              uploading  the  credential  (using  myproxy-init(1)  or   myproxy-store(1)).    The
              retrieval  client DN must also match the user specified regex. In order to retrieve
              credentials the client also needs to know the name and pass phrase provided by  the
              client when the credentials were stored. Any number of these lines may appear.  For
              backwards compatibility, these lines can also start with  allowed_services  instead
              of  authorized_retrievers.   If  no  authorized_retrievers lines are specified, the
              server will not allow any clients to retrieve credentials.

       default_retrievers “DN regex”
              Each of these lines allows the server  administrator  to  set  server-wide  default
              policies.  The  regex  specifies  the  clients  who can access the credentials. The
              default retriever policy is enforced if a per-credential policy is not specified on
              upload (using myproxy-init(1) or myproxy-store(1)).  In other words, the client can
              override this policy for a credential on  upload.   The  per-credential  policy  is
              enforced    in    addition   to   the   server-wide   policy   specified   by   the
              authorized_retrievers line (which clients can not override).  Any number  of  these
              lines  may  be present.  For backwards compatibility, if no default_retrievers line
              is specified, the default policy is "*", which allows any client to pass  the  per-
              credential  policy  check.   (The  client must still pass the authorized_retrievers
              check.)

       authorized_renewers “DN regex”
              Each of these lines allows the server administrator to set server-wide policies for
              authorized  renewers.  If  the client DN does not match the given limited regex the
              client is not allowed to renew the credentials previously stored by a client.   See
              allow_self_authorization  below  for  a  further  restriction  on  this policy.  In
              addition to  the  server-wide  policy,  myproxy  also  provides  support  for  per-
              credential policy. The user can specify the regex DN of the allowed renewers of the
              credential on upload (using myproxy-init(1)).  The renewal  client  DN  must  match
              both  this  regex  and the user specified regex. In this case, the client must also
              already have a credential with a DN matching  the  DN  of  the  credentials  to  be
              retrieved,  to  be  used  in  a  second  authorization step (see the -a options for
              myproxy-logon(1) and myproxy-retrieve(1)).

       default_renewers “DN regex”
              Each of these lines allows the server  administrator  to  set  server-wide  default
              renewer  policies.  The  regex specifies the clients who can renew the credentials.
              The default renewer policy is enforced if a per-credential policy is not  specified
              on upload (using myproxy-init(1)).  This is enforced in addition to the server-wide
              policy specified by the authorized_renewers line. Any number  of  these  lines  may
              appear.  For backwards compatibility, if no default_renewers line is specified, the
              default policy is "*", which allows any client to pass  the  per-credential  policy
              check.  (The client must still pass the authorized_renewers check.)

       authorized_key_retrievers “DN regex”
              This  policy controls who can retrieve credentials (certificates and keys) directly
              from the  repository  using  myproxy-retrieve(1).   Clients  must  also  match  the
              authorized_retrievers policy.  If no authorized_key_retrievers lines are specified,
              the server  will  not  allow  any  clients  to  retrieve  keys  directly  from  the
              repository.

       default_key_retrievers “DN regex”
              This  policy  applies  if a per-credential policy is not specified on upload (using
              myproxy-init(1) or myproxy-store(1)).  In other words, the client can override this
              policy  for  a  credential  on  upload.   The  per-credential policy is enforced in
              addition to the server-wide policy specified by the authorized_key_retrievers  line
              (which clients can not override).  Any number of these lines may be present.  If no
              default_key_retrievers line is specified, the default policy is "*",  which  allows
              any  client  to  pass the per-credential policy check.  (The client must still pass
              the authorized_key_retrievers check.)

       trusted_retrievers “DN regex”
              This policy controls who can retrieve credentials without  further  authentication.
              By  default,  clients  that  match  authorized_retrievers  must  perform additional
              authentication  (such  as  passphrase,  PAM,  or  SASL)  to  retrieve  credentials.
              However,   authenticated   clients   that   match  both  authorized_retrievers  and
              trusted_retrievers do not need to perform  additional  authentication,  unless  the
              credentials  are  protected  by a passphrase, in which case the passphrase is still
              required.  Note: The myproxy-server(8) will fail on startup  or  reconfig  with  an
              "unsafe  policy"  error  if a policy of trusted_retrievers “*” is specified without
              also specifying a restrictive default_trusted_retrievers policy, to avoid an unsafe
              policy   that   would   release  credentials  to  all  clients  without  additional
              authentication.  See also allow_self_authorization below for a further  restriction
              on this policy.

       default_trusted_retrievers “DN regex”
              If a user doesn't set a trusted retrieval policy with the credential on upload (via
              'myproxy-init -Z'), the  myproxy-server(8)  will  apply  the  following  policy  in
              addition to the trusted_retrievers policy.  If no default_trusted_retrievers policy
              is set, then only the trusted_retrievers policy is applied.

       The following lines in the configuration file set other server options.

       passphrase_policy_program full-path-to-script
              This line specifies a program to run whenever a passphrase is set  or  changed  for
              implementing a local password policy.  The program is passed the new passphrase via
              stdin  and  is  passed  the  following  arguments:  username,  distinguished  name,
              credential  name  (if  any),  per-credential  retriever  policy  (if any), and per-
              credential renewal policy (if any).  If the passphrase is acceptable,  the  program
              should exit with status 0.  Otherwise, it should exit with non-zero status, causing
              the operation in progress (credential load, passphrase change)  to  fail  with  the
              error  message  provided  by the program's stdout.  Note: You must specify the full
              path to the external program.  $GLOBUS_LOCATION  can't  be  used  in  the  myproxy-
              server.config      file.       A     sample     program     is     installed     in
              $GLOBUS_LOCATION/share/myproxy/myproxy-passphrase-policy  but  is  not  enabled  by
              default.

              Be sure to follow secure coding practices for this call-out:
              - Don't allow input to overflow fixed-size buffers.
              - Don't pass unchecked input to a shell command.

       cert_dir full-path-to-certificates-directory
              Specifies  the  path  to  the  CA  certificates directory to be returned to clients
              requesting trust roots (such as via the myproxy-logon(1) -T option).

       max_proxy_lifetime hours
              This line specifies a server-wide maximum lifetime for retrieved proxy credentials.
              By  default,  no  server-wide  maximum  is  enforced.   However,  if this option is
              specified, the server will limit the lifetime of any retrieved proxy credentials to
              the value given.

       max_cred_lifetime hours
              This  line  specifies  a  server-wide  maximum lifetime for stored credentials.  By
              default, no server-wide maximum is enforced.  However, if this option is specified,
              the server will limit the lifetime of any stored credentials to the value given.

       ignore_globus_limited_proxy_flag boolean
              By  default,  MyProxy  will  respect  the policy of "limited" proxy certificates as
              follows.  If a client authenticates with a limited proxy, the client should only be
              able  to  obtain another limited proxy, not a full proxy or end entity certificate.
              Thus, the MyProxy CA will not accept limited proxies for authentication.   However,
              if  this option is set to true, MyProxy will treat limited proxy certificates as if
              they were full proxy certificates.

       allow_self_authorization boolean
              By default, MyProxy will disallow trusted_retrievers and authorized_renewers  whose
              DN  matches  the identity of the stored credential, so a proxy by itself can not be
              refreshed or renewed.  However, if this option is set to true, this restriction  is
              lifted.

       syslog_ident name
              You  can  optionally specify the string to be prepended to every message written to
              the syslog.  If not specified, the name defaults to  the  the  program  name,  i.e.
              myproxy-server.

       syslog_facility name
              By  default, the myproxy-server will log to the syslog "daemon" facility. With this
              option you can specify an  alternate  syslog  facility,  such  as  "auth",  "user",
              "security",  or  "local0".   The facility can also be specified numerically as with
              the logger(1) command.

       request_timeout seconds
              Specifies the maximum time a myproxy-server(8) child process should spend servicing
              a client request before aborting.  By default, child processes will abort after 120
              seconds.  A negative value will disable the timeout.

       request_size_limit bytes
              Limits the amount of incoming application-level protocol data the myproxy-server(8)
              will accept from clients, to avoid memory exhaustion under heavy load. Specified in
              bytes.  Defaults to 1MB (1048576 bytes).  A zero or  negative  value  disables  the
              limit.

       proxy_extfile full-path-to-extension-file
              Optionally specifies the full path to a file containing an OpenSSL formatted set of
              certificate extensions to include in all proxy certificates issued from the MyProxy
              repository (analogous to certificate_extfile for the CA module).

       proxy_extapp full-path-to-extension-callout-program
              This  is  the  call-out version of proxy_extfile.  It optionally specifies the full
              path to a call-out program for specifying proxy certificate extensions.  It will be
              passed  the  authenticated  username  and  the proxy credential location as the two
              command arguments.  On success, it  should  write  the  OpenSSL  formatted  set  of
              certificate  extensions  to  stdout and exit with zero status.  On error, it should
              write to stderr and exit with nonzero status.  Either proxy_extfile or proxy_extapp
              can be specified but not both.

              Be sure to follow secure coding practices for this call-out:
              - Don't allow input to overflow fixed-size buffers.
              - Don't pass unchecked input to a shell command.

       voms_userconf full-path-to-voms-configuration-file
              Optionally  specifies  the full path to the VOMS configuration file containing VOMS
              server  information.  It  is  usually  specified  in  the  environmental   variable
              VOMS_USERCONF.

       allow_voms_attribute_requests boolean
              If this parameter is set to true and a GET request includes VONAME and (optionally)
              VOMSES parameters, call-out to VOMS to add the requested attributes to  the  issued
              certificate.  Requires  linking  with VOMS libraries. By default, VONAME and VOMSES
              parameters in requests will be ignored unless this parameter is set to true.

       The MyProxy server can be optionally configured  for  authentication  based  on  Pluggable
       Authentication  Modules  (PAM) and/or the Simple Authentication and Security Layer (SASL).
       Kerberos is one of the supported  SASL  authentication  methods.   The  following  options
       control the use of PAM and SASL.

       pam option
              This  line  governs  the  use of PAM to check passphrases.  MyProxy will attempt to
              authenticate via PAM, with the supplied username and  passphrase.   Note  that  PAM
              will  need  to  be  configured externally for the application "myproxy" (usually in
              /etc/pam.d/), or for the application named by pam_id, below.  Accepted values:

              required
                     PAM password authentication  is  required  under  all  conditions.   If  the
                     credential  is  unencrypted  (that is, it has no passphrase), a PAM password
                     check is still required for authentication.  If the credential is encrypted,
                     its passphrase must match the PAM password.

              sufficient
                     The  user's passphrase may match either the credential passphrase or, if the
                     credential is  unencrypted,  the  PAM  passphrase.   If  the  credential  is
                     encrypted, then the PAM password is not relevant.

              disabled (default)
                     PAM is not used to check passphrases.

       pam_id string
              The  name  that myproxy uses to identify itself to PAM.  Default is "myproxy".  For
              example, on most Unix-like systems, if pam_id  is  set  to  "login",  MyProxy  will
              authenticate against the system's own usernames and passwords.

       sasl option
              This line governs the use of SASL authentication.  Accepted values:

              required
                     SASL authentication is required for retrieving credentials.

              sufficient
                     SASL  authentication  is  sufficient  for  retrieving credentials, but other
                     authentication methods may be used instead.

              disabled (default)
                     SASL authentication isn't used.

       sasl_mech mechanism
              Forces the use of a single SASL mechanism, overriding the SASL configuration  file.
              (Typically not required.)

       sasl_serverFQDN hostname
              Configures  the  SASL  server  fully-qualified domain name for multi-homed servers.
              (Typically not required.)

       sasl_user_realm realm
              Configures the SASL user realm. (Typically not required.)

       The MyProxy server can also be configured to act as a Certificate Authority (CA) to  issue
       credentials   to   clients.    The  following  parameters  enable  and  configure  the  CA
       functionality.

       certificate_issuer_cert full-path-to-certificate
              This line specifies the full path to the issuer certificate to optionally configure
              the myproxy-server to act as an online certificate authority.

       certificate_issuer_key full-path-to-key
              When  specifying  certificate_issuer_cert above, you must also give the name of the
              CA private key for signing certificates.  This is normally path to a CA private key
              in    PEM    format,    but   if   you   are   using   an   OpenSSL   engine   (see
              certificate_openssl_engine_id ) then it can be the key name.

       certificate_issuer_key_passphrase “passphrase”
              If the certificate_issuer_key is encrypted, give the passphrase here.

       certificate_issuer_subca_certfile full-path-to-subca-certificate-file
              If you would like an intermediate/sub-CA certificate chain to be  sent  along  with
              the  EEC  (End  Entity  Certificate)  generated  using a local intermediate/sub-CA,
              specify the file that contains those certificates in PEM format. This is  meant  to
              aid  scenarios where the CA used is an intermediate CA (i.e. not a root CA) and the
              client may not have the intermediate CA(s) in its  trust  store.  The  client  will
              write out the chain into the same file as the EEC, following the EEC.

       certificate_issuer_hashalg algorithm
              Specifies the hash algorithm to use when signing end-entity certificates.  Defaults
              to "sha256".

       certificate_issuer_email_domain “domain”
              If set, specifies the domain part of the  X509v3  Subject  Alternative  Name  email
              address included in issued certificates.

       certificate_openssl_engine_id engineId

       certificate_openssl_engine_pre pre-initialization-commands

       certificate_openssl_engine_post post-initialization-commands
              These  commands  can  be  used to allow any OpenSSL engine to be used with MyProxy.
              This enables the use of hardware tokens and signing modules to  sign  certificates.
              Given  the  parameters  of  an  OpenSSL  "engine"  command, the first argument, the
              identity of the engine becomes the argument  to  certificate_openssl_engine_id  and
              -pre  commands  are  listed in order using certificate_openssl_engine_pre and -post
              commands are listed in order using  certificate_openssl_engine_post.   For  example
              the command-line:

                 openssl   engine  dynamic  -pre  SO_PATH:/usr/lib/engines/engine_pkcs11.so  -pre
              ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/opensc-pksc11.so

              becomes:

                 certificate_openssl_engine_id "dynamic"

                 certificate_openssl_engine_pre       "SO_PATH:/usr/lib/engines/engine_pkcs11.so"
              "ID:pkcs11" "LIST_ADD:1" "LOAD" "MODULE_PATH:/usr/lib/opensc-pksc11.so"

              Please  note  that  any  shared library engines loaded through the "dynamic" engine
              MUST be compiled againt the correct version of OpenSSL.  The Globus toolkit has its
              own installation and can be found by running $GLOBUS_LOCATION/bin/openssl version.

       certificate_openssl_engine_lockfile full-path-to-file
              If  your hardware token or HSM is unable to handle simultaneous operations, provide
              a path to a lockfile for  synchronizing  operations  to  the  engine  device.   The
              myproxy-server will create the file if it does not already exist.

       certificate_issuer_program full-path-to-script
              This  line  specifies the path to a program to issue certificates for authenticated
              clients that  don't  have  credentials  stored.   This  optionally  configures  the
              myproxy-server  to  act  as  an online certificate authority, allowing programmatic
              control  over  the  certificate  issuance  process.    You   can   either   specify
              certificate_issuer_cert or certificate_issuer_program.

              Be sure to follow secure coding practices for this call-out:
              - Don't allow input to overflow fixed-size buffers.
              - Don't pass unchecked input to a shell command.

       certificate_serialfile full-path-to-serial-file
              Specifies  the  path  to  a  file  to  store  the  serial number counter for issued
              certificates.  Defaults to /var/lib/myproxy/serial.

       certificate_serial_skip increment
              Specifies the number to add to the serial number each time a certificate is issued.
              Use  this  to  stagger  serial numbers across multiple CA instances to avoid serial
              number clashes. Defaults to 1.

       certificate_out_dir full-path-to-putput-directory
              Specifies the path to a directory where new certificates will be archived.

       max_cert_lifetime hours
              Specifies the maximum lifetime (in hours) for certificates issued by the CA module.
              Defaults to 12 hours.

       min_keylen bits
              Specifies  the  minimum  RSA key length (in bits) for certificates issued by the CA
              module.

       certificate_extfile full-path-to-extension-file
              Optionally specifies the full path to a file containing an OpenSSL formatted set of
              certificate extensions to include in all issued certificates.  For example:
                 keyUsage=digitalSignature,keyEncipherment,dataEncipherment
                 subjectKeyIdentifier=hash
                 authorityKeyIdentifier=keyid,issuer:always
                 crlDistributionPoints=URI:http://ca.ncsa.uiuc.edu/4a6cd8b1.r0
                 basicConstraints=CA:FALSE
              If  not  set,  the  MyProxy  CA  will  include  a basic set of extensions in issued
              certificates.

       certificate_extapp full-path-to-extension-callout-program
              This is the call-out version of certificate_extfile.  It optionally  specifies  the
              full  path to a call-out program for specifying certificate extensions.  It will be
              passed the authenticated username as the single command argument.  On  success,  it
              should write the OpenSSL formatted set of certificate extensions to stdout and exit
              with zero status.  On error, it should  write  to  stderr  and  exit  with  nonzero
              status.   Either certificate_extfile or certificate_extapp can be specified but not
              both.

              Be sure to follow secure coding practices for this call-out:
              - Don't allow input to overflow fixed-size buffers.
              - Don't pass unchecked input to a shell command.

       certificate_mapfile full-path-to-mapfile
              When specifying  certificate_issuer_cert  above,  you  can  map  account  names  to
              certificate  subject  distinguished  names  for  the issued certificates using this
              mapfile, which has the same format as used by other Globus  Toolkit  services.   By
              default, /etc/grid-security/grid-mapfile is used.  The Globus Toolkit grid-mapfile-
              add-entry and grid-mapfile-delete-entry commands can be used to  manage  the  grid-
              mapfile.

       certificate_mapapp full-path-to-mapapp
              When  specifying  certificate_issuer_cert  above,  you  can  map  account  names to
              certificate subject distinguished names for  the  issued  certificates  using  this
              call-out.   It  will  be  passed  the  authenticated username as the single command
              argument.  On success, it should write the distinguished name in OpenSSL  one  line
              format   (for  example,  "/C=US/O=National  Computational  Science  Alliance/CN=Jim
              Basney") to stdout and exit with zero status.  On error, it should write to  stderr
              and  exit  with  nonzero status.  If it is not defined, then mapfile lookup will be
              executed instead (see certificate_mapfile  above).   An  example  is  installed  in
              $GLOBUS_LOCATION/share/myproxy/myproxy-certificate-mapapp.

              Be sure to follow secure coding practices for this call-out:
              - Don't allow input to overflow fixed-size buffers.
              - Don't pass unchecked input to a shell command.

       certificate_request_checker full-path-to-callout-program
              This CA call-out can be used to perform checks on incoming certificate requests. It
              will be passed the certificate request in PEM format on  stdin.  If  it  returns  a
              nonzero exit status, the CA will abort without signing the request.  When returning
              a nonzero exit status, the callout should  indicate  the  problem  on  stderr.   An
              example is installed in $GLOBUS_LOCATION/share/myproxy/myproxy-certreq-checker.

       certificate_issuer_checker full-path-to-callout-program
              This  CA  call-out  can be used to perform checks on issued certificates before the
              certificate is returned to the client.  It will be passed the  certificate  in  PEM
              format  on  stdin.  If  it returns a nonzero exit status, the CA will abort without
              returning the signed certificate to the  client.  When  returning  a  nonzero  exit
              status, the callout should indicate the problem on stderr.  An example is installed
              in $GLOBUS_LOCATION/share/myproxy/myproxy-cert-checker.

       If OpenLDAP support is built-in to the myproxy-server(8), the following parameters can  be
       used  to configure the CA module to map account names to certificate subject distinguished
       names via LDAP.

       ca_ldap_server “ldap://localhost:389/”
              This parameter specifies the URI to the LDAP server  to  use  for  username  to  DN
              resolution in the CA module.  Both ldap:// and ldaps:// protocols are supported.  A
              port number may optionally be specified as well.  Defining this  directive  is  the
              "trigger"  that  causes  the name resolution module to use LDAP querying.  If it is
              not defined, then mapfile lookup will be executed instead (see  certificate_mapfile
              above).

       ca_ldap_uid_attribute “uid”
              The  name  of the record attribute that maps to the MyProxy username.  Required for
              LDAP username to DN resolution.

       ca_ldap_searchbase “ou=people,dc=bullwinkle,dc=lbl,dc=gov”
              The DN of the region of the ldap  database  to  be  searched.   Required  for  LDAP
              username to DN resolution.

       ca_ldap_dn_attribute “subjectDN”
              If  this  directive  is  set, the LDAP resolver will pull the DN from the specified
              attribute in the returned record.  If it is not set, the default is to use  the  DN
              of the record itself.

       ca_ldap_connect_dn “cn=MyProxy,ou=ldapusers,dc=lbl,dc=gov”
              DN for LDAP basic authentication (optional).

       ca_ldap_connect_passphrase “passphrase”
              Passphrase for LDAP basic authentication (optional).

       The following parameters control server replication with the myproxy-replicate(1) utility.

       slave_servers server:port;
              This  value  is for use with the myproxy-replicate(1) utility.  This tag provides a
              list of servers that will  be  used  as  secondary  repositories  for  the  MyProxy
              database.   Each server should be seperated by a ";".  Also, a port may be provided
              if the slave server is using a port other then the default.  The server name  maybe
              a recognized DNS or an IP address.

       The following parameters are used primarily when utilizing MyProxy as a delegation service
       for web portals.

       accepted_credentials_mapfile full-path-to-mapfile
              This parameter points to a grid-mapfile, which is  possibly  different  from  other
              mapfiles  above.  When specified, this mapfile is utilized during puts/stores (e.g.
              with myproxy-init(1) and myproxy-store(1)).   A  credential  is  authorized  to  be
              put/stored only under the username specified in the mapfile.  This prevents storing
              a user's credential under a different username.  Note that the  credential  checked
              for  the  presence  of  a SubjectDN/Username entry in the mapfile is the credential
              utilized to secure the  connection  between  client  and  server,  NOT  the  actual
              credential  being  stored.   As  the credential which secures the TLS connection is
              typically the same as the credential being stored,  this  should  not  be  a  major
              issue.   The  Globus  Toolkit  grid-mapfile-add-entry and grid-mapfile-delete-entry
              commands can be used to manage the grid-mapfile.

       accepted_credentials_mapapp full-path-to-mapapp
              As an alternative to the accepted_credentials_mapfile option above, you can specify
              a call-out which is passed two parameters: a certificate subject distinguished name
              and a username (in that order).  In essence, the call-out performs a  lookup  in  a
              'virtual'  accepted_credentials_mapfile.   If  the  SubjectDN/Username  line  would
              appear in such a mapfile, then the call-out should exit with zero status indicating
              that  a credential with the given SubjectDN is allowed to be stored under the given
              Username.  Otherwise, the call-out  should  exit  with  nonzero  status  indicating
              error.  An example is installed in $GLOBUS_LOCATION/share/myproxy/myproxy-accepted-
              credentials-mapapp.

              Be sure to follow secure coding practices for this call-out:
              - Don't allow input to overflow fixed-size buffers.
              - Don't pass unchecked input to a shell command.

       check_multiple_credentials boolean
              Typically when a credential is accessed by a client, the  server  checks  only  one
              credential   for   possible  access  authorization,  even  if  there  are  multiple
              credentials stored under the given username.  If this option is set to  "true"  AND
              the  client  does  not specify a credential name for a MyProxy GET operation (i.e.,
              from myproxy-logon(1)), then the server will check multiple  credentials  with  the
              given  username.  If a credential is found to be authorized for client access, then
              that one will be used during processing.  The default  value  for  this  option  is
              "false".

       The following parameters enable OCSP status checking of stored credentials in the myproxy-
       server(8) repository, to avoid use of expired credentials.

       ocsp_policy policy
              Controls the policy for checking certificate validity via OCSP  before  credentials
              may  be  delegated.   Currently,  only  the status of the end entity certificate is
              checked via OCSP (and not any proxy certificates or CA  certificates).   OCSP  will
              not  be  used  unless  ocsp_responder_url  and/or  ocsp_policy  are set.  Supported
              policies are:
                "aia" - use OCSP responder in certificate AIA extension, if
                        present; otherwise use ocsp_responder_url, if set

       ocsp_responder_url URL
              Specifies the URL of an OCSP responder to use to check the validity of  credentials
              stored  in  the  myproxy-server  repository  before  they may be delegated, so that
              revoked credentials can not be retrieved and used where their revocation status may
              not  be  checked.   Currently,  only  the  status  of the end entity certificate is
              checked via OCSP (and not any proxy certificates or CA certificates).  In any case,
              CRL  checks  are  always  performed.  Both http and https urls are supported.  OCSP
              will not be used unless ocsp_responder_url and/or ocsp_policy are set.

       ocsp_responder_cert path
              Specifies the path to the certificate of a trusted OCSP responder.  This is  needed
              if  the  OCSP  responder  must  be  explicity  trusted in cases where standard path
              validation fails for the OCSP responder's certificate.

       The following parameters control Usage Metrics reporting by the myproxy-server(8).

       disable_usage_stats value
              By default Usage Metrics reporting is enabled. Specifying "true", "enabled", "yes",
              "on"   or  "1"  for  value  will  disable  Usage  Metrics  reporting.  Setting  the
              GLOBUS_USAGE_OPTOUT environment variable to "1" will also disable the reporting  of
              usage   metrics.   Disabling   reporting   of   usage   metrics   will   cause  the
              usage_stats_target setting to be ignored.

       usage_stats_target target_list
              This option can be used to specify  the  target  collector  hosts  to  which  usage
              metrics  should be reported. This setting will be ignored if disable_usage_stats is
              enabled.  Multiple targets can be specified in target_list separated  by  comma(s).
              Each target specification is of the format host:port[!tags].  The tags control what
              data elements  are  reported.  The  following  list  specifies  the  tags  for  the
              corresponding data elements.
              V - Major Version number of MyProxy server
              v - Minor Version number of MyProxy server
              t   -   Task   Code   (0=Get,  1=Put,  2=Info,  3=Destroy,  4=ChangeCredPassphrase,
              5=StoreEndEntCred, 6=RetrEndEntCred, 7=GetTrustRoots)
              r - Task Return Code.
              l - Requested Lifetime for Credential.
              L - Actual Lifetime for Credential.
              B - Informational Bit mask to be interpreted left to right as follows:
                     PAM used
                     SASL used
                     Credential passphrase check used
                     Trusted Retriever (Certificate-based authentication)
                     Certificate Authorization method used (Trusted Renewer)
                     Pubcookie was used
                     Trustroots requested
                     Trustroots delivered
              I - Client IP address
              u - Username
              U - User DN

              In addition to the above selected information, the following data are  reported  to
              ALL  the  specified/default target collectors. There's no way to exclude these from
              being reported other than by disabling the reporting of usage metrics:

              Component code - 11 for MyProxy
              Component Data Format version - 0 currently
              IP Address of Reporting Server
              Timestamp
              Hostname

              If no tags are specified in a  host  spec,  or  the  special  string  "default"  is
              specified,  the  tags VvtrlLB are assumed. A site could choose to allow a different
              set of data to be reported by specifying a different tag set. The last 3 tags I,  u
              and  U  above are more meant for a local collector that a site might like to deploy
              since they could be construed as private  information.  The  special  string  "all"
              denotes all tags.

              By  default,  Usage  Metrics  reporting  is disabled.  This can be made explicit by
              specifying "default" (all by itself) for the target specification as in:

              usage_stats_target "default"

REGULAR EXPRESSIONS

       For matching distinguished names (DNs) in access  control  policies,  MyProxy  uses  POSIX
       Extended  Regular  Expressions (see re_format(7)), with custom processing of '*', '?', and
       '.' metacharacters  to  simulate  Unix  shell  style  wildcard  processing  (for  backward
       compatibility  and  other  historical  reasons).  MyProxy's custom regular expressions are
       converted to POSIX EREs according to the following rules:

         [ MyProxy regex ] => [ POSIX ERE ]
         ----------------------------------
                '*'        =>      '.*'
                '?'        =>      '.'
                '.'        =>      '\.'
                '\*'       =>      '*'
                '\?'       =>      '?'
                '\.'       =>      '.'

       Additionally, MyProxy wraps all regular expressions inside '^(' and ')$' to  require  full
       DN matching.

       Be  aware  that parentheses are metacharacters according to POSIX, so escaping is required
       for literal matching. For example:

         "*/CN=Jim Basney \(admin\)"

       The following examples illustrate how MyProxy regular expressions are converted  to  POSIX
       EREs:

            [ MyProxy regex ]     =>    [ POSIX ERE ]
         ------------------------------------------------------------
         "*/CN=Jim Basney"        => "^(.*/CN=Jim Basney)$"
         "*/CN=Test User ?"       => "^(.*/CN=Test User .)$"
         "*/CN=James A. Basney"   => "^(.*/CN=James A\. Basney)$"
         "/O=Test/CN=[:alnum:]\*" => "^(/O=Test/CN=[:alnum:]*)$"

         "*/CN=Jim Basney|*/CN=James Basney" =>
             "^(.*/CN=Jim Basney|.*/CN=James Basney)$"

EXAMPLES

       The following policy enables all credential repository features.

       accepted_credentials       "*"
       authorized_retrievers      "*"
       default_retrievers         "*"
       authorized_renewers        "*"
       default_renewers           "none"
       authorized_key_retrievers  "*"
       default_key_retrievers     "none"
       trusted_retrievers         "*"
       default_trusted_retrievers "none"
       cert_dir                   /etc/grid-security/certificates

       The following enables CA functionality using an existing Globus Simple CA configuration.

       authorized_retrievers "*"
       pam  "sufficient"
       sasl "sufficient"
       certificate_issuer_cert /home/globus/.globus/simpleCA/cacert.pem
       certificate_issuer_key /home/globus/.globus/simpleCA/private/cakey.pem
       certificate_issuer_key_passphrase "myproxy"
       certificate_serialfile /home/globus/.globus/simpleCA/serial
       certificate_mapfile /etc/grid-security/grid-mapfile
       cert_dir /etc/grid-security/certificates

       The  following  will  cause  usage  metrics to be reported to the default target (only the
       default tags) as well as a local collector (including the tags IuU):

       usage_stats_target                                                                 "usage-
       stats.cilogon.org:4810,localcollector.somedomain:4810!VvtrlLBIuU"

FILES

       /etc/myproxy-server.config
              Default location for the server configuration file.

       $GLOBUS_LOCATION/etc/myproxy-server.config
              Alternate  location for the server configuration file.  A different location can be
              specified by using the myproxy-server(8) -c option.

       $GLOBUS_LOCATION/share/myproxy/myproxy-passphrase-policy
              A  sample  program  for  evaluating   passphrase   quality   for   use   with   the
              passphrase_policy_program option.

       $GLOBUS_LOCATION/share/myproxy/myproxy-certificate-mapapp
              A  sample  certificate_mapapp  program  for  mapping  account  names to certificate
              subject distinguished names.

       $GLOBUS_LOCATION/share/myproxy/myproxy-accepted-credentials-mapapp
              A sample accepted_credentials_mapapp program for authorizing puts/stores (e.g. with
              myproxy-init(1) and myproxy-store(1)).

ENVIRONMENT

       GLOBUS_LOCATION
              Specifies  the  root of the MyProxy installation, used to find the default location
              of the myproxy-server.config file.

AUTHORS

       See http://grid.ncsa.illinois.edu/myproxy/about for the list of MyProxy authors.

SEE ALSO

       myproxy-change-pass-phrase(1),  myproxy-destroy(1),  myproxy-get-trustroots(1),   myproxy-
       info(1),   myproxy-init(1),   myproxy-logon(1),   myproxy-retrieve(1),   myproxy-store(1),
       myproxy-admin-adduser(8), myproxy-admin-change-pass(8),  myproxy-admin-load-credential(8),
       myproxy-admin-query(8), myproxy-server(8)