php - Y a-t-il un risque de sécurité avec Git configuré comme ceci ?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-24 11:30:50
0
2
634

Version du logiciel

  1. CentOS 6.8

  2. PHP 7.0.7

  3. Git 1.7.1

Configuration de l'environnement

  1. Dans le catalogue/home/work/repositories/下创建了一个裸仓test.git

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

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

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

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

Description du problème

  1. Lorsque la configuration ci-dessus est terminée et que l'environnement de développement est exécutégit push, l'erreur suivante apparaît

    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. Suivez le tutoriel en ligne et ajoutez cette ligne dans /etc/sudoers

    %git    ALL=(ALL)       NOPASSWD: ALL
  3. Après avoir configuré de cette manière, l'opération git pull sera effectuée dans le répertoire /home/work/www/test à chaque fois git push之后也都会到/home/work/www/test目录下执行git pull, obtenant les résultats attendus.

Je voudrais demander à tout le monde, selon la configuration ci-dessus, y a-t-il des risques de sécurité ou des failles de configuration ?
Merci !

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

répondre à tous(2)
伊谢尔伦

Personnellement, je pense qu'il n'est pas bon de mettre du code (y compris le référentiel git) sur le serveur de production, surtout s'il est placé dans le répertoire Web. Une fois qu'il y a des problèmes d'autorisation, le code est susceptible d'être déplacé

.
巴扎黑

En fait, vous pouvez séparer le fichier d'entrée php et le dossier .git, et c'est tout.
Comme Laravel, le fichier d'entrée est public et .git est hors public, donc cela ne l'affectera pas du tout.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal