我读到,最好的做法是为每个应用程序创建单独的系统帐户,因此,如果出现安全漏洞,攻击者将被隔离在特定帐户内,无法造成更多伤害。
我想询问有关主目录和系统用户数量的最佳实践是什么。
我有多个 Node.js 应用程序,但它们都在我的服务器拥有的一个用户帐户上运行。
我应该为每个应用程序创建一个用户并将其相关文件存储在其主目录中,还是为所有 Node.js 应用程序创建一个用户?我是不是该不是创建主目录并将每个应用程序放在一个系统目录中?
任何指示*将不胜感激。
答案1
理想情况下,您应该将不同的应用程序分开,其中:
- 一个用户来运行该服务,例如
http
- 如果需要数据,则拥有一个特定的主目录其他
httpadmin
具有适应文件系统权限的用户(例如)。httpgroup
为http
和用户设置一个组httpadmin
允许应用程序读取文件但不可更改:
permission user group file
-rw-r--r-- httpadmin httpgroup somefile
最重要的是,您还应该限制这些用户使用的资源(CPU、内存、进程、磁盘空间)。这可能会变得相当复杂,而容器等技术可以提供帮助。
所有这些基本上都是最小特权原则