为什么现网环境的程序要使用普通用户运行?
背景:
刚开始创业,项目还比较小,服务端共3个人,有三套环境, 开发、测试、现网,平常三套环境都是以root用户起停进程的。这样每来一位新同学,就得告诉root密码。
优点:
a.root用户权限最高,安装软件,修改配置等都很方便
b.普通用户没权限修改程序文件
缺点:
a.root密码暴露给过多的人,不利于保密, 密码变更时,会影响所有人。
b.root权限无限制,root用户多了后, 无法保证每个同学都按流程操作,有误操作的可能,系统风险增大, 比如随意安装软件,变更root密码,篡改文件,删除数据等。
改进方案:
a.root密码仅对少数人开放, 敏感操作由root用户完成。这样既方便管理,又能明确分工和责任。
b.业务进程使用业务的普通用户运行,这样业务之间不关联,同一台机器上,A业务误操作不会波及到B业务。
c.使用sudo下放有限的root权限,满足业务的权限要求。
总结:
现网程序使用普通用户运行,一是安全,二是明确分工,方便管理。