generates new password at first edit
This commit is contained in:
parent
3b1bf0e77f
commit
e6b1a41a54
1 changed files with 15 additions and 2 deletions
|
@ -10,6 +10,9 @@ import os
|
||||||
import atexit
|
import atexit
|
||||||
import argparse
|
import argparse
|
||||||
import re
|
import re
|
||||||
|
import random
|
||||||
|
import string
|
||||||
|
import datetime
|
||||||
try:
|
try:
|
||||||
import clientconfig as config
|
import clientconfig as config
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -134,6 +137,13 @@ def get_my_roles():
|
||||||
allr = all_roles()
|
allr = all_roles()
|
||||||
return filter(lambda role: SERVER['user'] in allr[role],allr.keys())
|
return filter(lambda role: SERVER['user'] in allr[role],allr.keys())
|
||||||
|
|
||||||
|
def gen_password():
|
||||||
|
"""Generate random password"""
|
||||||
|
random.seed(datetime.datetime.now().microsecond)
|
||||||
|
chars = string.letters + string.digits + '/=+*'
|
||||||
|
length = 15
|
||||||
|
return ''.join([random.choice(chars) for _ in xrange(length)])
|
||||||
|
|
||||||
######
|
######
|
||||||
## Local commands
|
## Local commands
|
||||||
|
|
||||||
|
@ -335,12 +345,15 @@ def show_file(fname):
|
||||||
def edit_file(fname):
|
def edit_file(fname):
|
||||||
value = get_file(fname)
|
value = get_file(fname)
|
||||||
nfile = False
|
nfile = False
|
||||||
|
annotations = u""
|
||||||
if value == False:
|
if value == False:
|
||||||
nfile = True
|
nfile = True
|
||||||
print "Fichier introuvable"
|
print "Fichier introuvable"
|
||||||
if not confirm("Créer fichier ?"):
|
if not confirm("Créer fichier ?"):
|
||||||
return
|
return
|
||||||
texte = ""
|
annotations += u"""Ceci est un fichier initial contenant un mot de passe
|
||||||
|
aléatoire, pensez à rajouter une ligne "login: ${login}" """
|
||||||
|
texte = "pass: %s\n" % gen_password()
|
||||||
roles = get_my_roles()
|
roles = get_my_roles()
|
||||||
# Par défaut les roles d'un fichier sont ceux en écriture de son
|
# Par défaut les roles d'un fichier sont ceux en écriture de son
|
||||||
# créateur
|
# créateur
|
||||||
|
@ -356,7 +369,7 @@ def edit_file(fname):
|
||||||
texte = sout.read()
|
texte = sout.read()
|
||||||
value['roles'] = NROLES or value['roles']
|
value['roles'] = NROLES or value['roles']
|
||||||
|
|
||||||
annotations = u"Ce fichier sera chiffré pour les rôles suivants :\n%s\n\
|
annotations += u"Ce fichier sera chiffré pour les rôles suivants :\n%s\n\
|
||||||
C'est-à-dire pour les utilisateurs suivants :\n%s" % (
|
C'est-à-dire pour les utilisateurs suivants :\n%s" % (
|
||||||
', '.join(value['roles']),
|
', '.join(value['roles']),
|
||||||
'\n'.join(' %s' % rec for rec in get_dest_of_roles(value['roles']))
|
'\n'.join(' %s' % rec for rec in get_dest_of_roles(value['roles']))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue