到线上部署PHP项目的时候,代码copy后,安装依赖Composer install的时候提示,Do not run Composer as root/super user!

好吧,看了官方给的说明文档https://getcomposer.org/root,主要说,防止一些第三方代码,拥有超级管理员的权限来执行一些脚本,神马的。我知道不安全,但我只想先部署上去测试...

安装官方给的说明,添加--no-plugins --no-scripts参数,但是依旧报那个错误。

composer install --no-plugins --no-scripts --no-dev

后面我就添加了一个部署用的账户,为了好分配权限,就分配到了用户组www-data.

useradd www-deploy -g www-data

然后在执行Composer install的时候,切换用户为www-deploy执行.

#执行完成没任何反应(在项目目录,当前目录也有composer.json)

su www-deploy -c "composer install"

#执行下面语句,报错如下

su www-deploy:www-data -c "composer install"

#报错信息

No passwd entry for user 'www-deploy:www-data'

好吧,我就没辙了,我在考虑要不要专门整个www-deploy的用户,用来登录部署项目。

求助下大家,谢谢。

看了些自动化运维工具,例如ANSIBLE,感觉有些功能还是需要Root权限的,比如执行Docker的一些命令(初始化环境,或者添加新的Docker容器,如果不使用sudo会产生安全问题,参考文章),安装一些必备软件。

感觉目前的思路:

代码部署:使用单独的用户:www-deploy。

环境搭建:使用root,或者能获得root权限的sudoer。

但是说实在感觉不出,比纯root安全性提高在哪里(我能想到的就是部署脚本,只能操作自己home目录里面东西,不用担心,不小心rm -rf /...)。

========== 11-3 16:60 ==========

知道错误在哪了...

composer我写了个shell脚本,忘了把参数带上了

#/bin/composer

php composer.phar $*(忘了加参数了...)

然后新建了一个www-deploy用户:用户组用来部署

添加www-deploy用户:用户组

groupadd www-deploy

useradd www-deploy -g www-deploy -m

#设置www-data到www-deploy用户组

groupdel www-data

usermode -g www-deploy www-data

#文件夹没有x权限,无法cd进去.

chmod 770 `find /home/www-deploy type -d`

chmod 660 `find /home/www-deploy type -f`

设置代码目录所有者有www-data:www-deploy

chown www-data:www-deploy /home/www-deploy/www

php asrot,PHP项目部署,Composer install Do not run Composer as root/super user!相关推荐

  1. 【Linux部署】elasticsearch can not run elasticsearch as root+vm.max_map_count [65530] is too low 问题解决

    异常一 Caused by: java.lang.RuntimeException: can not run elasticsearch as root 异常一解决 添加 elasticsearch ...

  2. PHP的Composer install、require、update

    require 指定包,进行下载文件包,并且加入到json文件里面 update 更新依赖包到最新,并且更新依赖包的版本写入composer.lock install 将会读取composer.loc ...

  3. php中没有dockerfile,Dockerfile在RUN composer install命令中没有使用缓...

    我以为我已经理解了Docker,但今天我发现了一些关于利用docker缓存的问题. 这是我的dockerfile FROM quay.io/my_company/phpjenkins WORKDIR ...

  4. Do not run Composer as root/super user

    忙着安装composer ,执行后,查看版本,报了这样一个提示: [root@izuf60gbaaaq66y42r6y2fz ~]# composer --version Do not run Com ...

  5. laravel --- composer install之后,项目没有vender目录

    composer install之后,项目没有vender目录 1. 原因一:PHP版本过低 PHP版本需要7.1以上,目前使用的是7.0.23 转载于:https://www.cnblogs.com ...

  6. docker安装+配置镜像+命令操作+数据卷+网络管理+DockerFile+镜像服务+项目部署+[高级使用]

    文章目录 Docker基础 一.Docker介绍 1. 什么是虚拟化 2. 什么是Docker 3. 容器与虚拟机比较 4. Docker优势 5. Docker架构 [1]镜像服务(`Image`) ...

  7. 正确的 Composer 扩展包安装方法composer install 和update、require

    问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 com ...

  8. 项目部署时网关怎么回事_使用Kubernetes部署聊天网关(或技术按预期运行时)...

    项目部署时网关怎么回事 by Richard Li 理查德·李(Richard Li) 使用Kubernetes部署聊天网关(或技术按预期运行时) (Using Kubernetes to deplo ...

  9. php vendor 删除,yii2我删除了vendor目录,然后重新composer install composer update就不行了。。。...

    是酱紫的,我把vendor的整个目录都删除了,然后重新执行了 composer install -o --prefer-dist && composer update -o --pre ...

最新文章

  1. 负载均衡策略深入剖析
  2. 【RPA干货来袭】 UiBot关于如何使用浏览器调用JS命令的说明
  3. Jenkins 部署
  4. android 常用 style,Android中 Styles和Themes
  5. BLOOMBERG how to start?
  6. arduino自带程序_arduino代码运行时间测试函数,代码性能运行时间测试方法
  7. Radio stations CodeForces - 762E (cdq分治)
  8. Xampp修改默认端口号
  9. global.php,global.php
  10. centos 6.5 防火墙开放指定端口
  11. 持续集成持续部署持续交付_自动持续开发和交付混合移动应用程序
  12. Xamarin 设置可接受的版本
  13. mysql更新多条数据_mysql 一次更新多行(多条记录)
  14. Atitit 人工智能体系树 常用技术 2. 知识图谱 知识处理系统 2 知识发现 知识图谱 1. 1.NLP 2 自然语言处理文本处理 1.1. 语言理解 分词 2 抽取 (压缩文
  15. java中的jQuery与Ajax的应用,菜鸟教程
  16. java.lang.NoClassDefFoundError: Could not initialize class com.cyj.util.Jdbc
  17. 剪映怎么导入mkv_mkv用什么播放器打开_什么播放器可以打开mkv格式-系统城
  18. grpc服务认证实现方式
  19. swift学习之旅之 iOS Flurry使用
  20. python输入一个整数、输出该整数的所有素数因子_一个正整数的所有质数因子

热门文章

  1. ssis 列转换_SSIS包中的行采样转换和百分比采样转换
  2. 如何杀死远程服务器到本机的tcp连接
  3. web页面实时刷新之browser sync
  4. scala.list
  5. python面向对象(下)
  6. JavaScript 入门·JavaScript 具有全范围的运算符
  7. java kill 进程 时间_kill及kill-9的用法及如何实现进程的优雅退出
  8. java matching_LeetCode第[44]题(Java):Wildcard Matching
  9. System.Data.Entity.Core.MetadataException:“Unable to load the specified metadata resource.”
  10. 在Ubuntu 14.04(Trusty Tahr)上安装Plesk