【问题标题】:Provide root access but not DB access提供 root 访问权限,但不提供 DB 访问权限
【发布时间】:2015-07-08 12:37:32
【问题描述】:
尝试为我们团队中的更多运维人员提供服务器生产访问权限。
唯一的问题是数据库访问问题。对于大多数任务,ops 不需要数据库访问权限,只有有限的人才能拥有这样的访问权限。
假设我们有两台服务器:
应用服务器:
tomcat(应用需要访问数据库服务器)
数据库服务器:
数据库
因此,最终我们希望授予对“应用程序服务器”的 root 访问权限,以便操作人员可以在服务器上进行各种维护,但无法访问数据库服务器。这意味着我不能只将 DB 传递存储在配置文件中以供应用读取。
是否有众所周知的做法可以解决此类问题?
【问题讨论】:
标签:
linux
service
passwords
password-protection
isolation-level
【解决方案1】:
首先,“应用程序服务器”必须访问“数据库服务器”的任何凭据都应考虑移交给在应用程序服务器上具有 root 权限的任何人。由于您说必须限制数据库访问,因此您不能在应用程序服务器上为操作提供完整的根目录。
但不要失去希望,有sudo。
sudo 可以让用户或组访问 root 权限,但仅限于有限的目的。不幸的是,正确设置 sudo 可能很难防止子 shell 和通配符获得完全 root 权限,但这是可能的。
除了sudo 之外,如果没有关于您的用例的其他信息,有太多的排列组合。 sudo 的一个很好的参考,正是这个用例是 Michael W. Lucas 的“Sudo Mastery”。