An IRC operator (often abbreviated as IRCop or oper) is a user on an Internet Relay Chat network who has privileged access. IRC operators are charged with the task of enforcing the network's rules, and in many cases, improving the network in various areas. The permissions available to an IRC operator vary according to the server software in use, and the server's configuration.
IRC operators are divided into local and global operators. The former are limited to the server(s) they have specific access to; however, global operators can perform actions affecting all users on the network. In order to perform their duties, IRC operators usually have the ability to:
- Forcibly disconnect users (Kill)
- Ban (K-line or G-line) users
- Change network routing by disconnecting (squitting) or connecting servers
Traditionally, a list of operators on a particular server is available in the MOTD, or through the /stats o [servername] command. A user can become an operator by sending the command /oper to the IRC server he or she currently is on using a pre-selected username and a password as parameters. The command only works for the server which has the proper O-line in its IRCd configuration file. The IP address that the user is opering from may also have to match a predefined one, as an extra layer of security to prevent unauthorized users opering if they have cracked the operator's password.
In many IRC networks, IRCops have different types of access on a network. These ranks often depend upon the IRCd software used, though a few specific access levels remain fairly constant throughout variations:
The Local Operator (LocOp) is the lowest in Operator access levels. The LocOp has a minimal control on one server out of a network, and usually has the ability to kill (disconnect) people from the server or perform local K-lines (server ban).
The Global Operator (GlobOp) is similar to the LocOp, and has control over the entire network of servers, as opposed to a single server. GlobOps may perform G-lines or AKills (network-wide bans) and Shun (forcibly mute) users over an entire network.
Commonly abbreviated as SA, This admin type has access to almost all commands on an IRC network. Usually, an SA has the ability to use the /sa* commands. The /sa* commands will set channelmodes via the server itself, making it impossible for normal users to see who changed the modes.
The Network Administrator (NetAdmin) has the highest level of access on a network. In most cases, the founder of the network is the netadmin. Networks may, however, have multiple netadmins - especially networks with large populations.
An IRCop with enough privileges, may give a ban to unwanted users. The ban types are listed below:
The K-line is a local server ban (specific to a single server, not the entire IRC network) that bans the offensive user's hostname.
The G-line (Global K-line) works exactly as the K-line, but is global. G-lines can expire, but in some cases they are permanent.
On IRCds such as UnrealIRCd, the Z-line is a "powerful" ban, it is performed on IP address instead of the hostmask, making sure that users from that IP address will not join. Z-lines could expire, but in some cases it is permanent.
Some IRCds support the GZ-line (Global Z-line). It is exactly as the Z-line itself, but it's global, and network-wide. UnrealIRCd has GZ-line support. The GZ-line is an effective way of blocking static IP users, and keeping them out.
On other IRCds, such as Charybdis<ref>http://www.stack.nl/~jilles/irc/charybdis-oper-guide/usercommands.htm#AEN729</ref>, a D-line replaces a Z-line. It is called a D-line because it "denies" the IP address from connecting. Charybdis does not have support for a Z-line or a GZ-line. By using its "cluster" configuration feature, D-lines can be synchronized between servers, providing a type of 'GZ-line'. This enables for very nice big network support since the administrator of one server may want to allow certain servers they trust to synchronize D-lines and K-lines, but not allow others.