Oper Flags and Commands

These are old archives. They are kept for historic purposes only.
w00t
Posts: 1136
Joined: Thu Mar 25, 2004 3:31 am
Location: Nowra, Australia

Oper Flags and Commands

Post by w00t »

What is the point of flags +kK etc when merely by having +O or o etc etc you automatically get +kK?

And then, how do you say, give someone helpop, but deny them the ability to kill?

I understand trust should be enough, but the system just doesnt make sense...
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

locops do NOT get the K flag. The documentation makes that quite clear. It says you get can_localkill (k) not can_globalkill (K).
-- codemastr
w00t
Posts: 1136
Joined: Thu Mar 25, 2004 3:31 am
Location: Nowra, Australia

Post by w00t »

Whoa there.

Ok, since we have one server... that distinction escaped me.

but anyhow. The point remains, how can you remove such flags from an oper?
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

You can't, no one every claimed that you could. It is there so you can GIVE global kill access to a local oper.
-- codemastr
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

Well, the ability to "deny" certain flags (even if they are included in another oper flag) would be nice to allow extra customization for the oper perms. For example, say you wanted an oper that could join +O channels, but couldn't /kill or /kline? The only way to allow them into +O is to give them local or global flag, which gives them /kill|/*line privileges, which isn't what you want (and I don't think there is still anyway to override +O short of SVSJOIN/SAJOIN). What to do?
w00t
Posts: 1136
Joined: Thu Mar 25, 2004 3:31 am
Location: Nowra, Australia

Post by w00t »

Yes, exceedingly useful. However, would it be possible is another question. I have no idea how oper perms are applied, whether its just on oper-up or what, so who knows.

Another example would be to, say, declare "classes" of opers. So there could be a "helper" class that could chghost, sethost, chgname, setname, chgident, setident, dccdeny... etc but NOT kill (therefore allowing those with knowledge to do stuff, but NOT be tempted)
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

w00t wrote:...declare "classes" of opers...
Uh... that'd probably require a completely different oper system than what they use now. I wouldn't put bets on that 'til the next release at the earliest.
w00t
Posts: 1136
Joined: Thu Mar 25, 2004 3:31 am
Location: Nowra, Australia

Post by w00t »

True, but a basic form is more possible... just sorta seeing if in the oper block it said flags "+ohHW-kK"; or something, NOT allowing them to kill.

Of course, I am no expert on Unreal internals, but it shouldnt be too hard..? (I'm not expecting this for a while, just throwing an idea around anyhow)
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

What would be the point of an oper that can't kill?
-- codemastr
jewles
Posts: 263
Joined: Thu Mar 11, 2004 7:41 pm
Location: Herndon, VA

Post by jewles »

LoL.... sorta like just having the cool whois tag "... is an irc operator"

what is should say....

".... is an irc operator that can't do shit"

seriously thou, some people should consider thinking about what they are about to post before they do....

What I'd be impressed to see is a new operator system.... in which lower "class" operators can't kill higher ones.... for example: your typical local oper without the ability to kill an global oper, co-server admin not being able to kill a admin... and so on and so forth... :)
FBSD-DEV Project
http://www.fbsd-dev.org

YatesDev Hosting
http://www.yatesdev.com

The Wrong Way
http://www.thewrongway.net
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

Why should such a system exist? If I tell you "you are not allowed to /kill admins," and you do anyway, then you shouldn't be an oper anymore! If opers don't follow the rules, they are not good opers. I don't quite see why we should spend our time coding a system that really shouldn't be necessary. Opers need to follow the rules, simple as that. I mean what's next? "Operoverride will not let you kick, -vhoaq, or +b someone who is a higher oper level than they are"? If your opers don't listen to you when you tell them not to /kill someone, then they are the ones that need to be /killed.
-- codemastr
jewles
Posts: 263
Joined: Thu Mar 11, 2004 7:41 pm
Location: Herndon, VA

Post by jewles »

LoL @ codemastr :)


Guess microsoft has spoild me... I'm used to the ability to limit everyone and everything at any time....

But.... I was just saying why should a local administrator have the ability to kill a network administrator? and why should a global administrator have the ability to kill a services administrator... Out side of that, sure... you can remove the oper.... but it's still temptation exist.... who knows, maybe there would be better operators out there if they weren't tempted to kill other opers! :) Okay I'm done with my ..... rants....

:twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted: :twisted:
FBSD-DEV Project
http://www.fbsd-dev.org

YatesDev Hosting
http://www.yatesdev.com

The Wrong Way
http://www.thewrongway.net
codemastr
Former UnrealIRCd head coder
Posts: 811
Joined: Sat Mar 06, 2004 8:47 pm
Location: United States
Contact:

Post by codemastr »

Well for a few reasons that I can think of.
1.) The more checks we add, the slower it becomes (more code needs to be executed).

2.) It allows you to weed out bad opers. If an oper does /kill a netadmin, you know to remove him. It allows you to see whether that "temptation" will lead that oper to be abusive, and to stop him before he has the chance.

3.) MIT once conducted a little example of this. I wish I could remember which book I read it in so I could give exact numbers. Back when the first MIT timesharing machine came online it had a command to shutdown the entire machine. Any user could use this command. But, when logging in, it gave you a warning that read something like "do not use the shutdown command." Over the years, people only used the command 3-4 times. Now, when MIT later switched over to a "secure" shutdown command, hackers began finding exploits to shut it down causing the server to be shutdown several hundred times. In essence, people found it more tempting when there was security than when there wasn't.
-- codemastr
aquanight
Official supporter
Posts: 862
Joined: Tue Mar 09, 2004 10:47 pm
Location: Boise, ID

Post by aquanight »

Well, the problem as it is now is that giving, for example, the local flag automatically gives the operator the ability to local kill, send/see locops and globops (though they should be only able to send locops), send wallops, and use /connect, /squit, /kill, /kline, and /notice $. However, the admin might not want his local operators to use routing commands (for example, you might have services directly linked). Oh sure you can say, "don't use /connect or /squit or your o-line is gone," but there's a chance that some oper is still going to do it. And if, for example, he does /squit the services, it would be a pain to get it relinked (especially if no available admins have shell access to the services host, and let's assume that the services host admin doesn't want to/forgot to/can't set up a crontab). The admin(s) might not even want the possibility to exist, and the easiest way to do that is to not give them the routing privilege, but since it comes package-deal with the local flag, what can he do, besides just not give them the local flag, which he might want to give them?

The way I see it, being able to "remove" flags lets the admins better customize the operator hierarchy that they use on their network. For example, there can be "helpers" (helpop, maybe a few extra privs), "enforcers" (local minus routing), local opers, global enforcers (global minus routing), global opers, etc. They can use the SWhoIs to indicate the real level the oper has.
w00t
Posts: 1136
Joined: Thu Mar 25, 2004 3:31 am
Location: Nowra, Australia

Post by w00t »

Thanks aquanight, this is exactly what I would say if I could organise my thoughts to that point. Just look at some of the larger networks, they for example have operators with different charters. Enforcers, helpers, and routing team etc.

Why should these people have the ability to do things that they shouldnt?

Naturally codemastr, you also forget the element of curiosity-- "dont /squit services.netronet.org" "gee I wonder what happens if..."

People learn, but why should they have the ability to squit, etc unless they know/are charged to use it.

Emotion is another thing, someone could get worked up and split a net in two! Normally they might not do such a thing, but they may have had a bad day.

What I am saying is that there are reasons, both for and against.
-ChatSpike IRC Network [http://www.chatspike.net]
-Denora Stats [http://denora.nomadirc.net]
-Omerta [http://www.barafranca.com]
Post Reply