Esempio n. 1
0
def _create(options, parser):
    # Set parser options
    parser.add_argument( "user_name"
                       , action = "store"
                       , help   = "User name."
                       )
    parser.add_argument( "sn"
                       , action = "store"
                       , help   = "Family name."
                       )
    parser.add_argument( "given_name"
                       , action = "store"
                       , help   = "Given name."
                       )
    parser.add_argument( "-m", "--md5"
                       , action  = "store_true"
                       , default = False
                       , help    = "Use MD5 hash function (default = SHA-1)."
                       )
    parser.add_argument( "-L", "--lock"
                       , action  = "store_true"
                       , default = False
                       , help    = "Lock a user's account."
                       )

    # Get options
    namespace = parser.parse_args(options)

    # Check hash function name
    if namespace.md5 == True:
        hash_function_name = "MD5"
    else:
        hash_function_name = "SHA-1"

    # Check lock/unlock
    if namespace.lock == True:
        suspended = "true"
    else:
        suspended = "false"

    # Get auth token
    auth_token = _func.getAuthTokenByLogin(namespace.admin_name, namespace.domain)

    # Get user's password
    hash_password = _func.getHashedPassword_interactive(hash_function_name)

    # Operation
    return _func.operate( USER.createUser
                        , namespace.user_name.lower()
                        , parser.prog
                        , namespace.result_file
                               , namespace.domain
                               , auth_token
                               , namespace.user_name.lower()    # user
                               , hash_password                  # password
                               , namespace.sn                   # sn
                               , namespace.given_name           # given name
                               , hash_function_name             # function name
                               , suspended                      # suspended
                        )
Esempio n. 2
0
def _passwd(options, parser):
    # Set parser options 
    parser.add_argument( "user_email"
                       , action = "store"
                       , help   = "User's mail address."
                       )
    parser.add_argument( "-m", "--md5"
                       , action  = "store_true"
                       , default = False
                       , help    = "Use MD5 hash function (default = SHA-1)."
                       )

    # Get options
    namespace = parser.parse_args(options)

    # Check option
    if namespace.md5 == True:
        hash_function_name = "MD5"
    else:
        hash_function_name = "SHA-1"

    # Get auth token
    auth_token = _func.getAuthTokenByLogin(namespace.admin_name, namespace.domain)

    # Get user's password
    hash_password = _func.getHashedPassword_interactive(hash_function_name)

    # Operation
    return _func.operate( USER2.updateUser
                        , namespace.user_email.lower()
                        , parser.prog
                        , namespace.result_file
                             , namespace.domain
                             , auth_token
                             , namespace.user_email.lower()            # user
                             , password = hash_password                # password
                             , hash_function_name = hash_function_name # function
                        )
Esempio n. 3
0
def _create(options, parser):
    # Set parser options
    parser.add_argument( "user_email"
                       , action = "store"
                       , help   = "User's mail address."
                       )
    parser.add_argument( "sn"
                       , action = "store"
                       , help   = "Family name."
                       )
    parser.add_argument( "given_name"
                       , action = "store"
                       , help   = "Given name."
                       )
    parser.add_argument( "-m", "--md5"
                       , action  = "store_true"
                       , default = False
                       , help    = "Use MD5 hash function (default = SHA-1)."
                       )
    parser.add_argument( "-L", "--lock"
                       , action  = "store_true"
                       , default = False
                       , help    = "Lock a user's account."
                       )
    parser.add_argument(       "--assign-administrator"
                       , action  = "store_const"
                       , const   = "true"
                       , default = "false"
                       , help    = "Assign administrator to user (default = not assign)."
                       )
    parser.add_argument(       "--no-change-password-at-next-login"
                       , action  = "store_const"
                       , const   = "false"
                       , default = "true"
                       , help    = ( "If this flag specified, "
                                     "user do not have to change password "
                                     "at next login (default = True)."
                                   )
                       )

    # Get options
    namespace = parser.parse_args(options)

    # Check hash function name
    if namespace.md5 == True:
        hash_function_name = "MD5"
    else:
        hash_function_name = "SHA-1"

    # Check lock/unlock
    if namespace.lock == True:
        suspended = "true"
    else:
        suspended = "false"

    # Get auth token
    auth_token = _func.getAuthTokenByLogin(namespace.admin_name, namespace.domain)

    # Get user's password
    hash_password = _func.getHashedPassword_interactive(hash_function_name)

    # Operation
    return _func.operate( USER2.createUser
                        , namespace.user_email.lower()
                        , parser.prog
                        , namespace.result_file
                               , namespace.domain
                               , auth_token
                               , namespace.user_email.lower()   # user
                               , hash_password                  # password
                               , namespace.sn                   # sn
                               , namespace.given_name           # given name
                               , hash_function_name             # function name
                               , suspended                      # suspended
                               , namespace.assign_administrator # assign admin?
                               , namespace.no_change_password_at_next_login # no change?
                        )