为什么网络要为每个软件创建单独的用户?

为什么网络要为每个软件创建单独的用户?

每当我安装诸如 Ghost、nginx、mysqld 之类的东西时,我都会看到诸如以下的命令:

useradd ghost 
useradd mysql

这是什么原因呢?我猜这可能有助于对某些软件进行分类,为不同的用户提供不同的权限,或软件访问限制,但我不了解整个情况。有人可以解释一下useradd mysql有什么好处吗?

答案1

它的存在有一个明显的原因。引用自这个答案,

当您创建用于运行守护程序、服务或其他系统软件的帐户,而不是用于交互使用的帐户时。

从技术上讲,这没有什么区别,但在现实世界中,事实证明,将用户和软件帐户保留在数字空间的不同部分中具有长期好处。

大多数情况下,它可以很容易地判断帐户是什么,以及人类是否应该能够登录。

许多 UNIX/Linux 安全性取决于对文件的访问和执行它们的权利,这是通过用户帐户进行管理的。

因此程序需要用户帐户才能运行。

为每个应用程序/服务/守护进程创建一个特定的帐户是很常见的,因为这可以对允许程序执行的操作进行细粒度的控制(例如,不要弄乱其他程序的文件)

然而,维护不同系统帐户的主要原因是出于安全目的进行划分,如金发姑娘从他的评论中。他指出,由于Web服务是面向外部的,因此安全性是一个重要方面,而系统帐户有助于实现这一点。

参考

http://ubuntuforums.org/showthread.php?t=1146686

相关内容