Jump to content

Erro de restrição na ACL


Recommended Posts

  • Other Languages Moderators

Olá a todos.
Estou tentando proibir o acesso dos SuperModerators ao menu das ACLs
Para isso eu deixei como false nos seguintes direitos:
 

        <right name="function.aclReload" access="false"></right>
        <right name="function.aclSave" access="false"></right>
        <right name="function.aclCreate" access="false"></right>
        <right name="function.aclDestroy" access="false"></right>
        <right name="function.aclSetRight" access="false"></right>
        <right name="function.aclRemoveRight" access="false"></right>
        <right name="function.aclCreateGroup" access="false"></right>
        <right name="function.aclDestroyGroup" access="false"></right>
        <right name="function.aclGroupAddACL" access="false"></right>
        <right name="function.aclGroupRemoveACL" access="false"></right>
        <right name="function.aclGroupAddObject" access="false"></right>
        <right name="function.aclGroupRemoveObject" access="false"></right>

Como não haviam estes parâmetros no Moderator e nem no SuperModerator, eu criei como false. Eles só estavam criados no "Default" e no "Admin" por padrão. Eles estão como true apenas no "Admin".
Mas o problema persiste, criei uma conta teste e deixei como SuperModerator somente. (SuperModerator, Everyone) E ele continua tendo acesso normal nas ACLs, consegue adicionar, remover objetos, criar grupos, alterar permissões.

Como faço para proibir o acesso de SuperModerator se colocando como false não resolveu? Existe alguma linha dentro do resource Admin que preciso alterar? Ou existe mais algum parâmetro que esqueci de deixar como false?
 

ACL SuperModerator atual:

 <acl name="SuperModerator">
        <right name="general.ModifyOtherObjects" access="false"></right>
        <right name="general.http" access="false"></right>
        <right name="command.start" access="true"></right>
        <right name="command.stop" access="true"></right>
        <right name="command.stopall" access="false"></right>
        <right name="command.gamemode" access="false"></right>
        <right name="command.changemode" access="false"></right>
        <right name="command.changemap" access="false"></right>
        <right name="command.stopmode" access="false"></right>
        <right name="command.stopmap" access="false"></right>
        <right name="command.skipmap" access="false"></right>
        <right name="command.restart" access="true"></right>
        <right name="command.refresh" access="false"></right>
        <right name="command.refreshall" access="false"></right>
        <right name="command.addaccount" access="false"></right>
        <right name="command.delaccount" access="false"></right>
        <right name="command.debugscript" access="false"></right>
        <right name="command.chgpass" access="false"></right>
        <right name="command.loadmodule" access="false"></right>
        <right name="command.unloadmodule" access="false"></right>
        <right name="command.reloadmodule" access="false"></right>
        <right name="command.upgrade" access="false"></right>
        <right name="command.mute" access="true"></right>
        <right name="command.crun" access="false"></right>
        <right name="command.srun" access="false"></right>
        <right name="command.run" access="false"></right>
        <right name="command.unmute" access="true"></right>
        <right name="command.kick" access="true"></right>
        <right name="command.ban" access="true"></right>
        <right name="command.banip" access="true"></right>
        <right name="command.unbanip" access="false"></right>
        <right name="command.reloadbans" access="true"></right>
        <right name="command.shutdown" access="false"></right>
        <right name="command.install" access="false"></right>
        <right name="command.aexec" access="false"></right>
        <right name="command.whois" access="true"></right>
        <right name="command.whowas" access="true"></right>
        <right name="command.aclrequest" access="false"></right>
        <right name="function.executeCommandHandler" access="false"></right>
        <right name="function.setPlayerMuted" access="true"></right>
        <right name="function.addAccount" access="false"></right>
        <right name="function.addBan" access="true"></right>
        <right name="function.setUnbanTime" access="false"></right>
        <right name="function.setBanAdmin" access="true"></right>
        <right name="function.setBanReason" access="true"></right>
        <right name="function.setBanNick" access="true"></right>
        <right name="function.removeBan" access="false"></right>
        <right name="function.removeAccount" access="false"></right>
        <right name="function.setAccountPassword" access="false"></right>
        <right name="function.kickPlayer" access="true"></right>
        <right name="function.banIP" access="true"></right>
        <right name="function.banPlayer" access="true"></right>
        <right name="function.banSerial" access="true"></right>
        <right name="function.getBansXML" access="true"></right>
        <right name="function.unbanIP" access="false"></right>
        <right name="function.unbanSerial" access="false"></right>
        <right name="function.reloadBans" access="true"></right>
        <right name="function.setServerPassword" access="false"></right>
        <right name="function.getServerPassword" access="false"></right>
        <right name="function.callRemote" access="false"></right>
        <right name="function.fetchRemote" access="false"></right>
        <right name="function.startResource" access="true"></right>
        <right name="function.stopResource" access="true"></right>
        <right name="function.restartResource" access="true"></right>
        <right name="function.createResource" access="false"></right>
        <right name="function.copyResource" access="false"></right>
        <right name="function.addResourceMap" access="false"></right>
        <right name="function.addResourceConfig" access="false"></right>
        <right name="function.removeResourceFile" access="false"></right>
        <right name="function.setResourceDefaultSetting" access="false"></right>
        <right name="function.removeResourceDefaultSetting" access="false"></right>
        <right name="function.redirectPlayer" access="false"></right>
        <right name="function.aclReload" access="false"></right>
        <right name="function.aclSave" access="false"></right>
        <right name="function.aclCreate" access="false"></right>
        <right name="function.aclDestroy" access="false"></right>
        <right name="function.aclSetRight" access="false"></right>
        <right name="function.aclRemoveRight" access="false"></right>
        <right name="function.aclCreateGroup" access="false"></right>
        <right name="function.aclDestroyGroup" access="false"></right>
        <right name="function.aclGroupAddACL" access="false"></right>
        <right name="function.aclGroupRemoveACL" access="false"></right>
        <right name="function.aclGroupAddObject" access="false"></right>
        <right name="function.aclGroupRemoveObject" access="false"></right>
        <right name="function.refreshResources" access="true"></right>
        <right name="function.setServerConfigSetting" access="false"></right>
        <right name="function.updateResourceACLRequest" access="false"></right>
        <right name="function.shutdown" access="false"></right>
        <right name="general.adminpanel" access="true"></right>
        <right name="general.tab_players" access="true"></right>
        <right name="general.tab_resources" access="true"></right>
        <right name="general.tab_maps" access="true"></right>
        <right name="general.tab_server" access="true"></right>
        <right name="general.tab_bans" access="true"></right>
        <right name="general.tab_adminchat" access="true"></right>
        <right name="command.freeze" access="true"></right>
        <right name="command.setnick" access="true"></right>
        <right name="command.shout" access="true"></right>
        <right name="command.spectate" access="true"></right>
        <right name="command.slap" access="true"></right>
        <right name="command.setgroup" access="true"></right>
        <right name="command.sethealth" access="true"></right>
        <right name="command.setarmour" access="true"></right>
        <right name="command.setmoney" access="false"></right>
        <right name="command.setskin" access="true"></right>
        <right name="command.setteam" access="true"></right>
        <right name="command.giveweapon" access="true"></right>
        <right name="command.setstat" access="true"></right>
        <right name="command.jetpack" access="true"></right>
        <right name="command.warp" access="true"></right>
        <right name="command.setdimension" access="true"></right>
        <right name="command.setinterior" access="true"></right>
        <right name="command.createteam" access="true"></right>
        <right name="command.destroyteam" access="true"></right>
        <right name="command.givevehicle" access="true"></right>
        <right name="command.repair" access="true"></right>
        <right name="command.blowvehicle" access="true"></right>
        <right name="command.destroyvehicle" access="true"></right>
        <right name="command.customize" access="true"></right>
        <right name="command.setcolor" access="true"></right>
        <right name="command.setpaintjob" access="true"></right>
        <right name="command.listmessages" access="true"></right>
        <right name="command.readmessage" access="true"></right>
        <right name="command.listresources" access="true"></right>
        <right name="command.delete" access="false"></right>
        <right name="command.execute" access="false"></right>
        <right name="command.setpassword" access="false"></right>
        <right name="command.setwelcome" access="false"></right>
        <right name="command.setgame" access="false"></right>
        <right name="command.setmap" access="false"></right>
        <right name="command.setweather" access="true"></right>
        <right name="command.blendweather" access="false"></right>
        <right name="command.setblurlevel" access="false"></right>
        <right name="command.setwaveheight" access="true"></right>
        <right name="command.setskygradient" access="false"></right>
        <right name="command.setgamespeed" access="false"></right>
        <right name="command.setgravity" access="false"></right>
        <right name="command.settime" access="true"></right>
        <right name="command.setfpslimit" access="false"></right>
        <right name="command.unban" access="false"></right>
        <right name="command.banserial" access="true"></right>
        <right name="command.unbanserial" access="false"></right>
        <right name="command.listbans" access="true"></right>
        <right name="command.protecao" access="true"></right>
    </acl>

 

Edited by lordhenry
Link to comment
  • 2 weeks later...

Não cheguei a editar grupos na ACL, então não sei como funciona. Dei uma olhada no resource admin pra criar uma alternativa à restrição, e no script admin_main.lua encontrei uma restrição que parece ser para comandos.

Na linha 139 fica o botão "Manage ACL", coloquei no último argumento essa string, "setgroup", que desativa o comando vinculado à ação, criei uma conta no grupo SuperModerator e funcionou, já que essa restrição se origina do botão Give/Revoke Admin Rights que por padrão não dá acesso aos Smods.

Link to comment
  • Other Languages Moderators
11 hours ago, DNL291 said:

Não cheguei a editar grupos na ACL, então não sei como funciona. Dei uma olhada no resource admin pra criar uma alternativa à restrição, e no script admin_main.lua encontrei uma restrição que parece ser para comandos.

Na linha 139 fica o botão "Manage ACL", coloquei no último argumento essa string, "setgroup", que desativa o comando vinculado à ação, criei uma conta no grupo SuperModerator e funcionou, já que essa restrição se origina do botão Give/Revoke Admin Rights que por padrão não dá acesso aos Smods.

Mas então...não seria algo que a Equipe de desenvolvimento do MTA possa corrigir futuramente? Ou eles já pararam de fazer updates?

Edit: Fiz oq vc disse mas dai o botão de Manage ACL sumiu para todos, inclusive para os Admins.

Edited by lordhenry
Link to comment

Não poderia ser sua ACL bugada? Eu testei aqui e funciona. Loguei na minha conta Smod e o botão fica desativado, re-loguei na conta admin e o botão fica ativo.

Quote

Mas então...não seria algo que a Equipe de desenvolvimento do MTA possa corrigir futuramente? Ou eles já pararam de fazer updates?

Acho que eles poderiam simplificar mais essa parte de limitar certas funções na ACL, o sistema atual ainda é o mesmo do tempo do painel Admin. Além da ACL tem a área no próprio painel Admin (no botão Manage ACL) aonde também pode editar os grupos. Algumas coisas específicas, tipo isso do botão Manage ACL não tem opção de restringir por padrão. Pelo que entendi, só as guias, comandos e algumas funções, tipo aclCreate, addBan, setServerPassword, shutdown...

Acho que o ideal seria deixar mais dinâmico, qualquer ação poder ser restringida para grupo X e por meio de um painel novo.

Link to comment
  • Other Languages Moderators
13 hours ago, DNL291 said:

Não poderia ser sua ACL bugada? Eu testei aqui e funciona. Loguei na minha conta Smod e o botão fica desativado, re-loguei na conta admin e o botão fica ativo.

[...]

Como estava antes:

aTab2.ManageACL		= guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "Manage ACL", true, aTab2.Tab )

Como deixei:

aTab2.ManageACL		= guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "Manage ACL", true, "setgroup" )

Fiz errado ou está certo assim?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...