HDFS权限管理用户指南官网网址,http://hadoop.apache.org/docs/r0.19.1/cn/hdfs_permissions_guide.html,可以先看下官网的简介
HDFS分布式文件系统实现了一个和Posix系统(Unix操作系统上运行的软件而定义的API标准总称)类似的文件和目录的权限模型,因此在windows上安装hadoop,需要模拟unix环境,一般是安装Cywin,这点不是本文要介绍的地方,因此不再阐述。
HDFS分布式文件系统,并不提供用户身份、用户组及用户凭证等功能,其使用Unix(Linux)文件系统的权限管理机制,直接使用用户名、用户组等模型,对文件而言读取文件需要的r权限、w权限等表示和操作系统中的表示和使用基本相同。在HDFS中,超级用户即启动Namenode进程的用户,通过所有的权限检查,Namenode开始运行时,进程会自动判断谁是超级用户,每次文件或目录的操作都要进行权限的检查(dfs.permission=true,打开权限系统)。
下面分析与权限相关的几个核心类:
1) FsActions:这个类是枚举类,对文件系统进行操作的抽象,例如读、写等,和Linux系统的表示方式相同,例如WRITE_EXECUTE("-WX"),在HDFS文件系统中,使用这个模式对文件进行可读写的控制,其他的模式如下所示:
// POSIX style
NONE("---"),
EXECUTE("--x"),
WRITE("-w-"),
WRITE_EXECUTE("-wx"),
READ("r--"),
READ_EXECUTE("r-x"),
READ_WRITE("rw-"),
ALL("rwx");