import os import sys EXPIRE="2018/12/31" # YY/MM/DD if len(sys.argv) < 2: print "Usage: %s /path/to/moodle/user/file/ email_pass" % sys.argv[0] sys.exit(0) users = open(sys.argv[1]).readlines() def buildPassword(): """Build a random password""" import string from random import choice characters = string.ascii_letters + string.digits password = "".join(choice(characters) for x in range(10)) return password def sendEmail(user, email, passwd): import smtplib gmail_user = 'jose.reyes46@upr.edu' gmail_password = sys.argv[2] sent_from = gmail_user to = email subject = 'Usuario y password para ADA' body = """Le he creado una cuenta en ada.uprrp.edu para su clase de CCOM3030. El username es %s y su password es %s.\n Si ya tenia una cuenta, esta ha sido reactivada. Ignoren el password aqui mencionado, deben dar login con el que usaban. Si lo han olvidado me escriben para cambiarlo.\n Para dar login al servidor, deberan usar el comando ssh en su terminal: ssh %s@ada.uprrp.edu Deberan escribir yes cuando les pida confiar en el servidor, y luego entrar su password. Inmediatamente despues de acceder les debe pedir que cambien el password.\n Cualquier duda que tengan me esciben.\n Jose Reyes""" % (user, passwd, user) email_text = """From: %s\nTo: %s\nSubject: %s\n\n%s """ % (sent_from, to, subject, body) try: server = smtplib.SMTP_SSL('smtp.gmail.com', 465) server.ehlo() server.login(gmail_user, gmail_password) server.sendmail(sent_from, to, email_text) server.close() print 'Email sent!' except: print 'Something went wrong...' for user in users: fields = user.split(",") email = fields[2].split("\n")[0] user = email.split("@")[0] passwd = buildPassword() if os.path.exists("/home/estudiantes/%s" % user): os.system("chage -E %s %s" % (EXPIRE, user)) print "%s expiration day changed" % user else: os.system("useradd -d /home/estudiantes/%s -m %s -e %s -s /bin/bash" % (user, user, EXPIRE)) os.system("echo %s:%s | chpasswd" % (user, passwd)) os.system("chage -d 0 %s" % user) print "%s user created" % user sendEmail(user,email,passwd)