diff options
author | Shireesh Anjal <shireesh@gluster.com> | 2011-11-25 20:13:35 +0530 |
---|---|---|
committer | Shireesh Anjal <shireesh@gluster.com> | 2011-11-25 20:13:35 +0530 |
commit | 1142b0e41de39010de7845cf70d71dbb001fc1dc (patch) | |
tree | 3513487f65c1a7df47996bd2852393aceaac1b8a /src/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py | |
parent | 92c52d8edf285945d31e446503fc742fde9dcc49 (diff) |
Renamed projects / packages com.gluster.* to org.gluster.*
Diffstat (limited to 'src/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py')
-rwxr-xr-x | src/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py b/src/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py new file mode 100755 index 00000000..adfd031c --- /dev/null +++ b/src/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py @@ -0,0 +1,78 @@ +#!/usr/bin/python +# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com> +# This file is part of Gluster Management Gateway. +# + +import os +import sys +p1 = os.path.abspath(os.path.dirname(sys.argv[0])) +p2 = "%s/common" % os.path.dirname(p1) +if not p1 in sys.path: + sys.path.append(p1) +if not p2 in sys.path: + sys.path.append(p2) +import Globals +import Utils + + +def getUid(userName): + lines = Utils.readFile(Globals.CIFS_USER_FILE, lines=True) + for line in lines: + tokens = line.strip().split(":") + if tokens[1] == userName: + return int(tokens[0]) + return None + + +def getLastUid(): + lines = Utils.readFile(Globals.CIFS_USER_FILE, lines=True) + if not lines: + return Globals.DEFAULT_UID + return int([line.strip().split(':')[0] for line in lines if line.strip()][-1]) + + +def setUid(uid, userName): + try: + fp = open(Globals.CIFS_USER_FILE, "a") + fp.write("%s:%s\n" % (uid, userName)) + fp.close() + return True + except IOError, e: + Utils.log("failed to write file %s: %s" % (Globals.CIFS_USER_FILE, str(e))) + return False + + +def main(): + if len(sys.argv) < 4: + sys.stderr.write("usage: %s SERVER_FILE USERNAME PASSWORD\n" % os.path.basename(sys.argv[0])) + sys.exit(-1) + + serverFile = sys.argv[1] + userName = sys.argv[2] + password = sys.argv[3] + + existingUser = False + uid = getUid(userName) + if not uid: + uid = getLastUid() + if not uid: + sys.stderr.write("Unable to read file %s\n" % Globals.CIFS_USER_FILE) + sys.exit(10) + uid += 1 + else: + existingUser = True + + print (serverFile, uid, userName, password) + rv = Utils.grun(serverFile, "add_user_cifs.py", [uid, userName, password]) + if existingUser: + sys.exit(rv) + + if rv == 0: + if not setUid(uid, userName): + sys.stderr.write("Failed to add the user\n") + sys.exit(11) + sys.exit(rv) + + +if __name__ == "__main__": + main() |