Permissions et infomaniak

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Permissions et infomaniak

    Salut à tous ,
    J'ai remarqué que comme moi pas mal de gens chez infomaniak avez des problèmes de permissions et été souvent obligé de passer en 777 les répertoires. En parcourant le F.A.Q d'infomaniak j'ai trouver sa:
    Lors de l'installation du CMS Joomla, aucun répertoire du FTP n'est modifié au niveau de ses permissions car cela n'est pas nécessaire pour une utilisation de base.

    Lorsque vous tentez d'installer un composant .zip vous rencontrez une erreur comme JFolder::create: Ne peut pas créer le dossier ou Attention ! - Le fichier n'a pas pu être déplacé.

    Plutôt que de modifier les permissions de chaque répertoire nécessaire un à un ou de rendre le site vulnérable en modifiant tous les dossiers et les sous-dossiers, voici un script que vous pouvez exécuter et qui modifiera automatiquement le strict minimum sur le serveur.


    Actions à effectuer

    Placez le code dans un fichier .php (par exemple votrefichier.php) à la racine de votre hébergement (dans le dossier /web)

    Personnalisez les 3 lignes $ftp_server + $ftp_user + $ftp_pass avec vos données FTP (pas besoin d'avoir activé la couche FTP de Joomla)

    Personnalisez la ligne $ftp_path si vous avez installé Joomla dans un dossier (/web/joomla par exemple) sinon laissez /web

    Exécutez le script en vous rendant sur la page selon le nom que vous aurez donné (www.votresite.com/votrefichier.php)

    Une fois tous les messages OK obtenu, effacez ce fichier

    Rendez-vous à nouveau sous Aide > Infos système et constatez la différence. Ces répertoires sont maintenant modifiables (le CMS peut écrire dedans lorsque vous uploaderez un nouveau composant)

    <?php
    if ($_GET['chmod']) { $ftp_chmod = $_GET['chmod']; } else { $ftp_chmod = "0777"; }
    echo "chmod=".$ftp_chmod."<br/>";

    $ftp_server='www.votre-domaine.ici';
    $ftp_user='votre-user-ici';
    $ftp_pass='votre-mot-de-passe-ici';
    $ftp_path='/web';
    $conn_id = @ftp_connect("$ftp_server");
    ftp_login($conn_id, $ftp_user, $ftp_pass);
    if ($conn_id === false) { die('Erreur. Vérifiez les accès FTP que vous avez inscrits dans le code source de ce fichier.'); }

    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/components/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/language/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/language/en-GB/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/language/fr-FR/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/language/overrides/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/manifests/files/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/manifests/libraries/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/manifests/packages/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/modules/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/templates/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/components/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/images/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/images/banners/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/images/sampledata/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/language/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/language/en-GB/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/language/fr-FR/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/language/overrides/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/libraries/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/media/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/modules/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/authentication/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/captcha/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/content/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/editors/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/editors-xtd/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/extension/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/finder/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/quickicon/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/search/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/system/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/plugins/user/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/templates/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/cache/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/administrator/cache/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/logs/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }
    if (ftp_site($conn_id, 'CHMOD '.$ftp_chmod.' '.$ftp_path.'/tmp/')) { echo "OK<br/>"; } else { echo "pas OK<br/>"; }

    ftp_close($conn_id);
    ?>
    Voilà j'espère que sa servira à certain

  • #2
    Re : Permissions et infomaniak

    Bonjour

    Ton post est très intéressant ! Merci.

    Un truc m'interpelle (je le mets en gras) : "Plutôt que de modifier les permissions de chaque répertoire nécessaire un à un ou de rendre le site vulnérable en modifiant tous les dossiers et les sous-dossiers, voici un script que vous pouvez exécuter et qui modifiera automatiquement le strict minimum sur le serveur."

    Que faut-il comprendre par-là ? En effet, le message officiel de Infoma..iak est "Le chmod 777 est sans danger aucun chez nous" et là, extrait de leur FAQ, ils disent le contraire en fait. Non ? Est-ce que quelqu'un a une autre compréhension que moi ?

    Je ne connais qu'eux pour exiger d'un utilisateur d'avoir le chmod 777 ("même un chien peut écrire un fichier sur votre site"). Je comprends bien que, selon leurs réglages, l'utilisateur "web" n'est ni owner ni group member mais "other" et donc, c'est le troisème chiffre qui doit être à 7. Ce que je ne comprends pas, c'est pourquoi ? Pourquoi font-ils cela ? Ont-ils "plus raison" que les autres hébergeurs ?

    Si quelqu'un a plus d'infos, je serai ravi de les lire.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X