Php Apache403禁止jenkins发布ssh调用shell
我在Centos7中使用Apache/2.4.6打开服务器 我还使用docker open gitlab和jenkins制作CI/CD 但我有一个奇怪的问题 我使用jenkins调用shell(我是root)将PHP文件部署到/var/www/html 我还尝试停止服务器并重新启动服务器 它将被禁止 这是我的外壳:Php Apache403禁止jenkins发布ssh调用shell,php,apache,docker,jenkins,jenkins-pipeline,Php,Apache,Docker,Jenkins,Jenkins Pipeline,我在Centos7中使用Apache/2.4.6打开服务器 我还使用docker open gitlab和jenkins制作CI/CD 但我有一个奇怪的问题 我使用jenkins调用shell(我是root)将PHP文件部署到/var/www/html 我还尝试停止服务器并重新启动服务器 它将被禁止 这是我的外壳: #!/bin/bash path=`pwd` filepath="/var/www/html" echo "$path" echo "$filepath" sudo service
#!/bin/bash
path=`pwd`
filepath="/var/www/html"
echo "$path"
echo "$filepath"
sudo service httpd stop
if [ -d "$path/testproject" ];then
echo "fetch code..."
cd "$path/testproject"
git pull
else
echo "clone code ..."
git clone ssh://git@XXXXX.com:2222/XXXXX/testproject.git
fi
if [ -d "$filepath/testproject" ];then
echo "rm it"
rm -rf $filepath/testproject
else
echo "not rm"
fi
sudo mv "$path/testproject/phptest.php" $filepath
service httpd start
奇怪的是,如果我用詹金斯来称呼贝壳,它将被禁止
但是,如果我使用Xshell并调用shell,就可以了,两个版本的权限是相同的(它们都是755)
我不知道如何修复它,并找出哪里是我设置的错误
请帮助我或给我一些指导。您可以查看SELinux
sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
setenforce 0 //pause
setenforce 1 //pause start
您还可以更改配置
vim/etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
它们可能会帮助您解决权限问题