hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Allen Wittenauer (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6272) Incorrect UserName at Solaris because it has no "whoami" command by default
Date Mon, 21 Sep 2009 17:17:16 GMT

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

Allen Wittenauer commented on HADOOP-6272:
------------------------------------------

Even tho I agree that maintaining OS specific code is ugly, I think it is unavoidable as long
as we lack portable hooks into the OS.  (No, reading the output of shell commands is not portable,
this bug providing a relevant example.)

Using System.getProperty("user.name") is an interesting idea.  As you say, that leaves us
with group.  So....

I'd like to suggest that we create a file in hadoop/bin with the sole purpose of providing
portable ways to determine group information.  Then all the OS-specific ugliness could be
pushed into that and outside the Java code.  Make it something like "hadoop-portable-groups"
to lower the chances of hitting something real.  You also eliminate any double fork()'s at
the Java-level that would likely be the result of any OS-specific issues (consider the 'whoami'
vs. the '/usr/ucb/whoami' Solaris case).


> Incorrect UserName at Solaris because it has no "whoami" command by default
> ---------------------------------------------------------------------------
>
>                 Key: HADOOP-6272
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6272
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: security, util
>    Affects Versions: 0.20.1, 0.21.0
>         Environment: OS: SunOS 5.10
>            Reporter: Urko Benito
>         Attachments: PermissionChecker.java.diff, Shell.java.diff, test-hadoop-security.tar.gz,
UnixUserGroupInformation.java.diff
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Solaris enviroment has no __whoami__ command, so the __getUnixUserName()__ at UnixUserGroupInformation
class fails because it's calling to Shell.USER_NAME_COMMAND which is defines as "whoami".
> So it launched an Exception and set the default "DrWho" username ignoring all the FileSystem
permissions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message