The USER parameter specifies the user ID under which a job will run. This parameter allows jobs to execute with the security privileges and access rights of a specified user, which might be different from the submitting user. The USER parameter is typically used in conjunction with the PASSWORD parameter for authentication.
1//jobname JOB parameters,USER=userid
Security Note:
Modern security best practices recommend using surrogate user functionality (where authorized users can submit jobs for other users without specifying passwords) instead of including passwords in JCL.
12//PAYROLL JOB (ACCT#),'JOHN DOE', // USER=PAYUSR01,PASSWORD=SECRET42
This job will run under the user ID PAYUSR01 with the password SECRET42 for authentication.
123//REPORT JOB (ACCT#),'JOHN DOE',CLASS=A, // USER=REPTUSR,PASSWORD=PASS123, // SECLABEL=CONFID
This job will run under the user ID REPTUSR with the security label CONFID, controlling access to classified information.
The USER parameter can be used with different authentication methods:
Method | Description | Security Considerations |
---|---|---|
PASSWORD parameter | Traditional method using cleartext password | Least secure; passwords visible in JCL |
RACF Surrogate Authority | Submitting user authorized to run jobs as target user | No passwords exposed; controlled through security profiles |
Passtickets | One-time use generated credentials | More secure than static passwords; time-limited |
Automated Job Submission | Job scheduler securely manages credentials | Credentials managed by scheduler, not in JCL |
In RACF, surrogate authority is configured using profiles in the SURROGAT class:
123RDEFINE SURROGAT userid.SUBMIT UACC(NONE) PERMIT userid.SUBMIT CLASS(SURROGAT) ID(surrogate-userid) ACCESS(READ) SETROPTS RACLIST(SURROGAT) REFRESH
This allows surrogate-userid to submit jobs with USER=userid without specifying a password.
Issue | Possible Solution |
---|---|
Authentication failure | Verify user ID and password are correct; check if the user ID is expired or revoked |
Access denied to resources | Ensure the user ID has appropriate permissions for datasets and resources used in the job |
Surrogate authority not working | Check SURROGAT class profiles and permissions; ensure SURROGAT class is active |
Job fails in specific environments | Verify user ID exists and has the same permissions across all environments |
Common security-related messages you might encounter:
ICH408I USER(userid) ... INSUFFICIENT ACCESS AUTHORITY
- Access denied to a protected resourceICH408I USER(userid) ... PASSWORD NOT AUTHORIZED
- Invalid password providedICH408I USER(userid) ... SURROGAT CLASS PROFILE NOT FOUND
- Missing surrogate authority configurationThe USER parameter behavior is generally consistent between JES2 and JES3 environments: