[ 
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.

Reply via email to