update authorize user group

This commit is contained in:
Matthieu Lamalle 2021-07-09 15:26:47 +02:00
parent db53a99881
commit ebcb30f0ba
2 changed files with 7 additions and 31 deletions

View File

@ -23,14 +23,13 @@ from zephir.lib_zephir import flushed_input
def display_help():
print("Autorise une connexion ssh d'un utilisateur sur un groupe de serveur")
print("{} [numero du groupe] [--user utilisateur] [--key chemin_de_la_clé]".format(sys.argv[0]))
print("--key : si ce paramètre est défini, la clé sera envoyé aux serveurs")
print("{} [numero du groupe] [--user utilisateur]".format(sys.argv[0]))
def argparser():
# récupère l'ID du groupe
arglen = len(sys.argv)
if arglen == 1:
return None, None, None
return None, None
if sys.argv[1] in ['-h', '--help']:
display_help()
sys.exit(0)
@ -43,18 +42,14 @@ def argparser():
if sys.argv[2] in ['-u', '--user']:
user = sys.argv[3]
return server_id, user, None
return group_id, user
if sys.argv[4] in ['-k', '--key']:
keypath = sys.argv[5]
return server_id, user, keypath
return group_id, None, None
return group_id, None
def main():
# import des fonctions communes de Zéphir client
group_id, user, keypath = argparser()
group_id, user = argparser()
authentified, proxy = get_pwd(adresse_zephir, 7080)
if authentified == False:
@ -94,29 +89,10 @@ def main():
if user is None:
user = flushed_input("Utilisateur : ")
if keypath is not None:
keyssh = None
with open(keypath) as f:
keyssh = f.read()
clef_ssh = base64.encodestring(keyssh).decode()
os.chdir("/etc/postgresql/")
cmd="""sudo -u postgres psql -c "update users set cle='{}' where login='{}';" zephir""".format(clef_ssh,user)
output = os.popen(cmd)
res = output.read().strip()
output.close()
if res == "UPDATE 1":
print('Clé ssh de utilisateur {} mise à jour'.format(user))
else:
print("Erreur : ", str(res))
sys.exit(1)
ret = proxy.serveurs.authorize_user(user,liste_serveurs)
print('Utilisateur {} autorisé à accéder en ssh aux serveurs {}'.format(user, liste_serveurs))
def make_group():
cx_pool = CxPool()
cu = cx_pool.create()

View File

@ -103,10 +103,10 @@ def main():
list_vars = params[1][3]
for var in list_vars:
print(' - ' + var)
varc = raw_input("Variable à modifier : ")
varc = flushed_input("Variable à modifier : ")
if valvar is None :
valvar = raw_input("Valeur de la variable (séparateur |): ")
valvar = flushed_input("Valeur de la variable (séparateur |): ")
ret = proxy.serveurs.set_groupe_var(liste_serveurs, varc, valvar, False)
# on affiche les erreurs si nécessaire
if ret[1]: