首页 > 系统相关 >github 私有仓库linux下免输入账号密码 ||php shell_exec webhook自动化部署||如何使www 具有sudo 权限

github 私有仓库linux下免输入账号密码 ||php shell_exec webhook自动化部署||如何使www 具有sudo 权限

时间:2023-02-19 10:34:47浏览次数:72  
标签:www git exec sudo github php root


github 私有仓库linux下免输入账号密码

cd  ~/
touch .git-credentials
vim .git-credentials

内容为:

https://{username}:{password}@github.com 

比如 https://account:[email protected]
git config --global credential.helper store

验证是否成功:

cat  ~/.gitconfig

如果成功会出现:

[credential]
helper = store

用php部署代码

扩展: 在部署github ,在nginx 的www 用户下,运行git pull 无效,应该在root 用户下授予权限:

chown -R www 你的文件目录

但是在www 用户去拉代码的时候,还是需要username 和password 验证,而且账号密码我们存在root 用户目录下,我们想到的是用sudo去执行命令

创建一个index.php&& 确保php.ini 开启了shell_exec()

<?php
var_dump(shell_exec('sudo sh hook.sh'));

当然你可以在php 这个文件中进行验证;
​​​编辑hook.sh​

cd object #进入你要执行git pull 的目录
git pull #即可,如果你确定git 命令可不可以 git --version 即可,如果没有出现版本,请chown 给www权限

如何使www 具有sudo 权限:(很关键)

vim /etc/sudoers
在 root ALL=(ALL) ALL 下面添加:
www ALL=(root) NOPASSWD:ALL

如此这般,即可。围绕着权限的思维去做


标签:www,git,exec,sudo,github,php,root
From: https://blog.51cto.com/u_14131118/6066493

相关文章

  • ExecutorService.submit()与Executor.execute()的区别
    相同之处:1.execution.submit和execute方法均可以像线程池中提交一个任务,让线程池来异步执行这个任务;2. 两个方法均可以接受Runnable类型的任务;3. 从ExecutorService......
  • GitHub Two-Factor Authentication All In One
    GitHubTwo-FactorAuthenticationAllInOne2FAhttps://github.com/settings/security(......
  • Github连上了!
    几个月前为了做面试demo又搞起了代码,访问github一开始还能开个页面,后来怎么都访问不了,想拉代码都拉不下来。  一晚上好不容易拿到代码。今天要找一些开源代码,百度搜......
  • 解决linux服务器无法从GitHub上git项目
     报错:  解决方案:配置一下Linux的hosts文件,在hosts文件最后添加上GitHub140.82.113.4github.com199.232.69.194github.global.ssl.fastly.net [root@localh......
  • github action 编译上传docker hub
    简介:以前介绍过dockerhub直接连接github编译docker镜像,但是已经停止服务了,不知道企业会员还有没有。那么以后我们就自己编译docker镜像了么?至少现在github被微软收购以......
  • GitHub 入门 与 2023年2月18日10:29:02
    用GitHub有一段时间了,之前一直用来做Hexo的服务器,直到前阵子搞GitHubAction因为命令不熟,把GitHub上的源码强制拉到本地把本地的Hexo搞崩了,博客源码都没了,哭辽......
  • springboot报错:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not
    控制层中,根据id删除用户是这样写的:@PostMapping("/delete")publicResultMsgdelete(@RequestBodyMap<String,Object>params){ ......}请求报错:Contenttype'a......
  • Github在线解决代码冲突(图文并茂)
    Github在线解决代码冲突​​前言​​​​怎么模拟代码冲突?​​​​情景复现​​​​如何在github在线解决代码冲突?​​前言浪费了好久时间,来记录一下~自己在本地写项目,一个......
  • MacOS安装软件用brew install遇到443的问题如何解决github.com
    1 443的报错一般都是属于域名解析问题,或者墙的问题   2首先解决墙的问题 这个不展开讲了     3如果能够ping通域名了,brewinstall还是443就把自......
  • 阅读GitHub上的项目源码有以下几种方法
    GitHub是一个非常流行的代码托管平台,上面有很多优秀的开源项目。阅读这些项目的源码可以帮助我们学习和提高编程技能。阅读GitHub上的项目源码有以下几种方法:1、下载源码到......