首頁  >  問答  >  主體

linux - 部署web服务都不用root权限吗?

在开发服务器上,每个人都有一个开发服务器的帐号。但是因为没有root权限,yum之类的安装命令都不好用了。安装开发工具、类库全部要装载自己的home目录下,如果安装的时候依赖库很多,非常麻烦。

问了一下同事,给我的回答是,系统上线也是在非root用户下运行,所以开发的时候就不允许用root权限。请问大家都是这么做的吗?

伊谢尔伦伊谢尔伦2744 天前1125

全部回覆(5)我來回復

  • PHPz

    PHPz2017-04-17 11:30:37

    部署到生产环境运行时是不能用root等最高权限的,一切都给予以最小权限,在RedHat系的系统还有SELinux等限制。公司应该是为了让你们熟悉相应的环境。如果不限制你们使用root等最高权限,你用yum update升级了系统组件,你想要什么软件就想都装到系统里面,那别人的东西可能就乱了。

    在生产环境运行的系统本身可能已经有很多东西在运行,一旦系统的东西被更改,会影响原来的环境。很多东西是可以静态编译进去的,不需要局限于服务器本身的环境。

    yum这种东西虽然说方便,但是对于有要求的环境没什么帮助,所以Linux上面很多东西都是要自己编译的。

    Nginx本身可以加很多的第三方模块,如果你不习惯Linux下面这种编译的欢乐时光,而是靠yum、apt,很可能会影响以后的发展。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 11:30:37

    这么干太抠门了。

    开发者在生产服务器上的身份,仅限于编程完成之后,在严格的日志和监视之下更新程序代码,这是合理的。

    但与此同时,开发工作本身,给开发者单独准备环境完整准确、权限控制相对宽松、资源可以有限一些的调试服务器也是必须的。要不然你让开发者的工作也没法做。

    不使用软件仓库,而要把精力白白浪费在手动编译模块这种无用劳动上,这把开发者逼的太过分了。

    连生产服务器和调试服务器都不舍得分开,这是求死之道。这样浪费的人力财力,绝对抵偿不上区区一个调试环境的价值。

    补充:如果硬是要让调试服务器和生产服务器完全一致,也太过分教条主义了。调试就是调试,中途出现权限放宽,临时引入新软件,乃至于安装了错误的软件再删掉,都是非常正常的。只要程序员能准确的掌握代码的系统需求和依赖性需求,就没有问题。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 11:30:37

    不用root权限,如何监听80端口?

    有点扯了把?

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 11:30:37

    不是。装软件尽量用源里的。不过我是 Debian 系的,不知道 rpm 那边的情况。

    服务程序当然不用 root 用户。但是服务程序也不应该使用开发者的用户身份,而应该每服务单独使用一个用户。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 11:30:37

    我觉得你这个不是服务用不用 root 权限的问题,是服务器管理的问题。应该指定一个服务器管理员统一管理服务的安装升级之类的操作。或者给你们su的权限,但要有一套规范。

    回覆
    0
  • 取消回覆