小伙伴们大家好
$ HADOOP_USER_NAME=hdfs hadoop fs -ls /test
Found 1 items
-rwxrwxrwx 3 hdfs supergroup 3 2022-12-15 22:17 /test/b.txt
第一组 rwx 表示文件的 Owner 也就是 hdfs 用户有读写权限 第二组 rwx 表示文件所属组 也就是 supergroup 组内的用户有读写权限 第三组 rwx 表示其他用户有读写权限。 但对于 HDFS 上的文件而言,可执行权限 (x) 是被忽略掉的,HDFS 上不存在可执行文件的说法,可执行权限 (x) 只对目录有意义,这个是与平时我们用的 Linux 上概念不同的地方
对于文件而言:
读文件需要:r
写文件需要:w
追加文件需要: w
对于目录而言:
列出目录下的内容需要:r
访问目录内的文件或子目录需要:x
在目录下创建或删除文件需要:w
在目录中创建或删除子目录需要:w
$ HADOOP_USER_NAME=hdfs hadoop fs -chmod -R 777 /test
$ HADOOP_USER_NAME=hdfs hadoop fs -ls /test
Found 1 items
-rwxrwxrwx 3 hdfs supergroup 3 2022-12-15 22:17 /test/b.txt
$ HADOOP_USER_NAME=hive hadoop fs -rm /test/b.txt
rm: Failed to move to trash:
hdfs://master:8020/test/b.txt: Permission denied by sticky bit:
user=hive, path="/test/b.txt":hdfs:supergroup:-rwxrwxrwx,
parent="/test":hdfs:supergroup:drwxrwxrwt
$ HADOOP_USER_NAME=hdfs hadoop fs -ls /
Found 3 items
drwxrwxrwt - hdfs supergroup 0 2022-12-15 22:19 /test
...
...
$ HADOOP_USER_NAME=hdfs hadoop fs -ls /
Found 3 items
...
drwxrwxrwt - hdfs supergroup 0 2022-12-12 21:05 /tmp
...