要清楚的是,我不是在问在hdfs中设置权限,而是在ext3中,或者在hdfs运行的各个datanode机器上使用的任何文件系统中。我知道我们 sudo chown hduser:hadoop /app/hadoop/tmp ,所以用户 hduser 是文件所有者,但我想知道这些文件的权限位(chmod)的准则。
sudo chown hduser:hadoop /app/hadoop/tmp
hduser
omjgkv6w1#
如果您将权限设置为755(更糟的是777),那么任何人都可以读取底层文件系统中的文件,这肯定是一个安全问题。像700这样的限制性权限配置是有一定道理的。这可以防止未经授权的用户直接从本地磁盘打开和读取文件,而不是使用hdfsapi。在hadopo版本0.22,0.23的安全配置集群中,datanode数据目录(由dfs.datanode.data.dir.perm配置)的权限现在默认为0700。启动时,datanode将自动更改权限以匹配配置的值。在1.0中,datanode检查这些值是否相同,如果它们不同则拒绝启动。如果已经提供给数据存储位置的权限违反了为hadoop配置的默认权限,则可能会出现以下异常。warn org.apache.hadoop.hdfs.server.datanode.datanode:dfs.data.dir中的目录无效:对/disk1/datanode的权限不正确,应为:rwxr-xr-x,而实际为:rwxr-x我不太清楚其他版本中发生了什么。不过,你可能想亲自看看。
szqfcxe22#
我不知道我是否正确理解了你的问题,但这里有一些信息:在本地文件系统上设置权限设置权限显然是现实和必要的。实际上,这个权限可以通过防止非用户甚至非所有者修改您的数据来加强集群安全性。即使您可能会使用较低的安全性来设置集群,在安装集群之后,您也可以修改它们以获得安全的使用。顺便说一下,将您的权限设置为777几乎从来不是一个好的解决方案,即使它并不意味着直接的麻烦。[编辑]:好的行为是尽量少设置权限。因此,在hadoop工作时,尝试将访问权限设置为右下角(最好是720)。但是我不能保证hadoop使用755以外的其他权限,因为它是默认值。几乎离题了对于chmod位值由:owner user others设置这些值中的每一个都有3个功能:读写执行(按此顺序),因为这些功能可以设置为true(1)或false(0),所以结果是二进制值给出的八进制值。例如对于所有者来说,你想要的是好的,所以rwx=>111=4+2+1=7对于用户只读和执行,r-x=>101=4+0+1=5其他的也一样,r-x=>101=4+0+1=5所以你必须做一个chmod755文件主机文件系统上的hdfs权限hadoop对其文件系统上的文件和目录访问权限非常敏感。因此,如果您没有正确设置它们,它可能会引发异常,甚至阻止namenode或datanodes启动。据我所知,你的档案有些部分必须归你所有hadoop:hadoop or hdfs:hadoop and 有些人mapred:hadoop (根据您的hdfs和mapred用户和组)。
2条答案
按热度按时间omjgkv6w1#
如果您将权限设置为755(更糟的是777),那么任何人都可以读取底层文件系统中的文件,这肯定是一个安全问题。像700这样的限制性权限配置是有一定道理的。这可以防止未经授权的用户直接从本地磁盘打开和读取文件,而不是使用hdfsapi。
在hadopo版本0.22,0.23的安全配置集群中,datanode数据目录(由dfs.datanode.data.dir.perm配置)的权限现在默认为0700。启动时,datanode将自动更改权限以匹配配置的值。
在1.0中,datanode检查这些值是否相同,如果它们不同则拒绝启动。如果已经提供给数据存储位置的权限违反了为hadoop配置的默认权限,则可能会出现以下异常。
warn org.apache.hadoop.hdfs.server.datanode.datanode:dfs.data.dir中的目录无效:对/disk1/datanode的权限不正确,应为:rwxr-xr-x,而实际为:rwxr-x
我不太清楚其他版本中发生了什么。不过,你可能想亲自看看。
szqfcxe22#
我不知道我是否正确理解了你的问题,但这里有一些信息:
在本地文件系统上设置权限
设置权限显然是现实和必要的。实际上,这个权限可以通过防止非用户甚至非所有者修改您的数据来加强集群安全性。即使您可能会使用较低的安全性来设置集群,在安装集群之后,您也可以修改它们以获得安全的使用。
顺便说一下,将您的权限设置为777几乎从来不是一个好的解决方案,即使它并不意味着直接的麻烦。
[编辑]:好的行为是尽量少设置权限。因此,在hadoop工作时,尝试将访问权限设置为右下角(最好是720)。但是我不能保证hadoop使用755以外的其他权限,因为它是默认值。
几乎离题了
对于chmod位
值由:owner user others设置这些值中的每一个都有3个功能:读写执行(按此顺序),因为这些功能可以设置为true(1)或false(0),所以结果是二进制值给出的八进制值。
例如
对于所有者来说,你想要的是好的,所以rwx=>111=4+2+1=7
对于用户只读和执行,r-x=>101=4+0+1=5
其他的也一样,r-x=>101=4+0+1=5
所以你必须做一个chmod755文件
主机文件系统上的hdfs权限
hadoop对其文件系统上的文件和目录访问权限非常敏感。因此,如果您没有正确设置它们,它可能会引发异常,甚至阻止namenode或datanodes启动。
据我所知,你的档案有些部分必须归你所有hadoop:hadoop or hdfs:hadoop and 有些人mapred:hadoop (根据您的hdfs和mapred用户和组)。