从最小特权原则来看,我明白我应该以自己的用户身份安装网络服务。
该软件应该安装到哪里?
例如,假设我创建了一个用户 Tomcat(用于将 Apache Tomcat 作为服务运行)。我应该将其安装到 Program Files/Tomcat 并授予 Tomcat 权限吗?或者将 Tomcat 安装到 /users/tomcat/...
Program Files 非常不方便,例如要编辑配置文件,我需要以管理员身份运行记事本,找到正确的文件夹,FileType=all,找到文件并打开它,而不是双击。
如果我应该将其安装在 /users/tomcat/... 中,那么通常在哪个文件夹中进行安装?
为什么当我在控制面板中创建新用户时,/users/ 中没有文件夹,直到我以该用户的身份登录?
答案1
应使用组来配置此类访问权限。请参阅:维基百科 RBAC
每个角色都需要一个组:
- Tomcat 管理员组 - 对位于 %CATALINA_HOME% 的 tomcat 二进制文件具有写权限
- 应用程序管理员组 - 对应用程序文件和配置文件具有写权限。所有内容位于 %CATALINA_BASE%
- 应用程序组 - 应用程序具有写访问权限的文件夹的所有者。启动应用程序的用户是此组的成员。
CATALINA_HOME 可以Program Files\Tomcat
,CATALINA_BASE 也可以Program Files\tomcat_application1
答案2
您不想安装它,c:\users\tomcat
因为以 tomcat 用户身份编辑配置文件的便利意味着通过网络入侵的任何漏洞也有权编辑 Tomcat 配置。
如果您不想进行尴尬的配置编辑,最好授予您的单独管理帐户对 Program Files\Tomcat 文件夹的完全访问权限,而不是授予 Tomcat 对自身的写访问权限。
Program Files 更好一些,因为 Windows 用户也希望安装软件的地方就是它。