[
https://issues.apache.org/jira/browse/MAPREDUCE-181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754012#action_12754012
]
Amar Kamat commented on MAPREDUCE-181:
--------------------------------------
Had a chat with Owen and here is the job submission process with few extra
addons :
# jobclient requests the jobtracker for a jobid [say $jobid]
# jobclient upload job.xml, job.jar, job.split, job.splitmetainfo, version,
libs, archives etc to the staging area i.e ~/.staging/$jobid
# jobclient now contructs a job-submission-token which contains
## job staging area location (for job start and restart)
## job-submission version (for client-master compatibility)
## some checksum info (will expand on this later)
## user-credentials (for now username)
# jobclient passes job-submission-token over the rpc to jobtracker
# jobtracker persists this info in mapred.system.dir
# jobtracker uses the user-credentials in the job-meta-info to read the job.xml
and job.splitmetainfo.
# jobtracker checks for job staging checksum
# when the tasktracker asks for a task, a Task is passed which contains the
location of job.split along with start-offset and length.
# upon restart the jobtracker reads the job-meta info and re-submits the job
(where the checksum check is done again)
# once the job is done, the staging area is deleted
Checksum:
# job.xml md5 : this prevents jobtracker/tasktrackers from using a changed
jobconf across job-submission and restarts.
# job-staging-area modification time : this prevents jobtracker and tasktracker
for running jobs for which the staging area has changed.
> Secure job submission
> ----------------------
>
> Key: MAPREDUCE-181
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-181
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Reporter: Amar Kamat
> Assignee: Amar Kamat
> Attachments: hadoop-3578-branch-20-example-2.patch,
> hadoop-3578-branch-20-example.patch, HADOOP-3578-v2.6.patch,
> HADOOP-3578-v2.7.patch, MAPRED-181-v3.8.patch
>
>
> Currently the jobclient accesses the {{mapred.system.dir}} to add job
> details. Hence the {{mapred.system.dir}} has the permissions of
> {{rwx-wx-wx}}. This could be a security loophole where the job files might
> get overwritten/tampered after the job submission.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.