Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-3624

fuse_dfs: improve user and group translation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 2.0.0-alpha
    • None
    • fuse-dfs
    • None

    Description

      In fuse_dfs, we should translate HDFS unknown user names to the UNIX UID or GID for 'nobody' or 'nogroup' by default. This should also be configurable for systems that want to use a different UID for this purpose. (Currently we hard code this as UID 99).

      Similarly, 'superuser' should be translated to 'root', and this translation should also be made configurable.

      fuse_dfs should not do its own permission checks, but instead rely on the Java code to do this. Trying to use the translated UIDs and GIDs for permission checking (which is what FUSE does when you enable default_permissions) leads to problems.

      Finally, the HDFS user name to UID mapping should be cached for a short amount of time, rather than queried multiple times during every operation. It changes extremely infrequently.

      Another related issue is that we currently don't let the HDFS superuser do the things that root is supposed to be able to do on a filesystem, like change the ownership of files. The HDFS superuser should be treated as root on the FUSE filesystem, just like he is on HDFS.

      Attachments

        Issue Links

          Activity

            People

              cmccabe Colin McCabe
              cmccabe Colin McCabe
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: