project_permissions.py (AEN 4.0)

project_permissions.py

#!/usr/bin/env python

import argparse
import os
import pwd
from os.path import join
import subprocess

def parser():
  p = argparse.ArgumentParser()
  p.add_argument("project_directory")
  return p

def run(project_directory):
  #this will be something like /projects/<username>
  project_dirs = os.listdir(project_directory)
  for dirname in project_dirs:
      print dirname
      path = join(project_directory, dirname)
      owner = pwd.getpwuid(os.stat(path).st_uid).pw_name
      subprocess.check_output(['chown', '-R', '%s:%s' % (owner, owner), path])
      subprocess.check_output(['chmod', '-R', 'g-s', path])
subprocess.check_output(['chown', '-R', 'wakari:wakari', '/opt/wakari/anaconda'])
subprocess.check_output(['chmod', '-R', 'a+r', '/opt/wakari/anaconda'])
subprocess.check_output(['chmod', '-R', 'o-w', '/opt/wakari/anaconda'])

if __name__ == "__main__":
  p = parser()
  args = p.parse_args()
  run(args.project_directory)