]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/conf/opers.conf.example
Merge insp20
[user/henk/code/inspircd.git] / docs / conf / opers.conf.example
1 #-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
2 #                                                                     #
3 #   Classes are a group of commands which are grouped together and    #
4 #   given a unique name. They're used to define which commands        #
5 #   are available to certain types of Operators.                      #
6 #                                                                     #
7 #                                                                     #
8 #  Note: It is possible to make a class which covers all available    #
9 #  commands. To do this, specify commands="*". This is not really     #
10 #  recommended, as it negates the whole purpose of the class system,  #
11 #  however it is provided for fast configuration (e.g. in test nets). #
12 #                                                                     #
13
14 <class
15      name="Shutdown"
16
17      # commands: Oper-only commands that opers of this class can run.
18      commands="DIE RESTART REHASH LOADMODULE UNLOADMODULE RELOADMODULE GUNLOADMODULE GRELOADMODULE"
19
20      # privs: Special privileges that users with this class may utilise.
21      #  VIEWING:
22      #   - channels/auspex: allows opers with this priv to see more detail about channels than normal users.
23      #   - users/auspex: allows opers with this priv to view more details about users than normal users, e.g. real host and IP.
24      #   - servers/auspex: allows opers with this priv to see more detail about server information than normal users.
25      # ACTIONS:
26      #   - users/mass-message: allows opers with this priv to PRIVMSG and NOTICE to a server mask (e.g. NOTICE $*)
27      #   - users/samode-usermodes: allows opers with this priv to change the user modes of any other user using /SAMODE
28      #   - channels/high-join-limit: allows opers with this priv to join <channels:opers> total channels instead of <channels:users> total channels.
29      # PERMISSIONS:
30      #   - users/flood/no-fakelag: prevents opers from being penalized with fake lag for flooding (*NOTE)
31      #   - users/flood/no-throttle: allows opers with this priv to send commands without being throttled (*NOTE)
32      #   - users/flood/increased-buffers: allows opers with this priv to send and receive data without worrying about being disconnected for exceeding limits (*NOTE)
33      #
34      # *NOTE: These privs are potentially dangerous, as they grant users with them the ability to hammer your server's CPU/RAM as much as they want, essentially.
35      privs="users/auspex channels/auspex servers/auspex users/mass-message channels/high-join-limit users/flood/no-throttle users/flood/increased-buffers"
36
37      # usermodes: Oper-only usermodes that opers with this class can use.
38      usermodes="*"
39
40      # chanmodes: Oper-only channel modes that opers with this class can use.
41      chanmodes="*">
42
43 <class name="SACommands" commands="SAJOIN SAPART SANICK SAQUIT SATOPIC SAKICK SAMODE">
44 <class name="ServerLink" commands="CONNECT SQUIT RCONNECT RSQUIT MKPASSWD ALLTIME SWHOIS JUMPSERVER LOCKSERV UNLOCKSERV" usermodes="*" chanmodes="*" privs="servers/auspex">
45 <class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE TLINE RLINE CHECK NICKLOCK NICKUNLOCK SHUN CLONES CBAN CLOSE" usermodes="*" chanmodes="*">
46 <class name="OperChat" commands="WALLOPS GLOBOPS" usermodes="*" chanmodes="*" privs="users/mass-message">
47 <class name="HostCloak" commands="SETHOST SETIDENT CHGNAME CHGHOST CHGIDENT SETIDLE" usermodes="*" chanmodes="*" privs="users/auspex">
48
49
50 #-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#
51 #                                                                     #
52 #   This is where you specify which types of operators you have on    #
53 #   your server, as well as the commands they are allowed to use.     #
54 #   This works alongside with the classes specified above.            #
55 #                                                                     #
56
57 <type
58     # name: Name of type. Used in actual server operator accounts below.
59     name="NetAdmin"
60
61     # classes: Classes (blocks above) that this type belongs to.
62     classes="SACommands OperChat BanControl HostCloak Shutdown ServerLink"
63
64     # vhost: Host opers of this type get when they log in (oper up). This is optional.
65     vhost="netadmin.omega.example.org"
66
67     # modes: User modes besides +o that are set on an oper of this type
68     # when they oper up. Used for snomasks and other things.
69     # Requires that m_opermodes.so be loaded.
70     modes="+s +cCqQ">
71
72 <type name="GlobalOp" classes="SACommands OperChat BanControl HostCloak ServerLink" vhost="ircop.omega.example.org">
73 <type name="Helper" classes="HostCloak" vhost="helper.omega.example.org">
74
75
76 #-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
77 #                                                                     #
78 #   Opers are defined here. This is a very important section.         #
79 #   Remember to only make operators out of trustworthy people.        #
80 #                                                                     #
81
82 # Operator account with a plain-text password.
83 <oper
84       # name: Oper login that is used to oper up (/oper name password).
85       # Remember: This is case sensitive.
86       name="Attila"
87
88       # password: Case-sensitive, unhashed (plaintext).
89       password="s3cret"
90
91       # host: What hostnames and IPs are allowed to use this operator account.
92       # Multiple options can be separated by spaces and CIDRs are allowed.
93       # You can use just * or *@* for this section, but it is not recommended
94       # for security reasons.
95       host="attila@inspircd.org *@2001:db8::/32"
96
97       # ** ADVANCED ** This option is disabled by default.
98       # fingerprint: When using the m_sslinfo module, you may specify
99       # a key fingerprint here. This can be obtained by using the /sslinfo
100       # command while the module is loaded, and is also noticed on connect.
101       # This enhances security by verifying that the person opering up has
102       # a matching SSL client certificate, which is very difficult to
103       # forge (impossible unless preimage attacks on the hash exist).
104       # If m_sslinfo isn't loaded, this option will be ignored.
105       #fingerprint="67cb9dc013248a829bb2171ed11becd4"
106
107       # autologin: If an SSL fingerprint for this oper is specified, you can
108       # have the oper block automatically log in. This moves all security of the
109       # oper block to the protection of the client certificate, so be sure that
110       # the private key is well-protected! Requires m_sslinfo.
111       #autologin="on"
112
113       # sslonly: If on, this oper can only oper up if they're using a SSL connection.
114       # Setting this option adds a decent bit of security. Highly recommended
115       # if the oper is on wifi, or specifically, unsecured wifi. Note that it
116       # is redundant to specify this option if you specify a fingerprint.
117       # This setting only takes effect if m_sslinfo is loaded.
118       #sslonly="yes"
119
120       # vhost: Overrides the vhost in the type block. Class and modes may also
121       # be overridden.
122       vhost="attila.example.org"
123
124       # type: Which type of operator this person is; see the block
125       # above for the list of types. NOTE: This is case-sensitive as well.
126       type="NetAdmin">
127
128 # Operator with a plaintext password and no comments, for easy copy & paste.
129 <oper
130       name="Brain"
131       password="s3cret"
132       host="brain@dialup15.isp.com *@localhost *@example.com *@2001:db8::/32"
133       #fingerprint="67cb9dc013248a829bb2171ed11becd4"
134       type="NetAdmin">
135
136 # Operator with a hashed password. It is highly recommended to use hashed passwords.
137 <oper
138       # name: Oper login that is used to oper up (/oper name password).
139       # Remember: This is case sensitive.
140       name="Adam"
141
142       # hash: What hash this password is hashed with.
143       # Requires the module for selected hash (m_md5.so, m_sha256.so
144       # or m_ripemd160.so) be loaded and the password hashing module
145       # (m_password_hash.so) loaded.
146       # Options here are: "md5", "sha256" and "ripemd160", or one of
147       # these prefixed with "hmac-", e.g.: "hmac-sha256".
148       # Create hashed passwords with: /mkpasswd <hash> <password>
149       hash="hmac-sha256"
150
151       # password: A hash of the password (see above option) hashed
152       # with /mkpasswd <hash> <password>. See m_password_hash in modules.conf
153       # for more information about password hashing.
154       password="qQmv3LcF$Qh63wzmtUqWp9OXnLwe7yv1GcBwHpq59k2a0UrY8xe0"
155
156       # host: What hostnames and IPs are allowed to use this operator account.
157       # Multiple options can be separated by spaces and CIDRs are allowed.
158       # You can use just * or *@* for this section, but it is not recommended
159       # for security reasons.
160       host="*@127.0.0.1 *@192.0.2.40 *@198.51.100.4"
161
162       # type: Which type of operator this person is; see the block
163       # above for the list of types. NOTE: This is case-sensitive as well.
164       type="Helper">