25 lines
907 B
Python
Executable File
25 lines
907 B
Python
Executable File
#!/usr/bin/python
|
|
|
|
import os, syslog
|
|
from subprocess import Popen, PIPE, STDOUT
|
|
from ceo.ops import get_ceo_user, check_group
|
|
|
|
def main():
|
|
remote_user = get_ceo_user()
|
|
user_to_add = raw_input()
|
|
|
|
if remote_user == user_to_add or check_group(remote_user, 'office') or check_group(remote_user, 'syscom'):
|
|
mailman = Popen(["/var/lib/vmailman/csclub/bin/add_members", "-r", "-", "csc-general"],
|
|
stdin=PIPE, stdout=PIPE, stderr=STDOUT)
|
|
out, err = mailman.communicate("%s@csclub.uwaterloo.ca\n" % user_to_add)
|
|
syslog.syslog(syslog.LOG_INFO, out)
|
|
print out
|
|
else:
|
|
message = "Access denied: user '%s' cannot subscribe users to csc-general" % remote_user
|
|
syslog.syslog(syslog.LOG_NOTICE, message)
|
|
print message
|
|
|
|
if __name__ == '__main__':
|
|
syslog.openlog('op-mailman', syslog.LOG_PID, syslog.LOG_DAEMON)
|
|
main()
|