Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop守护进程的用户帐户_Hadoop - Fatal编程技术网

Hadoop守护进程的用户帐户

Hadoop守护进程的用户帐户,hadoop,Hadoop,我阅读了安全模式下的Hadoop文档。现在我所有的守护进程都在一个帐户下运行。文档建议在不同的帐户下运行不同的守护进程。这样做的目的是什么 通常,最好在可能的情况下为不同的服务器进程使用单独的专用服务帐户。这限制了攻击者破坏其中一个进程时的攻击面。例如,如果攻击者破坏了进程A,则攻击者可以访问运行进程A的帐户拥有的文件。如果进程B使用与进程A相同的帐户,则进程B创建的文件也会受到破坏。通过对进程B使用单独的帐户,我们可以限制漏洞的影响 除了这一一般原则之外,Hadoop的实现还需要考虑其他因素,

我阅读了安全模式下的Hadoop文档。现在我所有的守护进程都在一个帐户下运行。文档建议在不同的帐户下运行不同的守护进程。这样做的目的是什么


通常,最好在可能的情况下为不同的服务器进程使用单独的专用服务帐户。这限制了攻击者破坏其中一个进程时的攻击面。例如,如果攻击者破坏了进程A,则攻击者可以访问运行进程A的帐户拥有的文件。如果进程B使用与进程A相同的帐户,则进程B创建的文件也会受到破坏。通过对进程B使用单独的帐户,我们可以限制漏洞的影响

除了这一一般原则之外,Hadoop的实现还需要考虑其他因素,这使得使用单独的帐户成为可取的做法

HDFS有一个新的概念。HDFS超级用户是运行NameNode进程的帐户。超级用户具有运行HDFS管理命令和访问HDFS中所有文件的特权,而不考虑这些文件的权限设置。Thread和MapReduce守护进程不需要HDFS超级用户权限。他们可以作为HDFS的非特权用户操作,只访问他们有权限访问的文件。使用同一帐户运行所有内容会无意中提升Thread和MapReduce守护进程的权限

在安全模式下运行时,Thread NodeManager利用启动容器进程作为提交Thread应用程序的用户。这是通过使用一个特殊的可执行文件来实现的,它允许运行NodeManager的用户切换到以提交应用程序的用户的身份运行进程。这确保提交应用程序的用户不能通过在不同用户帐户的上下文中运行代码来升级权限。但是,setuid可执行文件本身是功能强大的工具,如果使用不当,可能会导致权限提升问题。LinuxContainerExecutor文档描述了设置此setuid可执行文件的权限和配置时要采取的非常具体的步骤。如果没有使用单独的帐户来运行Thread守护进程,则必须使更大的帐户集可以访问此setuid可执行文件,这将增加攻击面