Sorry, I didn't include our IRCd is Inspircd v1.1 and Anope v1.7.21 but we're going to update to 1.8 soon. If anyone knows of a module that already exists please point in the right direction, thanks.
Also I tried Os_Access_Levels, the module loads fine but as soon as an SA tries to use one of the commands services as as seg fault and crashes.
(12:26pm) (Global) OperServ: (USERNAME): reload
(12:26pm) (Global) Every UserKey must be different. It's for YOUR safety! Remember that!
(12:26pm) (Global) PANIC! buffer = :(USERNAME) PRIVMSG OperServ :reload
(12:26pm) (Global) Backtrace: Segmentation fault detected
(12:26pm) (Global) Backtrace: report the following lines
(12:26pm) (Global) Backtrace: Anope version 1.7.21 (1341) build #1, compiled Dec 5 2008 20:44:23 QM
(12:26pm) (Global) Backtrace(0): ./services(do_backtrace+0x51) [0x8070024]
(12:26pm) (Global) Backtrace(1): ./services(sighandler+0x110) [0x80701a4]
(12:26pm) (Global) Backtrace(2): /lib/tls/libc.so.6 [0xb7bce908]
(12:26pm) (Global) Backtrace(3): ./services(moduleGetConfigDirective+0x134) [0x8076f47]
(12:26pm) (Global) Backtrace(4): /home/ircd/services/modules/runtime/os_access_levels.so.r7OFYA(load_config+0x5e) [0xb7988b96]
(12:26pm) (Global) Backtrace(5): /home/ircd/services/modules/runtime/os_access_levels.so.r7OFYA(do_reload+0x17) [0xb7988bc2]
(12:26pm) (Global) Backtrace(6): ./services(event_process_hook+0x52) [0x806878d]
(12:26pm) (Global) Backtrace(7): ./services(send_event+0x5f) [0x8068846]
(12:26pm) (Global) Backtrace(
: /home/ircd/services/modules/runtime/os_reload.so.biEwuR(do_reload+0x44) [0xb79faaf9]
(12:26pm) (Global) Backtrace(9): ./services(do_run_cmd+0xee) [0x8064dbb]
(12:26pm) (Global) Backtrace: complete
(12:26pm) (Global) Services terminating: Segmentation fault
(12:26pm) (Quit) Chat (
Chat@ChatCop.Security) (netsplit)
(12:26pm) (Quit) juggalo (juggalo@****.com) (netsplit)
(12:26pm) (Quit) MemoServ (services@****.com) (netsplit)
(12:26pm) (Quit) OperServ (services@****.com) (netsplit)
(12:26pm) (Quit) devnull (
rmrf@shawndaddy.com) (netsplit)
(12:26pm) (Quit) ChanServ (services@****.com) (netsplit)
(12:26pm) (Quit) X (
X@Nexus.Bot) (netsplit)
(12:26pm) (Quit) GRUNT (Bot@****.Bot) (netsplit)
(12:26pm) (Quit) FunkMasterFlex (
Funk@Master.Flex) (netsplit)
(12:26pm) (Quit) BarSlave (
Serving@LoveCircle.All.Night.Long) (netsplit)
(12:26pm) (Quit) johnnyWIFFY (
randy@mid.way) (netsplit)
(12:26pm) (Quit) pimp (pimp@****.com) (netsplit)
(12:26pm) (Quit) Routing (routing@****.com) (netsplit)
(12:26pm) (Quit) WeezyFBaby (necro@bot.****.com) (netsplit)
(12:26pm) (Quit) Global (services@****.com) (netsplit)
(12:26pm) (Quit) MaryJane (MaryJane@****.com) (netsplit)
(12:26pm) (Quit) HelpServ (services@****.com) (netsplit)
(12:26pm) (Quit) Artoo (Artoo@****.bot) (netsplit)
(12:26pm) (Quit) BotServ (services@****.com) (netsplit)
(12:26pm) (Quit) Nexus (
Nexus@Nexus.Bot) (netsplit)
(12:26pm) (Quit) HostServ (services@****.com) (netsplit)
(12:26pm) (Quit) NickServ (services@****.com) (netsplit)
(12:26pm) (Quit) sled-necks (
sledders@sled.necks) (netsplit)
(12:26pm) (Quit) Bartender (
mo@what.will.you.be.having.org) (netsplit)