[
https://issues.apache.org/jira/browse/HADOOP-4491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12723003#action_12723003
]
Vinod K V commented on HADOOP-4491:
-----------------------------------
Few points:
- After discussing with Hemanth/Sreekanth and looking up the original
intentions of HADOOP-4490, I've reworked the above proposal to have very
tight(0700) permissions everywhere.
- But to allow multiple users to create paths, the following paths still have
755 permissions: taskTracker, jobcache, job directory, root-log-dir and
distribute cache directory.
- We need more work to secure the logs. In these patches, log directories of
attempts inside userlogs are owned by the user, but still have 755 permissions
fo the TT to read them back to serve via TaskLogServlet.
Here's what the patches do:
common-patch:
- Changes LocalDirAllocator and DiskChecker to changes permissions of the
paths created using java api to set permission instead of spawning chmod
processes.
mapreduce-patch:
- Changes TaskTracker related classes to create secure paths with 700
permissions by calling LocalDirAllocator.getSecurePathForWrite() instead of the
usual LocalDirAllocator.getLocalPathForWrite()
- Splits TaskTracker.getIntermediateOutputDir() into
TaskTracker.getIntermediateOutputDirForChild and
TaskTracker.getIntermediateOutputDirForTT() as now, child's mapred.local.dir is
modified so as to sandbox it for preserving secure permissions.
- Makes changes to LinuxTaskController binary to do the following:
-- Change ownership of attempt-dir, jars-dir, log-dir to be owned by the
child at jvm startup.
-- Finalize task-directories to be owned back by the TT when a task finishes
for output serving and cleaning up.
-- Finalizing job-dirs to be owned by the TT when the job finishes.
- Adds a new c based testing for the LinuxTaskController and makes relevant
changes to the build.xml, MakeFile, configure.ac. This test can be run by the
target test-task-controller.
- Modifies tests inheriting from ClusterWithLinuxTaskController to reflect the
above changes.
- Incorporates changes needed for MAPREDUCE-131.
I've tested the patch by running the LinuxTaskController specific tests and
observing the directory structure over time. All the tests with successful,
failed, killed jobs, with and without reuse pass in the sense that throughout a
job's timeline, any path is either owned by the TT or the child and has the
most secure permissions possible.
> Per-job local data on the TaskTracker node should have right access-control
> ---------------------------------------------------------------------------
>
> Key: HADOOP-4491
> URL: https://issues.apache.org/jira/browse/HADOOP-4491
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: mapred, security
> Reporter: Arun C Murthy
> Assignee: Vinod K V
> Attachments: HADOOP-4491-20090623-common.1.txt,
> HADOOP-4491-20090623-mapred.1.txt
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.