You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Aaron T. Myers (JIRA)" <ji...@apache.org> on 2013/01/03 19:58:12 UTC

[jira] [Commented] (HADOOP-9155) FsPermission should have different default value, 777 for directory and 666 for file

    [ https://issues.apache.org/jira/browse/HADOOP-9155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13543192#comment-13543192 ] 

Aaron T. Myers commented on HADOOP-9155:
----------------------------------------

Patch looks pretty good to me. A few little comments:

# This comment is inaccurate:
{code}
   /**
+   * Get the default permission for file.
+   */
+  public static FsPermission getDirDefault() {
+    return new FsPermission((short)00777);
+  }
{code}
# I think this patch misses a spot in FileSystem where we should now be using one of the new default values:
{code}
  public boolean mkdirs(Path f) throws IOException {
    return mkdirs(f, FsPermission.getDefault());
  }
{code}
# Similarly I think this patch misses a few spots in FileContext, FTPFileSystem, and RawLocalFs.
# In this change in FileStatus, why continue to use {{FsPermission.getDefault}} instead of the new {{FsPermission.getDirDefault}}?
{code}
+    this.permission = (permission == null) ? ((isdir || symlink!=null) ? 
+        FsPermission.getDefault() : 
+        FsPermission.getFileDefault()) : permission;
{code}
# Should we perhaps mark the old default permissions as being {{@Deprecated}}? I think we should.

Otherwise the patch looks good to me.
                
> FsPermission should have different default value, 777 for directory and 666 for file
> ------------------------------------------------------------------------------------
>
>                 Key: HADOOP-9155
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9155
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.0.2-alpha
>            Reporter: Binglin Chang
>            Assignee: Binglin Chang
>            Priority: Minor
>         Attachments: HADOOP-9155.patch, HADOOP-9155.v2.patch
>
>
> The default permission for {{FileSystem#create}} is the same default as for {{FileSystem#mkdirs}}, namely {{0777}}. It would make more sense for the default to be {{0666}} for files and {{0777}} for directories.  The current default leads to a lot of files being created with the executable bit that really should not be.  One example is anything created with FsShell's copyToLocal.
> For reference, {{fopen}} creates files with a mode of {{0666}} (minus whatever bits are set in the umask; usually {{0022}}.  This seems to be the standard behavior and we should follow it.  This is also a regression since branch-1.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira