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 :

Erreur AttributeError


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Erreur AttributeError
    Bonjour alors voilà j'ai sur mon code à la compilation un attributeError et je n'ai aucune idée d'où cela peut provenir...

    Alors voilà mon code de base :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    ##Chemin avec les library
    #!/usr/local/samba/lib/python2.7/site-packages/samba/netcmd
     
    import sys
     
     
     
    # Find right direction when running from source tree
    sys.path.insert(1, "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd")
     
    # make sure the script dies immediately when hitting control-C,
    # rather than raising KeyboardInterrupt. As we do all database
    # operations using transactions, this is safe.
    import signal
    signal.signal(signal.SIGINT, signal.SIG_DFL)
     
     
    from samba.netcmd.main import cmd_sambatool
    cmd = cmd_sambatool()
    subcommand = None
    args = ()
     
    from samba.netcmd.user import cmd_user
    cmd2 = cmd_user()
    subcommand = None
    args = ()
     
    from samba.netcmd.user import cmd_user_create
    cmd3 = cmd_user_create()
    subcommand = None
    args = ()
     
     
     
     
    class FirstUse():
     
        def __init__(self, cmd3):
            self.cmd3 = cmd3
     
     
     
     
    cmd3.run("zyy", "Tutu2!")
    L’erreur que j'ai est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "/root/workspaceTest/testPython/src/FirstUse.py", line 49, in <module>
        cmd3.run("zyy", "Tutu2!")
      File "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/user.py", line 160, in run
        lp = sambaopts.get_loadparm()
    AttributeError: 'NoneType' object has no attribute 'get_loadparm'
    Voilà aussi si jamais ça peut aider la spécification de la fonction run que j'utilise :
    user.cmd_user_add.run(self, username, password=None, credopts=None, sambaopts=None, versionopts=None, H=None, must_change_at_next_login=False, random_password=False, use_username_as_cn=False, userou=None, surname=None, given_name=None, initials=None, profile_path=None, script_path=None, home_drive=None, home_directory=None, job_title=None, department=None, company=None, description=None, mail_address=None, internet_address=None, telephone_number=None, physical_delivery_office=None)
    Voilà donc j'attends votre aide au plus vite…

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 355
    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 355
    Points : 36 883
    Points
    36 883
    Par défaut
    Salut,

    A mon sens, vous n'êtes pas supposé exécuter cette fonction directement.
    Une fois samba installé, vous tapez la commande "samba-tool user add xxx".
    Derrière, vous avez le code qui initialise ce qu'il faut pour faire fonctionner l'appel à la fonction.

    - W

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut Autre question
    Alors du coup j'ai fais comme ça et tout marche comme il faut :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    import sys
     
    # Find right direction when running from source tree
     
    sys.path.insert(0, "/usr/local/samba/lib/python2.7/site-packages")
     
    # make sure the script dies immediately when hitting control-C,
     
    # rather than raising KeyboardInterrupt. As we do all database
     
    # operations using transactions, this is safe.
     
    import signal
     
    signal.signal(signal.SIGINT, signal.SIG_DFL)
     
    #Importation de la bonne classe
     
    from samba.netcmd.main import cmd_sambatool
     
    cmd = cmd_sambatool() #on declare cmd un objet de la classe
     
    subcommand = "user" #On utilise la commande user de la classe cmd_sambatool
     
    args = ("add","zaaa","Zaaa!?4","--surname=zaa","--initials=zzaa") #args prend la valeur de l'action a executer et on lui fournit les informations/Options necessaires !!
     
    #Ici declaration d'une nouvelle action a utiliser
     
    args2 = ("delete", "zii")
     
    if len(sys.argv) > 1:
     
        subcommand = sys.argv[1]
     
        if len(sys.argv) > 2:
     
            args = sys.argv[2:]
     
            args2 = sys.argv[2:]
     
    try:
     
        retval = cmd._run("samba-tool", subcommand, *args) #_run execute la bonne commande
     
    except SystemExit, e:
     
        retval = e.code
     
    except Exception, e:
     
        cmd.show_command_error(e)
     
        retval = 1
     
    try:
     
        retval = cmd._run("samba-tool", subcommand, *args2)
     
    except SystemExit, e:
     
        retval = e.code
     
    except Exception, e:
     
        cmd.show_command_error(e)
     
        retval = 1
     
    sys.exit(retval)
    Par la suite je dois récupérer les mots de passe avec Hash sur un LDAP et j'aimerais juste savoir si avec cette méthode je vais pouvoir passer le Hash a Samba4?

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 914
    Points : 7 298
    Points
    7 298
    Par défaut
    Sinon plutôt que de copier/coller bêtement, peux-tu répondre à chaque question posée dans chacun des forums où tu as posté. Ça aiderait à faire avancer les choses plutôt que d'envoyer un code et de dire démerdez-vous avec ça!

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 355
    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 355
    Points : 36 883
    Points
    36 883
    Par défaut
    Citation Envoyé par irastak Voir le message
    Alors du coup j'ai fais comme ça et tout marche comme il faut :
    ...
    Par la suite je dois récupérer les mots de passe avec Hash sur un LDAP et j'aimerais juste savoir si avec cette méthode je vais pouvoir passer le Hash a Samba4?
    Que des morceaux de samba soient écrits en Python est une chose.
    Mais la documentation de cela me semble "réservée" aux développeurs de samba, les utilisateurs (vous et moi) ne sont pas supposés aller en deçà de la ligne de commande (ni savoir qu'il y a du code Python sous le capot).
    Ceci dit, vous faites ce que vous voulez....
    Mais si vous passez cette porte là, vous êtes supposé savoir ce que vous faites et comment le faire.

    - W

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Donc d'après vous, il n'est pas possible de pousser les Hash avec Samba4? Même en faisant différemment ?

    Merci en tout cas^^

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 914
    Points : 7 298
    Points
    7 298
    Par défaut
    il n'est pas possible de pousser les Hash avec Samba4?
    Il faudrait tout de même être plus clair dans tes expressions, fait attention, on perd quand même beaucoup de temps à comprendre ce que tu souhaites.

    Que veux-tu dire par pousser ?

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Désolé...^^"

    Bah j'aimerais pouvoir récupérer un mot de passe avec un Hash présent sur un serveur LDAP et ensuite le passer à Samba4...

  9. #9
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 914
    Points : 7 298
    Points
    7 298
    Par défaut
    Mot de passe administrateur, utilisateur ?

    Pour faire quoi ? Modifier le mot de passe ? de quelle commande samba se rapproche ce que tu veux faire ?

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Les mots de passe des utilisateurs, en fait toutes les infos des differents groupes sont regroupées sur un annuaire LDAP et moi je dois coder le connecteur entre cet annuaire et le serveur sur lequel on doit ajouter les utilisateurs qui nous interesse.
    Sur cet annuaire les mots de passe sont hashe et donc je ne sais pas si je peux ajouter les utilisateurs a mon serveur avec ce mot de passe hashe...

    Je sais pas quelle commande serait la mieux adaptee, pour l instant j utilise la suivante : samba-tool user add

  11. #11
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 914
    Points : 7 298
    Points
    7 298
    Par défaut
    Apparemment tu devrais utiliser la classe Command se situant dans la documentation. Ne maîtrisant pas LDAP et Samba, je te laisse le soin de les tester en particulier celle-ci qui se rapproche beaucoup de ce que tu souhaitais reproduire par ta commande ci-dessus.

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Merci j'essaie avec ça dès demain

  13. #13
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 355
    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 355
    Points : 36 883
    Points
    36 883
    Par défaut
    Citation Envoyé par irastak Voir le message
    Désolé...^^"

    Bah j'aimerais pouvoir récupérer un mot de passe avec un Hash présent sur un serveur LDAP et ensuite le passer à Samba4...
    Si vous installez proprement samba, il sera capable de se connecter au service LDAP tout seul.
    Et il n'y a rien à programmer, c'est de la configuration système.
    Il faudra bien sûr que l'administrateur système (du LDAP) vous autorise à....

    - W

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    Je dois faire le script qui s'occupe de mettre à jour notre serveur par rapport aux modifications qu'il y a toutes les heures/jours/semaines... Après oui manuellement ça se fait mais ce n'est pas le but rechercher...

  15. #15
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 13
    Points : 3
    Points
    3
    Par défaut
    En fait j'utilise déjà cmd_user_create... Enfin moi j'utilise cmd_user_add qui a la même implémentation que le create... Mais le soucis avec elle c'est que je peux rentrer les mots de passe en claire comme il faut mais est ce que je pourrais si ils ont un hash... ?

Discussions similaires

  1. Erreur AttributeError: Got KeyError(u'ir.actions.view',)
    Par benoxy dans le forum Odoo (ex-OpenERP)
    Réponses: 4
    Dernier message: 07/03/2014, 14h41
  2. Erreur de type:AttributeError
    Par Mozard Yao dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 28/11/2013, 17h08
  3. Erreur type AttributeError
    Par Yorkfield dans le forum Général Python
    Réponses: 2
    Dernier message: 28/11/2011, 10h21
  4. Erreur de type "AttributeError"
    Par Ensitof dans le forum PyQt
    Réponses: 4
    Dernier message: 27/01/2010, 08h38
  5. AttributeError - Gestion des erreurs
    Par LLEJEUNE1 dans le forum Général Python
    Réponses: 4
    Dernier message: 19/06/2007, 21h45

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