gitlab☞批量修改用户密码
阅读量:61
zyh
2018-09-07 19:20:23
Categories:
其他
>
git
Tags:
gitlab
export OldToken=
export OldDomain=
curl -s --header "PRIVATE-TOKEN: ${OldToken}" "http://${OldDomain}/api/v3/users?per_page=100&page=1" | jq '.[] | .id,.username,.state,.email' | sed 'N;N;N;s#\n# #g;s#"##g' | grep 'active' >> user.id;
curl -s --header "PRIVATE-TOKEN: ${OldToken}" "http://${OldDomain}/api/v3/users?per_page=100&page=2" | jq '.[] | .id,.username,.state,.email' | sed 'N;N;N;s#\n# #g;s#"##g' | grep 'active' >> user.id;
while read userid username state email;do
Pwd=`cat /proc/sys/kernel/random/uuid | cut -d'-' -f1`
curl --request PUT --header "PRIVATE-TOKEN:${OldToken}" --data "password=${username}@${Pwd}" "http://${OldDomain}/api/v3/users/${userid}"
echo "${email} ${username} ${username}@${Pwd}" >> user.password
done < user.id
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.gmail.com:587'
mail_user = 'it-ops@altamob.com'
mail_pass = 'hoqmefjrmkvkukth'
def send_mail(to_list,subject,content):
me = mail_user+"<"+mail_user+">"
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
print "start sendmail"
s = smtplib.SMTP(mail_host)
print "connect mail server suesscc"
s.starttls()
s.login(mail_user,mail_pass)
print "login mail server suesscc"
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
while read email username pwd;do python sendmail.py "${email}" "gitlab ${username}新密码" "${pwd}";done < user.password