]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/conf/opers.conf.example
Update copyright headers.
[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 GLOADMODULE 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 details 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      #   - users/channel-spy: allows opers with this priv to view the private/secret channels that a user is on.
25      #   - servers/auspex: allows opers with this priv to see more details about server information than normal users.
26      #  ACTIONS:
27      #   - users/mass-message: allows opers with this priv to PRIVMSG and NOTICE to a server mask (e.g. NOTICE $*).
28      #   - users/samode-usermodes: allows opers with this priv to change the user modes of any other user using /SAMODE.
29      #  PERMISSIONS:
30      #   - channels/ignore-noctcp: allows opers with this priv to send a CTCP to a +C channel.
31      #   - channels/ignore-nonicks: allows opers with this priv to change their nick when on a +N channel.
32      #   - channels/restricted-create: allows opers with this priv to create channels if the restrictchans module is loaded.
33      #   - users/flood/increased-buffers: allows opers with this priv to send and receive data without worrying about being disconnected for exceeding limits (*NOTE).
34      #   - users/flood/no-fakelag: prevents opers from being penalized with fake lag for flooding (*NOTE).
35      #   - users/flood/no-throttle: allows opers with this priv to send commands without being throttled (*NOTE).
36      #   - users/ignore-callerid: allows opers with this priv to message people using callerid without being on their callerid list.
37      #   - users/ignore-commonchans: allows opers with this priv to send a message to a +c user without sharing common channels.
38      #   - users/ignore-noctcp: allows opers with this priv to send a CTCP to a +T user.
39      #   - users/ignore-privdeaf: allows opers with this priv to message users with +D set.
40      #   - users/sajoin-others: allows opers with this priv to /SAJOIN users other than themselves.
41      #   - servers/ignore-shun: allows opers with this priv to ignore shuns.
42      #   - servers/use-disabled-commands: allows opers with this priv to use disabled commands.
43      #   - servers/use-disabled-modes: allows opers with this priv to use disabled modes.
44      #
45      # *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.
46      privs="users/auspex channels/auspex servers/auspex users/mass-message users/flood/no-throttle users/flood/increased-buffers"
47
48      # usermodes: Oper-only user modes that opers with this class can use.
49      usermodes="*"
50
51      # chanmodes: Oper-only channel modes that opers with this class can use.
52      chanmodes="*"
53
54      # snomasks: The snomasks that opers with this class can use.
55      snomasks="*">
56
57 <class name="SACommands" commands="SAJOIN SAPART SANICK SAQUIT SATOPIC SAKICK SAMODE OJOIN">
58 <class name="ServerLink" commands="CONNECT SQUIT RCONNECT RSQUIT MKPASSWD ALLTIME SWHOIS LOCKSERV UNLOCKSERV" usermodes="*" chanmodes="*" privs="servers/auspex" snomasks="Cc">
59 <class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE ELINE TLINE RLINE CHECK NICKLOCK NICKUNLOCK SHUN CLONES CBAN" usermodes="*" chanmodes="*" snomasks="Xx">
60 <class name="OperChat" commands="WALLOPS GLOBOPS" usermodes="*" chanmodes="*" privs="users/mass-message" snomasks="Gg">
61 <class name="HostCloak" commands="SETHOST SETIDENT SETIDLE CHGNAME CHGHOST CHGIDENT" usermodes="*" chanmodes="*" privs="users/auspex">
62
63
64 #-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#
65 #                                                                     #
66 #   This is where you specify which types of operators you have on    #
67 #   your server, as well as the commands they are allowed to use.     #
68 #   This works alongside with the classes specified above.            #
69 #                                                                     #
70
71 <type
72     # name: Name of the type. Used in actual server operator accounts below.
73     name="NetAdmin"
74
75     # classes: Classes (blocks above) that this type belongs to.
76     classes="SACommands OperChat BanControl HostCloak Shutdown ServerLink"
77
78     # vhost: Host that opers of this type get when they log in (oper up). This is optional.
79     vhost="netadmin.omega.example.org"
80
81     # maxchans: Maximum number of channels opers of this type can be in at once.
82     maxchans="60"
83
84     # modes: User modes besides +o that are set on an oper of this type
85     # when they oper up. Used for snomasks and other things.
86     # Requires the opermodes module to be loaded.
87     modes="+s +cCqQ">
88
89 <type name="GlobalOp" classes="SACommands OperChat BanControl HostCloak ServerLink" vhost="serverop.omega.example.org">
90 <type name="Helper" classes="HostCloak" vhost="helper.omega.example.org">
91
92
93 #-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
94 #                                                                     #
95 #   Opers are defined here. This is a very important section.         #
96 #   Remember to only make operators out of trustworthy people.        #
97 #                                                                     #
98
99 # Operator account with a plaintext password.
100 <oper
101       # name: Oper login that is used to oper up (/OPER <username> <password>).
102       # Remember: This is case sensitive.
103       name="Attila"
104
105       # password: Case-sensitive, unhashed (plaintext).
106       password="s3cret"
107
108       # host: What hostnames and IPs are allowed to use this operator account.
109       # Multiple options can be separated by spaces and CIDRs are allowed.
110       # You can use just * or *@* for this section, but it is not recommended
111       # for security reasons.
112       host="attila@inspircd.org *@2001:db8::/32"
113
114       # ** ADVANCED ** This option is disabled by default.
115       # fingerprint: When using the sslinfo module, you may specify a space separated
116       # list of TLS (SSL) client certificate fingerprints here. These can be obtained by using
117       # the /SSLINFO command while the module is loaded, and is also noticed on connect.
118       # This enhances security by verifying that the person opering up has
119       # a matching TLS (SSL) client certificate, which is very difficult to
120       # forge (impossible unless preimage attacks on the hash exist).
121       # If the sslinfo module isn't loaded, this option will be ignored.
122       #fingerprint="67cb9dc013248a829bb2171ed11becd4"
123
124       # autologin: If a TLS (SSL) client certificate fingerprint for this oper is specified,
125       # you can have the oper block automatically log in. This moves all security
126       # of the oper block to the protection of the TLS (SSL) client certificate, so be sure
127       # that the private key is well-protected! Requires the sslinfo module.
128       #autologin="yes"
129
130       # sslonly: If enabled, this oper can only oper up if they're using a TLS (SSL) connection.
131       # Setting this option adds a decent bit of security. Highly recommended
132       # if the oper is on wifi, or specifically, unsecured wifi. Note that it
133       # is redundant to specify this option if you specify a fingerprint.
134       # This setting only takes effect if the sslinfo module is loaded.
135       #sslonly="yes"
136
137       # vhost: Overrides the vhost in the type block. Class and modes may also
138       # be overridden.
139       vhost="attila.example.org"
140
141       # type: Which type of operator this person is; see the block
142       # above for the list of types. NOTE: This is case-sensitive as well.
143       type="NetAdmin">
144
145 # Operator with a plaintext password and no comments, for easy copy & paste.
146 <oper
147       name="Brain"
148       password="youshouldhashthis"
149       host="brain@dialup15.isp.test.com *@localhost *@example.com *@2001:db8::/32"
150       #fingerprint="67cb9dc013248a829bb2171ed11becd4"
151       type="NetAdmin">
152
153 # Operator with a hashed password. It is highly recommended to use hashed passwords.
154 <oper
155       # name: Oper login that is used to oper up (/OPER <username> <password>).
156       # Remember: This is case sensitive.
157       name="Adam"
158
159       # hash: The hash function this password is hashed with. Requires the
160       # module for the selected function (bcrypt, md5, sha1, or sha256) and
161       # the password hashing module (password_hash) to be loaded.
162       #
163       # You may also use any of the above other than bcrypt prefixed with
164       # either "hmac-" or "pbkdf2-hmac-" (requires the pbkdf2 module).
165       # Create hashed passwords with: /MKPASSWD <hashtype> <plaintext>.
166       hash="bcrypt"
167
168       # password: A hash of the password (see above option) hashed
169       # with /MKPASSWD <hashtype> <plaintext>. See the password_hash module
170       # in modules.conf for more information about password hashing.
171       password="qQmv3LcF$Qh63wzmtUqWp9OXnLwe7yv1GcBwHpq59k2a0UrY8xe0"
172
173       # host: What hostnames and IPs are allowed to use this operator account.
174       # Multiple options can be separated by spaces and CIDRs are allowed.
175       # You can use just * or *@* for this section, but it is not recommended
176       # for security reasons.
177       host="*@127.0.0.1 *@192.0.2.40 *@198.51.100.4"
178
179       # type: Which type of operator this person is; see the block
180       # above for the list of types. NOTE: This is case-sensitive as well.
181       type="Helper">
182
183 # Once you have edited this file you can remove this line. This is just to
184 # ensure that you don't hastily include the file without reading it.
185 <die reason="Using opers.conf.example without editing it is a security risk">