php - Gibt es ein Sicherheitsrisiko, wenn Git so konfiguriert ist?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-24 11:30:50
0
2
662

Softwareversion

  1. CentOS 6.8

  2. PHP 7.0.7

  3. Git 1.7.1

Umgebungskonfiguration

  1. Im Katalog/home/work/repositories/下创建了一个裸仓test.git

  2. git clone到网站根目录/home/work/www/

  3. PHP运行用户为www-data/home/work/www/目录的权限为755,属于www-data用户和www-dataBenutzergruppe

  4. Konfigurierte post-receive钩子,开发环境执行git push的时候,自动到/home/work/www/test目录下执行git pullOperationen

    #!/bin/sh
    cd /home/work/www/test
    sudo -u www-data env -i git pull

Problembeschreibung

  1. Wenn die obige Konfiguration abgeschlossen ist und die Entwicklungsumgebung ausgeführt wirdgit push, erscheint der folgende Fehler

    Counting objects: 3, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 790 bytes | 0 bytes/s, done.
    Total 3 (delta 1), reused 0 (delta 0)
    remote: sudo: no tty present and no askpass program specified
    remote: Gogs: Internal error
    To ssh://xxx/test.git
    6250615..3e4555d  master -> master
  2. Folgen Sie dem Online-Tutorial und fügen Sie diese Zeile ein /etc/sudoers

    %git    ALL=(ALL)       NOPASSWD: ALL
  3. Nach der Konfiguration auf diese Weise wird der git pull-Vorgang jedes Mal im Verzeichnis /home/work/www/test ausgeführt git push之后也都会到/home/work/www/test目录下执行git pull und erzielt die erwarteten Ergebnisse.

Ich möchte alle fragen: Gibt es gemäß der obigen Konfiguration Sicherheitsrisiken oder Konfigurationslücken?
Danke!

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(2)
伊谢尔伦

个人觉得在生产服务器放代码(包括 git 仓库)是不大好的,尤其还放在 web 目录里面,一旦出现一些权限问题,很有可能代码被拖

巴扎黑

其实你可以把php的入口文件和.git文件夹分开,这样就可以了呀。
像Laravel,入口文件在public里,.git在public外面,这样完全不会影响惹。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage