なんかいろいろこんぴゅーたかんけいのなぐりがき

なんか勉強しているこんぴゅーた関係のことのメモやそれ以外のことを書こうかなあ...

logs

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ubuntu でGUIユーザー追加ツール1人版

ubuntuとかlinuxで有効なユーザー追加ツール。
グループIDは適宜書き換えてください。


main.py

#!/usr/bin/python
#coding:utf-8
from tkMessageBox import showinfo
from Tkinter import *
import os,sys
import getUsers,add

def reg():
username = e1_str.get()
if username == "":
showinfo(message=u"名前を入力してください",title=u"失敗")
return
if e2_str.get() == "":
showinfo(message=u"パスワードを入力してください",title=u"失敗")
return
if e2_str.get() == e3_str.get():
users = getUsers.getUsers()
if users.count(username) != 0:
showinfo(message=u"既にその名前は使われています",title=u"失敗")
return
else:
w = open(".newuser.tmp","w")
w.write(username+":"+e2_str.get()+"\n")
w.close()
add.addUser(".newuser.tmp")
os.system("rm .newuser.tmp")
showinfo(message=u"登録完了",title=u"成功")
else:
showinfo(message=u"パスワードが間違っています\n入力しなおしてください",title=u"失敗")
return

#check uid is root?
if os.getuid() != 0:
showinfo(message=u"このプログラムは管理者権限で実行してください",title=u"失敗")
sys.exit()

root = Tk()
root.title("AddNewUser")
e1_str = StringVar()
e2_str = StringVar()
e3_str = StringVar()
label1 = Label(text="UserName")
label1.pack()
entry1 = Entry(textvariable=e1_str)
entry1.pack()
label2 = Label(text="pass")
label2.pack()
entry2 = Entry(textvariable=e2_str,show="*")
entry2.pack()
label3 = Label(text="pass again")
label3.pack()
entry3 = Entry(textvariable=e3_str,show="*")
entry3.pack()
button1 = Button(text="OK",command=reg)
button1.pack()

root.mainloop()



add.py

#coding:utf-8
import os

def addUser(userlist):
r = open(userlist,"r")
GIDS = "4,20,21,24,25,26,29,30,44,46,104,1005"
users = []
for line in r:
users.append(line[:line.index(":")])
for user in users:
os.system("useradd " + user)
os.system("usermod -G " + GIDS+" "+user)
os.system("mkdir /home/" + user)
os.system("chown -R :" + user + " /home/" + user)
os.system("chown -R " + user + " /home/" + user)
os.system("chmod 700 /home/" + user)

os.system("chpasswd < " + userlist)



getUsers.py

import os
def getUsers():
r = open("/etc/passwd","r")
users = []
for line in r:
users.append(line[:line.index(":")])
return users


スポンサーサイト

トラックバックURL

http://ilovevim.blog42.fc2.com/tb.php/126-d81f558b

この記事へのトラックバック

この記事へのコメント

コメント投稿フォーム

Paging Navigation

Navigations, etc.

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。