diff options
author | Michael Elkins <melkins@tislabs.com> | 2011-01-25 01:24:19 +0000 |
---|---|---|
committer | Michael Elkins <melkins@tislabs.com> | 2011-01-25 01:24:19 +0000 |
commit | a3eacc05ee7e8d98c937f0bae5e45f1c4e2083c3 (patch) | |
tree | 73b73b6d58f214fd82c6315318598d20e3cbe64b /portal-gui/scripts/adduser.py | |
parent | fb43a2ca65901ca9b1bbcaf630f91582ec7ff2d3 (diff) |
move portal-gui/scripts to rpkid/rpkid/gui/scripts
svn path=/portal-gui/Makefile.in; revision=3657
Diffstat (limited to 'portal-gui/scripts/adduser.py')
-rw-r--r-- | portal-gui/scripts/adduser.py | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/portal-gui/scripts/adduser.py b/portal-gui/scripts/adduser.py deleted file mode 100644 index 20b395ea..00000000 --- a/portal-gui/scripts/adduser.py +++ /dev/null @@ -1,117 +0,0 @@ -#!@PYTHON@ -# -# $Id$ -# -# Copyright (C) 2010, 2011 SPARTA, Inc. dba Cobham Analytic Solutions -# -# Permission to use, copy, modify, and distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND SPARTA DISCLAIMS ALL WARRANTIES WITH -# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS. IN NO EVENT SHALL SPARTA BE LIABLE FOR ANY SPECIAL, DIRECT, -# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -# PERFORMANCE OF THIS SOFTWARE. -# -# -# Helper script to quickly set up a new portal-gui user/handle. This script -# is designed to be safe to run multiple times for the same user. -# -# DO NOT EDIT! This script is automatically generated from adduser.py - -import os -os.environ['DJANGO_SETTINGS_MODULE'] = 'rpki.gui.settings' - -from django.contrib.auth.models import User -from django.conf import settings -from rpki.gui.app.models import Conf - -# The username that apache runs as. This is required so that we can chown -# the csv files that the portal-gui needs to write. -WEB_USER='@WEBUSER@' - -import os -import sys -import getpass -import pwd - -web_uid = pwd.getpwnam(WEB_USER)[2] - -if __name__ == '__main__': - if len(sys.argv) < 3: - print >>sys.stderr, 'usage: adduser <username> <user\'s email> <host handle>' - sys.exit(1) - - if os.getuid() != 0: - print >>sys.stderr, 'error: this script must be run as root so it can set file permissions.' - sys.exit(1) - - username = sys.argv[1] - email = sys.argv[2] - host = sys.argv[3] - print 'username=', username, 'email=', email, 'host=', host - - user_set = User.objects.filter(username=username) - if user_set: - print >>sys.stderr, 'user already exists' - user = user_set[0] - else: - print >>sys.stderr, 'creating user' - password = getpass.getpass() - user = User.objects.create_user(username, email, password) - - conf_set = Conf.objects.filter(handle=username) - if conf_set: - conf = conf_set[0] - else: - print >>sys.stderr, 'creating conf' - conf = Conf.objects.create(handle=username) - - # always try to add the user as owner just in case the Conf object was - # created previously by the "list_resources" script - conf.owner.add(user) - - if host != username: - host_set = Conf.objects.filter(handle=host) - if not host_set: - print >>sys.stderr, 'error: Conf object for host %s does not exist!' % host - sys.exit(1) - - conf.host = host_set[0] - else: - print >>sys.stderr, '%s is self-hosted' % username - conf.save() - - myrpki_dir = '%s/%s' % (settings.CONFDIR, username) - print 'myrpki_dir=', myrpki_dir - if not os.path.exists(myrpki_dir): - print 'creating ', myrpki_dir - os.mkdir(myrpki_dir) - os.chown(myrpki_dir, web_uid, -1) - - # create enought of rpki.conf enough to fool portal-gui - myrpki_conf = myrpki_dir + '/rpki.conf' - if not os.path.exists(myrpki_conf): - print 'creating ', myrpki_conf - with open(myrpki_conf, 'w') as f: - print >>f, """[myrpki] -run_rpkidemo=true -run_rpkid=false -asn_csv=%(path)s/asns.csv -roa_csv=%(path)s/roas.csv -prefix_csv=%(path)s/prefixes.csv""" % { 'path': myrpki_dir } - - # create empty csv files so portal-gui doesn't barf - for base in ['roas', 'asns', 'prefixes']: - fname = '%s/%s.csv' % (myrpki_dir, base) - if not os.path.exists(fname): - print 'creating ', fname - with open(fname, 'w') as f: - # just create an empty file - pass - os.chown(fname, web_uid, -1) - -# vim:sw=4 ts=8 |