我们正在部署 Web 服务器
操作系统是 ubuntu
部署工具是 capistrano
我们有三个服务器管理员
这三个人都可以登录服务器进行操作
他们的权限都是一样的,都可以使用 sudo
这两个方案 那个比较好?
都已经有 3 个服务器管理员了,团队不是很小了,开始适当分开下权责 所以选择题的话,1。
备注 1,小团对通常共享代码,不代表共享服务器 root 权限,不是不信任,实在是减少手误(手误的概率不高,一旦发生,成本挺高) 备注 2,罗嗦又罗嗦下,备份是必须的。
#1 楼 @as181920 谢谢你的回答 关于第一种方案,我们遇到一些问题,如下:
当管理员 使用 cap 部署的时候,使用的是自己的帐号登录服务,
那么创建出来的文件的拥有者 都是属于自己的帐号,
这导致,我们需要 重新设置文件的拥有者,设置为公共帐号。
当管理员 使用 cap 部署的时候,使用的是自己的帐号登录服务,
启动一些后台进程的时候,进程的拥有者是 管理员的帐号(这是不符合需求的)
我们希望后台进程 的拥有者 是 公共帐号
所以我们需要使用 公共帐号 启动后台进程
这给部署工作带来了一些负担。
#3 楼 @lidashuang 谢谢 我们现在采用的是 多用户方案 但是 研究部署了 1 个月后,我开始考虑 一个用户的方案。 我目前最担心的是, 刚从 多用户的坑 爬出来, 又掉进了 一个用户的坑 。
所以 希望 有 爬坑经历 的朋友,分享一下经验 谢谢!
我们采取的就是根据角色
创建帐号,
开发团队是用通用帐号:
管理员使用另外的独立帐号拥有root
权限
使用多账户应该是为了权限的分割,如果你三个管理员账户都拥有一样的权限,那就没有这么做的必要了。
由于 Linux 默认文件系统不支持非常复杂的 ACL,所以大部分场景下,较少的用户帐号更灵活。 但个人支持每台服务器由 1-2 个管理员主管,把不同的业务和系统分拆到不同的机器。安全性,持续服务时间,都会有提升。 多个权限完全一样的帐号,是没必要的。
大部分场景下 较少的用户帐号更灵活
多个权限完全一样的帐号,是没必要的
这两句话说的很好,他们将影响到 我的最终决策
另外,我们现在 只有 两台服务器 Rails APP 和 DB 我们现在的规模还很小,服务器管理员较多,是一些特殊原因造成的。 今后我们会 减少 和 控制 服务器管理员的数量,以提高 系统的安全性和稳定性。
再次谢谢你的建议。
@ery 同一个类型服务用同一个账号,比如 web server 用同一个账号,db server 一个账号,task server 一个账号,前期小规模没必要搞太复杂,把精力分散在这上面不值得。