IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

FTP, transfert un fichier vers un chemin et donner la permission 777


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut FTP, transfert un fichier vers un chemin et donner la permission 777
    J'ai besoin de transférer un fichier dans un dossier Local vers un dossier dans FTP server et donner la permission 777 rwxrwxrwx

    Mon script ça ne marche pas au niveau permission.
    J'ai essayé avec ''os.chmod(filename, 777)'' & ftp.sendcmd("SITE CHMOD 777 " + filename)
    Mais donner erreur : Le fichier spécifié est introuvable.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    import os
    from ftplib import FTP
     
    # Connect FTP Server
    def ftpPush(src, filename, dst):
        ftp = FTP('xxxxx', user='xxxx', passwd='xxxx')
        ftp.cwd(dst)
        ftp.storlines("STOR "+filename, open(src+filename, 'rb')) 
        ftp.quit()
     
    src = '/Users/xxxxxxxx/'    # path Local
    dst ='/xxxxxxxxxxxxxx/'    #path chemain FTP server
     
    # File Name
    filename = "test"
     
    for fileName in os.listdir(src):
          ftpPush(src, filename, dst)
          os.chmod(filename, 777)   #donner le fichet la permission rwxrwxrwx 
     
          #ftp.sendcmd("SITE CHMOD 0777 " + filename, dst)

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par midomarc Voir le message
    Mon script ça ne marche pas au niveau permission.
    C'est assez normal. Sous Unix, un fichier nouvellement créé est créé avec les droits 777 - umask - xxx éventuel (pour les dossiers le "- xxx" n'est pas appliqué).
    Quand tu envoies ton fichier, c'est le user "ftp" du host distant qui le reçoit et qui va créer une copie. Or la création de la copie est donc une création donc à laquelle s'applique les règles du umask.
    Bref ftp ne préserve pas les droits du fichier originel.
    La seule façon de transférer un fichier avec ses droits est de passer par tar.
    1. sur le host d'origine tu crées une archive du fichier
    2. tu envoies cette archive sur le host distant
    3. le host distant extrait l'archive avec l'option "-p" (preserve) qui préserve les droits d'origine (encore faut-il que ce soit un os de type Unix)

    Avec ssh les 3 opérations peuvent se faire en une instruction (on crée une archive en ram qu'on envoie sur le host distant lequel extrait l'archive de la ram => tar cf - fichier_a_envoyer |ssh host "cd dest; tar xpvf -" (le "tiret" signifie "ram") mais pas avec ftp qui est un simple outil de transfert et n'a pas été prévu pour exécuter des commandes distantes.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2022
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2022
    Messages : 12
    Par défaut permission 777 rwxrwxrwx
    Je pense, il est possible de changer la permission avec la fonction import oschmod
    os.chmod(filename, 777)

    https://pypi.org/project/oschmod/

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par midomarc Voir le message
    Je pense, il est possible de changer la permission avec la fonction import oschmod
    os.chmod(filename, 777)
    Oui, et alors? Tu peux bien mettre les droits que tu veux sur ton fichier, cela ne change rien puisque ftp ne les préserve pas.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 760
    Par défaut
    Citation Envoyé par midomarc Voir le message
    Je pense, il est possible de changer la permission avec la fonction import oschmod
    os.chmod(filename, 777)
    Qui dit permission dit domaine de sécurité qui autorise des utilisateurs l'accès à certaines ressources. Et lorsqu'on pousse un fichier en dehors d'un domaine de sécurité dans un autre, il n'y a aucune raison pour que les outils qui permettent de gérer la sécurité dans un domaine soient capables d'administrer un domaine distant.

    Déjà on ne sait pas trop comment désigner le fichier "distant" (un nom de fichier est "local"), l'environnement système peut être différent ainsi que les outils (l'intérêt d'un oschmod n'est pas de modifier un fichier distant mais d'être utilisable par un programme qui tourne sur Windows ou Linux sans être modifié).
    Un outil de transfert de fichier tel que ftp est limité: initialement çà permettait d'avoir un point de partage ou de recopier ses fichiers d'un compte utilisateur d'une machine à l'autre... pour les autres fignolages, ça se fait en se connectant au système via telnet ou ssh.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [PowerShell] Script transfert de fichier vers serveur FTPS ( protection SSL)
    Par EcKerri dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 19/04/2018, 10h29
  2. Transfert des fichiers vers un serveur FTP de façon automatique.
    Par WhiteTigerZ dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 09/06/2015, 16h36
  3. Transfert de fichiers vers ftp
    Par khiloc dans le forum Langage
    Réponses: 0
    Dernier message: 08/04/2010, 11h25
  4. [FTP] Transfert de fichiers en FTP
    Par dams78 dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2006, 01h34
  5. [FTP] transfert de fichiers utilisant le protocole ftp
    Par ista9im dans le forum Langage
    Réponses: 1
    Dernier message: 30/09/2005, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo