When you get the handle to the FileSystem object you can connect as a
different user:

http://hadoop.apache.org/common/docs/r0.20.203.0/api/org/apache/hadoop/fs/FileSystem.html#get(java.net.URI,
org.apache.hadoop.conf.Configuration, java.lang.String)

This should get any permissions you set enforced against the
operations using that FileSystem object.

-Joey

On Thu, Nov 3, 2011 at 4:01 PM, Frank Astier <[email protected]> wrote:
> Hi -
>
> I’m writing unit tests that programatically start a name node and populate 
> HDFS directories, but I want to simulate the situation where I don’t have 
> read access to some HDFS directory (which happens on the real grid I 
> eventually deploy to).
>
> I’ve tried to chown and chmod, but it seems to have no effect, and my unit 
> tests happily read the directory I don’t want them to be able to read. 
> Looking at the permissions documentation, it seems that because my unit test 
> program started the name node, it is automatically superuser. I tried setting 
> dfs.permissions.supergroup to some other user, but that didn’t work either.
>
> Is there any way I could have that unit test think it’s not the user who 
> started the name node?
>
> Thanks,
>
> Frank
>



-- 
Joseph Echeverria
Cloudera, Inc.
443.305.9434

Reply via email to