新的网络服务器:我应该创建所有用户帐户以及提供哪些权限

伊森

这是我在这里提出的问题的跟进

我正在设置第一个Web服务器,并且正在摸索要创建的用户帐户以及提供更好安全性的权限。以下是我所拥有的。

对于2个开发人员,我有2个帐户(并且已将它们添加到补充组中devs),并且只允许它们ssh到服务器。对于Web应用程序(基于Django),我创建了1个具有shell访问权限的普通用户app(尚未将其配置为--systemuser并属于group app)。这2个开发人员在通过ssh连接到服务器之后,将对suapp进行任何更新并启动/停止该应用程序。app不允许用户执行su(通过在/etc/pam.d/su使用中未添加到组设置中而被阻止pam_wheel.so)。我还有一个第3个帐户,无法su执行备份相关任务,其中cron作业将ssh并获取日志文件,状态等。

让我知道是否需要改善安全性。(PS:我是这里的新手)

丹尼绍尔

su需要共享密码。我更喜欢sudo。因此,开发人员将要么sudo -u app command以运行command身份运行,要么以运行app运行sudo -u app -i交互式shell身份app也许sudo -u app -i /bin/bash,如果你设置app的壳像/斌/假或/斌/真。

如果他们不需要完整的外壳程序作为应用程序,而只需要重新启动应用程序,则可以限制他们可以作为应用程序运行的命令。在他们需要访问的目录上使用默认ACL,这将授予对开发人员和应用程序的访问权限,因此您不会遇到文件系统权限问题。最小特权原则是您需要遵循的原则,恕我直言。如果他们不需要这样做,请不要给他们访问权限。

通常,我更喜欢仅将密钥用于ssh。如果可以这样做,请禁用开发人员的密码,然后将sudo规则设置为不需要密码。然后,任何人都不需要密码,因此也无需密码来泄露/丢失/重置。

今天晚上阅读作业,因为这篇文章内容太多了:“文件系统ACL如何工作”和“我如何配置sudo”。也许之后是管理ssh密钥。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章