myproxy-store(1)

πŸ’– myproxy-store(1) β€” bestie, we're uploading a credential πŸ’–

MyProxy Β· section 1 Β· the one where you stash your end-entity credential so you can grab it later πŸŽ€


✨ NAME ✨

myproxy-store β€” store end-entity credential for later retrieval 🫢


🌸 SYNOPSIS 🌸

myproxy-store [ options ]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so. myproxy-store uploads a credential to a myproxy-server(8) so you (or, like, future you) can retrieve it later. πŸ’Ύβœ¨

The tea is: you must already have a valid proxy credential when you run this β€” one that was generated by grid-proxy-init or grabbed via myproxy-logon(1). No proxy, no store, periodt.

Now, the spicy difference: unlike myproxy-init(1), this command transfers the private key over the network (over a private channel). 😳 Yeah. The key moves. It's over a private channel, so breathe, but still β€” that's the whole thing that makes this command different.

In the default mode, it takes the credentials hanging out in ~/.globus/usercert.pem and ~/.globus/userkey.pem and stores them in the myproxy-server(8) repository. Then proxy credentials with a default lifetime of 12 hours can be retrieved by myproxy-logon(1) using the credential passphrase. πŸ’…

You can override all that default behavior with the options below. The default behavior is literally just the starting point, bestie.

⚠️ Important: the hostname where the myproxy-server(8) is running must be specified β€” either by defining the MYPROXY_SERVER environment variable or by using the -s option. One of those two. That's the vibe check you cannot skip. 🚨

✨ OPTIONS ✨

  • -h, --help β€” shows you the command usage text and then exits. bye πŸ‘‹
  • -u, --usage β€” also shows you the command usage text and exits. (yes, it's basically the same energy as -h, we don't question it) πŸ™ˆ
  • -v, --verbose β€” turns on verbose debugging output to the terminal. for when you need to see everything πŸ”
  • -V, --version β€” prints version information and exits. πŸ“Œ
  • -s hostname[:port], --pshost hostname[:port] β€” specifies the hostname(s) of the myproxy-server(s). You can list multiple hostnames in a comma-separated list, and each hostname can optionally be followed by a ':' and a port number. This option is required if the MYPROXY_SERVER environment variable isn't defined. If you do specify it, it overrides the MYPROXY_SERVER environment variable. And if you tack a port number onto a hostname, that port overrides the -p option and the MYPROXY_SERVER_PORT environment variable for that host. πŸ‘‘
  • -p port, --psport port β€” specifies the TCP port number of the myproxy-server(8). Default: 7512. If you specify it, it overrides the MYPROXY_SERVER_PORT environment variable.
  • -l username, --username username β€” specifies the MyProxy account that the credential should be stored under. By default the command uses whatever's in the LOGNAME environment variable. Use this to pick a different account username on the MyProxy server. and ngl, the MyProxy username does not have to correspond to a real Unix username β€” it's its own thing. πŸͺͺ
  • -c filename, --certfile filename β€” specifies the filename of the source certificate. πŸ“„
  • -y filename, --keyfile filename β€” specifies the filename of the source private key. πŸ”‘
  • -t hours, --proxy_lifetime hours β€” specifies the maximum lifetime of credentials retrieved from the myproxy-server(8) using the stored credential. Default: 12 hours ⏳
  • -d, --dn_as_username β€” use the certificate subject (DN) as the default username instead of the LOGNAME environment variable. main character DN energy πŸ‘‘
  • -a, --allow_anonymous_retrievers β€” allow credentials to be retrieved with just pass phrase authentication. By default, only entities with credentials that match the myproxy-server.config(5) default retriever policy may retrieve credentials. This option lets entities without existing credentials retrieve a credential using pass phrase authentication, by including "anonymous" in the set of allowed retrievers. ⚠️ heads up: the myproxy-server.config(5) server-wide policy must also allow "anonymous" clients for this option to actually do anything. both doors, bestie.
  • -A, --allow_anonymous_renewers β€” allow credentials to be renewed by any client. Any client with a valid credential whose subject name matches the stored credential may retrieve a new credential from the MyProxy repository if this option is given. 🚨 Since this effectively defeats the purpose of proxy credential lifetimes, it is not recommended. It's included only for the sake of completeness. it's giving "we put it here so the set is complete, not because you should use it" πŸ’€
  • -r name, --retrievable_by name β€” allow the specified entity to retrieve credentials. See the -x and -X options for controlling name matching behavior.
  • -E name, --retrieve_key name β€” allow the specified entity to retrieve end-entity credentials. See the -x and -X options for controlling name matching behavior.
  • -R name, --renewable_by name β€” allow the specified entity to renew credentials. See the -x and -X options for controlling name matching behavior.
  • -Z name, --retrievable_by_cert name β€” allow the specified entity to retrieve credentials without a passphrase. See the -x and -X options for controlling name matching behavior.
  • -x, --regex_dn_match β€” says that the names used with the following options β€” -r, -E, -R, and -Z β€” will be matched against the full certificate subject distinguished name (DN) according to REGULAR EXPRESSIONS in myproxy-server.config(5). 🧠
  • -X, --match_cn_only β€” says that the names used with the following options β€” -r, -E, -R, and -Z β€” will be matched against the certificate subject common name (CN) according to REGULAR EXPRESSIONS in myproxy-server.config(5). For example, if you pass an argument of -r "Jim Basney", then the resulting policy will be "*/CN=Jim Basney". This is the default behavior. ✨
  • -k name, --credname name β€” specifies the credential name. 🏷️
  • -K description, --creddesc description β€” specifies the credential description. πŸ“

πŸ’€ EXIT STATUS πŸ’€

0 on success, >0 on error. that's it, that's the whole mood.


πŸŽ€ FILES πŸŽ€

  • ~/.globus/usercert.pem β€” the default location of the certificate to be stored on the myproxy-server. Use the --certfile option to override it.
  • ~/.globus/userkey.pem β€” the default location of the private key to be stored on the myproxy-server. Use the --keyfile option to override it.
  • -T, --trustroots β€” retrieve the CA certificates directory from the server (if available) and store it in the location specified by the X509_CERT_DIR environment variable if it's set, or /etc/grid-security/certificates if running as root, or ~/.globus/certificates if running as non-root.
πŸ™ˆ okay bestie, real talk: in the original manual this -T, --trustroots entry is genuinely sitting down here in the FILES section instead of up in OPTIONS. That's just how it is. I'm not moving it, I'm not hiding it, we're keeping the chaos exactly where it lives. πŸ’…

🌈 ENVIRONMENT 🌈

  • GLOBUS_GSSAPI_NAME_COMPATIBILITY β€” by default, this client performs a reverse-DNS lookup to determine the FQHN (Fully Qualified Host Name) to use when verifying the identity of the server, by checking the FQHN against the CN in the server's certificate. Setting this variable to STRICT_RFC2818 will cause the reverse-DNS lookup to NOT be performed, and the user-specified name to be used instead. ⚠️ This variable setting is ignored if MYPROXY_SERVER_DN (described later) is set.
  • MYPROXY_SERVER β€” specifies the hostname(s) where the myproxy-server(8) is running. You can list multiple hostnames in a comma-separated list, each hostname optionally followed by a ':' and port number. This environment variable can be used in place of the -s option. πŸ”
  • MYPROXY_SERVER_PORT β€” specifies the port where the myproxy-server(8) is running. This environment variable can be used in place of the -p option.
  • MYPROXY_SERVER_DN β€” specifies the distinguished name (DN) of the myproxy-server(8). All MyProxy client programs authenticate the server's identity. By default, MyProxy servers run with host credentials, so the MyProxy client programs expect the server to have a distinguished name with "/CN=host/<fqhn>" or "/CN=myproxy/<fqhn>" or "/CN=<fqhn>" (where <fqhn> is the fully-qualified hostname of the server). If the server is running with some other DN, you can set this environment variable to tell the MyProxy clients to accept the alternative DN. Also see GLOBUS_GSSAPI_NAME_COMPATIBILITY above. πŸ‘€
  • MYPROXY_TCP_PORT_RANGE β€” specifies a range of valid port numbers in the form "min,max" for the client side of the network connection to the server. By default, the client binds to any available port. Use this environment variable to restrict the ports used to a range allowed by your firewall. 🧱 If unset, MyProxy will follow the setting of the GLOBUS_TCP_PORT_RANGE environment variable.
  • X509_USER_CERT β€” specifies a non-standard location for the certificate to be used for authentication to the myproxy-server(8). It also specifies the location for the certificate to be stored, unless the -c option is given. two jobs, one variable πŸ’…
  • X509_USER_KEY β€” specifies a non-standard location for the private key to be used for authentication to the myproxy-server(8). It also specifies the location for the private key to be stored, unless the -y option is given.
  • X509_USER_PROXY β€” specifies a non-standard location for the proxy credential to be used for authentication to the myproxy-server(8).
  • X509_CERT_DIR β€” specifies a non-standard location for the CA certificates directory. πŸ“

πŸ‘‘ 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-logon(1), myproxy-retrieve(1), myproxy-server.config(5), myproxy-admin-adduser(8), myproxy-admin-change-pass(8), myproxy-admin-load-credential(8), myproxy-admin-query(8), myproxy-server(8) myproxy-retrieve(1)


okay that's the whole page, bestie, you ate it πŸ’–βœ¨ this was MyProxy, dated 2011-09-05, and that's the whole sign-off β€” go store that credential, you gorgeous thing πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from