php asrot,PHP项目部署,Composer install Do not run Composer as root/super user!
到线上部署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!相关推荐
- 【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 ...
- PHP的Composer install、require、update
require 指定包,进行下载文件包,并且加入到json文件里面 update 更新依赖包到最新,并且更新依赖包的版本写入composer.lock install 将会读取composer.loc ...
- php中没有dockerfile,Dockerfile在RUN composer install命令中没有使用缓...
我以为我已经理解了Docker,但今天我发现了一些关于利用docker缓存的问题. 这是我的dockerfile FROM quay.io/my_company/phpjenkins WORKDIR ...
- Do not run Composer as root/super user
忙着安装composer ,执行后,查看版本,报了这样一个提示: [root@izuf60gbaaaq66y42r6y2fz ~]# composer --version Do not run Com ...
- laravel --- composer install之后,项目没有vender目录
composer install之后,项目没有vender目录 1. 原因一:PHP版本过低 PHP版本需要7.1以上,目前使用的是7.0.23 转载于:https://www.cnblogs.com ...
- docker安装+配置镜像+命令操作+数据卷+网络管理+DockerFile+镜像服务+项目部署+[高级使用]
文章目录 Docker基础 一.Docker介绍 1. 什么是虚拟化 2. 什么是Docker 3. 容器与虚拟机比较 4. Docker优势 5. Docker架构 [1]镜像服务(`Image`) ...
- 正确的 Composer 扩展包安装方法composer install 和update、require
问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 com ...
- 项目部署时网关怎么回事_使用Kubernetes部署聊天网关(或技术按预期运行时)...
项目部署时网关怎么回事 by Richard Li 理查德·李(Richard Li) 使用Kubernetes部署聊天网关(或技术按预期运行时) (Using Kubernetes to deplo ...
- php vendor 删除,yii2我删除了vendor目录,然后重新composer install composer update就不行了。。。...
是酱紫的,我把vendor的整个目录都删除了,然后重新执行了 composer install -o --prefer-dist && composer update -o --pre ...
最新文章
- 负载均衡策略深入剖析
- 【RPA干货来袭】 UiBot关于如何使用浏览器调用JS命令的说明
- Jenkins 部署
- android 常用 style,Android中 Styles和Themes
- BLOOMBERG how to start?
- arduino自带程序_arduino代码运行时间测试函数,代码性能运行时间测试方法
- Radio stations CodeForces - 762E (cdq分治)
- Xampp修改默认端口号
- global.php,global.php
- centos 6.5 防火墙开放指定端口
- 持续集成持续部署持续交付_自动持续开发和交付混合移动应用程序
- Xamarin 设置可接受的版本
- mysql更新多条数据_mysql 一次更新多行(多条记录)
- Atitit 人工智能体系树 常用技术 2. 知识图谱 知识处理系统 2 知识发现 知识图谱 1. 1.NLP 2 自然语言处理文本处理 1.1. 语言理解 分词 2 抽取 (压缩文
- java中的jQuery与Ajax的应用,菜鸟教程
- java.lang.NoClassDefFoundError: Could not initialize class com.cyj.util.Jdbc
- 剪映怎么导入mkv_mkv用什么播放器打开_什么播放器可以打开mkv格式-系统城
- grpc服务认证实现方式
- swift学习之旅之 iOS Flurry使用
- python输入一个整数、输出该整数的所有素数因子_一个正整数的所有质数因子
热门文章
- ssis 列转换_SSIS包中的行采样转换和百分比采样转换
- 如何杀死远程服务器到本机的tcp连接
- web页面实时刷新之browser sync
- scala.list
- python面向对象(下)
- JavaScript 入门·JavaScript 具有全范围的运算符
- java kill 进程 时间_kill及kill-9的用法及如何实现进程的优雅退出
- java matching_LeetCode第[44]题(Java):Wildcard Matching
- System.Data.Entity.Core.MetadataException:“Unable to load the specified metadata resource.”
- 在Ubuntu 14.04(Trusty Tahr)上安装Plesk