7.1 KiB
PyLink Permissions Reference
Below is a list of all the permissions defined by PyLink and its official plugins. For instructions on how to fine-tune permissions, see example-permissions.yml.
PyLink Core
core.clearqueue- Allows access to theclearqueuecommand.core.shutdown- Allows access to theshutdowncommand.core.load- Allows access to theloadcommand.core.unload- Allows access to theunloadcommand.core.reload- Allows access to thereload,load, andunloadcommands. (This implies access toloadandunloadbecausereloadis really just those two commands combined.)core.rehash- Allows access to therehashcommand.
Automode
By default, Automode integrates with Relay by only allowing access lists to be created / manipulated on channels that are owned by a network via Relay.
automode.manageORautomode.manage.*: ability to manage Automode (usesetaccanddelacc) on all channels on the network where the user is connected.automode.manage.relay_owned: ability to manage Automode on channels owned by the current network in Relay. If Relay isn’t loaded or the channel in question isn’t shared via Relay, this permission check FAILS. With the default permissions set, this is granted to all opers.automode.manage.#channel: ability to manage Automode on the specific given channel.automode.listORautomode.list.*: ability to list Automode on all channels. With the default permissions set, this is granted to all opers.automode.list.relay_owned: ability to list automode on channels owned via Relay. If Relay isn’t loaded or the channel in question isn’t shared via Relay, this permission check FAILS.automode.list.#channel: ability to list Automode access entries on the specific given channel.automode.syncORautomode.sync.*: ability to sync automode on all channels.automode.sync.relay_owned: ability to sync automode on channels owned via Relay. If Relay isn’t loaded or the channel in question isn’t shared via Relay, this permission check FAILS. With the default permissions set, this is granted to all opers.automode.sync.#channel: ability to sync automode on the specific given channel.automode.clearORautomode.clear.*: ability to clear automode on all channels.automode.clear.relay_owned: ability to clear automode on channels owned via Relay. If Relay isn’t loaded or the channel in question isn’t shared via Relay, this permission check FAILS.automode.clear.#channel: ability to clear automode on the specific given channel.automode.savedb: ability to save the automode DB.
Remote versions of the manage, list,
sync, and clear commands also exist for
cross-network manipulation
(e.g. automode.remotemanage.*)
Bots
bots.spawnclient- Allows access to thespawnclientcommand.bots.quit- Allows access to thequitcommand.bots.joinclient- Allows access to thejoinclientcommand.bots.nick- Allows access to thenickcommand.bots.part- Allows access to thepartcommand.bots.msg- Allows access to themsgcommand.
Changehost
changehost.applyhosts- Allows access to theapplyhostscommand.
Commands
commands.status- Allows access to thestatuscommand. With the default permissions set, this is granted to all users.commands.showuser- Allows access to theshowusercommand. With the default permissions set, this is granted to all users.commands.showchan- Allows access to theshowchancommand. With the default permissions set, this is granted to all users.commands.echo- Allows access to theechocommand.commands.logout.force- Allows forcing logouts on other users via thelogoutcommand.commands.loglevel- Allows access to theloglevelcommand.
Exec
exec.exec- Allows access to theexeccommand.exec.eval- Allows access to theevalcommand.exec.inject- Allows access to theinjectcommand.exec.threadinfo- Allows access to thethreadinfocommand.
Global
global.global- Allows access to theglobalcommand.
Networks
networks.disconnect- Allows access to thedisconnectcommand.networks.autoconnect- Allows access to theautoconnectcommand.networks.remote- Allows access to theremotecommand.networks.reloadproto- Allows access to thereloadprotocommand.
Opercmds
opercmds.checkban- Allows access to thecheckbancommand.opercmds.jupe- Allows access to thejupecommand.opercmds.kick- Allows access to thekickcommand.opercmds.kill- Allows access to thekillcommand.opercmds.mode- Allows access to themodecommand.opercmds.topic- Allows access to thetopiccommand.opercmds.chghost- Allows access to thechghostcommand.opercmds.chgident- Allows access to thechgidentcommand.opercmds.chgname- Allows access to thechgnamecommand.opercmds.checkban- Allows access to thecheckbancommand.opercmds.checkban.re- Allows access to thecheckbanrecommand if the caller also hasopercmds.checkban.opercmds.massban- Allows access to themassbancommand.opercmds.massban.re- Allows access to themassbanrecommand if the caller also hasopercmds.massban.
Raw
raw.raw- Allows access to therawcommand.exec.rawis equivalent to this and retained for compatibility with PyLink 1.x.raw.raw.unsupported_network- Allows use of therawcommand on servers other than Clientbot.
Relay
These permissions are granted to all opers when the
relay::allow_free_oper_links option is set (this is the
default):
relay.chandesc.remove- Allows removing channel descriptions via thechandesccommand.relay.chandesc.set- Allows setting / updating channel descriptions via thechandesccommand.relay.claim- Allows access to theclaimcommand.relay.create- Allows access to thecreatecommand.relay.delink- Allows access to thedelinkcommand.relay.destroy- Allows access to thedestroycommand.relay.link- Allows access to thelinkcommand.
These permissions are always granted to all opers: -
relay.linkacl - Allows managing LINKACL entries via the
linkacl command. - relay.linkacl.view - Allows
viewing LINKACL entries via the linkacl command.
These permissions are not granted to anyone by default: -
relay.destroy.remote - Allows destroying remote channels. -
relay.link.force_ts - Allows access to the
link command’s --force-ts option (skip TS and
target network is connected checks). - relay.linked -
Allows access to the link command. With the default
permissions set, this is granted to all users. -
relay.purge - Allows access to the purge
command. - relay.savedb - Allows access to the
savedb command.
Servermaps
servermaps.localmap- Allows access to thelocalmapcommand.servermaps.map- Allows access to themapcommand.
Stats
stats.uptime- Allows access to thestatscommand.stats.c,stats.o,stats.u- Grants access to remote/statscalls with the corresponding letter.