0
点赞
收藏
分享

微信扫一扫

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

juneyale 2023-02-19 阅读 55


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

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

内容为:

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

比如 https://account:password@github.com

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

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


举报
0 条评论