示例#1
0
文件: add.py 项目: bary321/samba
def adduser(user, dire, valid=True, write=False):
    if not data.direxit(dire):
        print "Error:the directory named %s doesn't exist." % dire
    else:
        U = User(user)
        if not U.userexist():
            y = raw_input("user %s don't exist.create now?(Y/y)" % user)
            y.lower()
            if y == "y":
                g = raw_input("create user with the same name or other group?(input noting or existed group)")
                if g:
                    G = Group(g)
                    if G.groupexist():
                        U.createuser(initgroup=g, user=user)
                        p = raw_input("Input passwd:(default is the user name)")
                        if not p:
                            U.changepasswdnon("%s" % user)
                        else:
                            U.changepasswdnon(p)
                    else:
                        print "Error:the group named %s don't exist.quit" % g
                else:
                    G = Group(user)
                    if G.groupexist():
                        print "Error:Can't create group '%s'.It already exist." % user
                    else:
                        G.creategroup()
                        U.createuser(initgroup=user, user=user)
                        p = raw_input("Input passwd:(default is the user name)")
                        if not p:
                            U.changepasswdnon("%s" % user)
                        else:
                            U.changepasswdnon(p)
                adduser(user, dire, valid=valid, write=write)
            else:
                exit()
        else:
            Dir = DirBase(dire)
            if valid:
                if Dir.validuserexist(user):
                    print "Error:the user '%s' already exist in this directory's valid user list" % user
                else:
                    Dir.addvaliduser(user)
            if write:
                if Dir.writelistexit(user):
                    print "Error:the user '%s' already exist in this directory's write user list" % user
                else:
                    Dir.addwriteuser(user)