myproxy-init(1)
π myproxy-init β the manual, but make it make sense π
okay bestie, so this is myproxy-init(1) from the MyProxy manual, and honestly? it's giving "your one-stop shop for stashing a credential so you can grab it later" and I am obsessed. let's get into it π¦
β¨ NAME β¨
myproxy-init β store a credential for later retrieval
πΈ SYNOPSIS πΈ
myproxy-init [ options ]
π DESCRIPTION π
okay so real talk: the myproxy-init command uploads a credential to a myproxy-server(8) so you can come back and get it later. that's the whole vibe.
In the default mode, the command first prompts for the user's Grid pass phrase (if needed), which is used to create a proxy credential. Then it prompts for a MyProxy pass phrase, which you'll need later to retrieve the credential. The MyProxy pass phrase has to be typed a second time for confirmation (yes, twice, it's giving password-change energy but make it secure π).
After that, a credential with a lifetime of one week (by default) is delegated to the myproxy-server(8) and stored with the given MyProxy pass phrase. Proxy credentials with a default lifetime of 12 hours can then be retrieved by myproxy-logon(1) using the MyProxy passphrase. All of this default behavior can be overridden by the options specified below. slay.
The myproxy-init command can also upload a credential to a myproxy-server(8) to support credential renewal. Renewal lets a trusted service β like, say, a batch job scheduler β obtain a new credential for a user before the existing credential it has for that user expires. no cap, that's the whole point.
The -R argument to myproxy-init configures the credential for renewal by the specified service. Renewal requires two authentications:
- The renewing service must authenticate with its own credentials, matching the distinquished name specified by the
-Rargument. - It must also authenticate with an existing credential that matches the distinguished name of the stored credential, in order to retrieve a new credential.
β οΈ a credential may be used either for retrieval or renewal but not both. If you want both, upload a different credential for each use, with a different name using the -k option. periodt.
The hostname where the myproxy-server(8) is running must be specified by either defining the MYPROXY_SERVER environment variable or the -s option. pick your fighter π«
By default, myproxy-init will create a proxy credential from the user's end-entity credentials at ~/.globus/usercert.pem and ~/.globus/userkey.pem to delegate to the myproxy-server(8).
- To specify an alternate location for the source certificate and key to delegate, use the
X509_USER_CERTandX509_USER_KEYenvironment variables. - To use a proxy credential as the source of the delegation, set both environment variables to the location of the proxy credential.
- To delegate a "legacy globus proxy", set the
GT_PROXY_MODEenvironment variable to"old". - To delegate an "RFC 3820 compliant proxy", set the
GT_PROXY_MODEenvironment variable to"rfc".
β¨ OPTIONS β¨
every single one, bestie, no skips π«Ά
-h,--helpβ Displays command usage text and exits.-u,--usageβ Displays command usage text and exits.-v,--verboseβ Enables verbose debugging output to the terminal.-V,--versionβ Displays version information and exits.-s hostname[:port],--pshost hostname[:port]β Specifies the hostname(s) of the myproxy-server(s). Multiple hostnames, each hostname optionally followed by a':'and port number, may be specified in a comma-separated list. This option is required if theMYPROXY_SERVERenvironment variable is not defined. If specified, this option overrides theMYPROXY_SERVERenvironment variable. If a port number is specified with a hostname, it will override the-poption as well as theMYPROXY_SERVER_PORTenvironment variable for that host.-p port,--psport portβ Specifies the TCP port number of themyproxy-server(8). Default:7512-l username,--username usernameβ Specifies the MyProxy account under which the credential should be stored. By default, the command uses the value of theLOGNAMEenvironment variable. Use this option to specify a different account username on the MyProxy server. The MyProxy username need not correspond to a real Unix username.-c hours,--cred_lifetime hoursβ Specifies the lifetime of the credential stored on themyproxy-server(8)in hours. Specify0for the maximum possible lifetime, i.e., the lifetime of the original credential. Default: 1 week (168hours)-t hours,--proxy_lifetime hoursβ Specifies the maximum lifetime of credentials retrieved from themyproxy-server(8)using the stored credential. Default: 12 hours-C filename,--certfile filenameβ Specifies the filename of the source certificate.-y filename,--keyfile filenameβ Specifies the filename of the source private key.-d,--dn_as_usernameβ Use the certificate subject (DN) as the default username, instead of theLOGNAMEenvironment variable.-a,--allow_anonymous_retrieversβ Allow credentials to be retrieved with just pass phrase authentication. By default, only entities with credentials that match themyproxy-server.config(5)default retriever policy may retrieve credentials. This option allows entities without existing credentials to retrieve a credential using pass phrase authentication by including"anonymous"in the set of allowed retrievers. Themyproxy-server.config(5)server-wide policy must also allow"anonymous"clients for this option to have an effect.-A,--allow_anonymous_renewersβ Allow credentials to be renewed by any client. Any client with a valid credential with a subject name that matches the stored credential may retrieve a new credential from the MyProxy repository if this option is given.
π okay so this effectively defeats the purpose of proxy credential lifetimes, so it is not recommended. It is included only for sake of completeness. (the manpage said it, not me!)
-r name,--retrievable_by nameβ Allow the specified entity to retrieve credentials. See-xand-Xoptions for controlling name matching behavior.-R name,--renewable_by nameβ Allow the specified entity to renew credentials. See-xand-Xoptions for controlling name matching behavior. This option implies-nsince passphrase authentication is not used for credential renewal.-Z name,--retrievable_by_cert nameβ Allow the specified entity to retrieve credentials without a passphrase. See-xand-Xoptions for controlling name matching behavior. This option implies-n.-x,--regex_dn_matchβ Specifies that names used with following options-r,-R, and-Zwill be matched against the full certificate subject distinguished name (DN) according to REGULAR EXPRESSIONS inmyproxy-server.config(5).-X,--match_cn_onlyβ Specifies that names used with following options-r,-R, and-Zwill be matched against the certificate subject common name (CN) according to REGULAR EXPRESSIONS inmyproxy-server.config(5). For example, if an argument of-r "Jim Basney"is specified, 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 credential description.-S,--stdin_passβ By default, the command prompts for a passphrase and reads the passphrase from the active tty. When running the command non-interactively, there may be no associated tty. Specifying this option tells the command to read passphrases from standard input without prompts or confirmation.-L,--local_proxyβ In addition to storing a proxy credential on themyproxy-server(8)with lifetime set by--cred_lifetime(default 1 week), create a local proxy credential with lifetime set by--proxy_lifetime(default 12 hours).-n,--no_passphraseβ Don't prompt for a credential passphrase. Store credentials without a credential passphrase, to be protected by other methods, such as PAM, SASL, or certificate-based authentication. This option is implied by-Rsince passphrase authentication is not used for credential renewal.
π¨ note that the myproxy-server(8) always requires some type of authentication for retrieving credentials, so if you store a credential with no passphrase and other authentication methods are not configured, the credential will not be accessible. like, at all. be careful bestie π
-m voms,--voms vomsβ Add VOMS attributes to the credential by runningvoms-proxy-initon the client-side before storing the credential on themyproxy-server(8). The VOMS VO name must be provided, as required byvoms-proxy-init -voms. Thevoms-proxy-initcommand must be installed and configured to use this option. For example, theVOMS_USERCONFenvironment variable may need to be set forvoms-proxy-initto run correctly.
π₯ EXIT STATUS π₯
0on success>0on error
π FILES π
~/.globus/usercert.pemβ Default location of the certificate from which the proxy credential is created. Set theX509_USER_CERTenvironment variable to override.~/.globus/userkey.pemβ Default location of the private key from which the proxy credential is created. Set theX509_USER_KEYenvironment variable to override./tmp/myproxy-proxy.<uid>.<pid>β Location of the temporary proxy credential that is delegated to themyproxy-server(8). It is removed after the delegation is completed.
and that's part 1, bestie β there's more coming so don't go anywhere π
β¨ ENVIRONMENT β¨
okay bestie, these env vars are the secret sauce that changes how myproxy-init(1) acts. lowkey important, so pay attention π
GLOBUS_GSSAPI_NAME_COMPATIBILITYβ by default this client does a reverse-DNS lookup to figure out the FQHN (Fully Qualified Host Name) so it can verify the server's identity by checking that FQHN against the CN in the server's certificate. if you set this toSTRICT_RFC2818, it will NOT do the reverse-DNS lookup and will use the user-specified name instead. but heads up: this setting gets ignored ifMYPROXY_SERVER_DN(coming up next) is set. iykyk.MYPROXY_SERVERβ tells you the hostname(s) wheremyproxy-server(8)is running. you can list multiple hostnames in a comma-separated list, and each hostname can optionally have a:and port number after it. this env var can be used instead of the-soption.MYPROXY_SERVER_PORTβ the port wheremyproxy-server(8)is running. use this instead of the-poption.MYPROXY_SERVER_DNβ the distinguished name (DN) of themyproxy-server(8). all MyProxy client programs authenticate the server's identity. by default, MyProxy servers run with host credentials, so the client programs expect the server to have a DN like"/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, set this env var to tell MyProxy clients to accept that alternative DN. also peepGLOBUS_GSSAPI_NAME_COMPATIBILITYabove.X509_USER_CERTβ non-standard location for the certificate that the proxy credential is created from. it can be the path to an end-entity certificate (ex.~/.globus/usercert.pem) or a proxy (ex./tmp/x509up_u<uid>).X509_USER_KEYβ non-standard location for the private key that the proxy credential is created from. can be the path to an end-entity private key (ex.~/.globus/userkey.pem) or a proxy (ex./tmp/x509up_u<uid>).X509_CERT_DIRβ non-standard location for the CA certificates directory.GT_PROXY_MODEβ set to"old"to store a"legacy globus proxy"in the MyProxy repository. set to"rfc"to store an"RFC 3820 compliant proxy"in the MyProxy repository.MYPROXY_TCP_PORT_RANGEβ 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 to restrict ports to a range your firewall allows. if unset, MyProxy follows the setting of theGLOBUS_TCP_PORT_RANGEenvironment variable.MYPROXY_KEYBITSβ the size for RSA keys generated by MyProxy. by default MyProxy generates 2048 bit RSA keys. set this to"1024"for 1024 bit RSA keys.
π AUTHORS π
see http://grid.ncsa.illinois.edu/myproxy/about for the list of MyProxy authors. periodt. π
π₯ SEE ALSO π₯
myproxy-change-pass-phrase(1)myproxy-destroy(1)myproxy-get-trustroots(1)myproxy-info(1)myproxy-logon(1)myproxy-retrieve(1)myproxy-store(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)
and that's a wrap, bestie! π this manual page is from MyProxy, dated 2011-09-05, for myproxy-init(1). now go forth and slay your proxy game! π¦β¨
π¦ where this page comes from
- debian bookworm: myproxy 6.2.14-2+b2 Β· NCSA
- debian trixie: myproxy 6.2.16-4 Β· NCSA
- epel 10: myproxy 6.2.20-1.el10_2 Β· NCSA AND BSD-4-Clause AND BSD-2-Clause AND Apache-2.0
- epel 9: myproxy 6.2.20-1.el9 Β· NCSA AND BSD-4-Clause AND BSD-2-Clause AND Apache-2.0
- fedora 43: myproxy 6.2.16-10.fc43 Β· NCSA AND BSD-4-Clause AND BSD-2-Clause AND Apache-2.0
- fedora 43: myproxy 6.2.20-1.fc43 Β· NCSA AND BSD-4-Clause AND BSD-2-Clause AND Apache-2.0
- fedora 44: myproxy 6.2.20-2.fc44 Β· NCSA AND BSD-4-Clause AND BSD-2-Clause AND Apache-2.0
- ubuntu jammy: myproxy 6.2.9-2 Β· NCSA
- ubuntu noble: myproxy 6.2.16-2build2 Β· NCSA
- ubuntu questing: myproxy 6.2.16-4
- ubuntu resolute: myproxy 6.2.20-1 Β· NCSA
- ubuntu stonking: myproxy 6.2.20-2build1 Β· NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms