Lista de Controle de Acesso: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(This translation has been redone.)
Line 1: Line 1:
O MTA inclui uma lista de controle total de acesso (ACL, Access Control List ou Lista de Controle de Acesso), que permite proteger e limitar o acesso ao servidor, suas funções e recursos de qualquer forma que você quiser.
O MTA possui uma lista de controle de acesso chamada ACL (Access Control List ou Lista de Controle de Acesso). Ele permite proteger e limitar o acesso ao servidor, a suas funções e recursos da forma desejada.


Um conceito chave da ACL MTA (a ACLs em geral) é que você dá a um determinado objeto especifico de um conjunto de direitos. No caso do MTA, os objetos são uma das duas coisas : recursos ou usuários. Existem inúmeros direitos disponíveis no MTA, eles estão principalmente concentradas sobre as funções do lado do servidor ou server-side scripting.
Um conceito chave do ACL é que você dá a um determinado objeto um conjunto de direitos. No MTA, os objetos são ora recursos, ora usuários. Existem inúmeros direitos disponíveis, e eles principalmente se referem às funções do lado do servidor (server-side, em Inglês).


O que significa, que a ACL permite que você escolha exatamente o que funciona, ou oque um recurso ou usuário pode executar. Obviamente este recurso é essencial, por exemplo, prevenção dos jogadores do seu servidor ser capaz de banir outros jogadores, ou impedir que os novos recursos não testados façam o mesmo.
Em outras palavras, o ACL permite que você escolha exatamente o que é permitido - o que um recurso ou usuário pode fazer. Essa funcionalidade dentro do jogo é essencial, porque por exemplo, ele impede os jogadores comuns do seu servidor serem capazes de banir outros jogadores, ou previne novos recursos não testados de fazerem o mesmo.


É claro, com grande poder vem grandes responsabilidades e é muito facilmente possível romper completamente os recursos, por exemplo, a desativação [[spawnPlayer]] para todos os recursos seria uma coisa ruim. situações em que você pode querer fazer isso - se você quiser forçar todos os seus recursos para usar o gerenciador de desova de recursos, por exemplo, mas é medidas ainda mais rígidas.
É claro, qualquer grande poder precisa de grandes responsabilidades, ou seja, é facílimo romper completamente os recursos. Por exemplo, desativar a função [[spawnPlayer]] para todos eles seria uma coisa ruim. Porém, há certas situações em que será necessário fazer isso, mesmo sendo uma medida bem rígida.


==Entendendo a ACL==
==Anatomia do ACL==
Há em dois componentes principais ACL : os grupos e ACL-listas. Eles aparecem como nós '''<group name="">''' nós e '''<acl name="" />'''. Sua finalidade: <br>'''1.''' Conceder permissão para usuários para controlar o servidor e usar comandos de recursos. Exemplos:<br/>
Há em dois componentes principais no arquivo: os grupos e as listas. Eles aparecem como tags '''<group name="">''' e '''<acl name="" />'''. Suas finalidades são: <br>
*Permitindo que os administradores usem apenas a função giveweapon do freeroam.
*Permitindo que todos os usuários para iniciem recursos.


'''2.''' Conceder permissão de recursos para usar funções de script e funções de outros recursos. Exemplos:
'''1.''' Conceder permissão a usuários para controlar o servidor e usar comandos oferecidos pelos recursos.
*Permitem utilizar o recurso restartResource.
Exemplos:
*Permitir a utilização de recursos de chamada para as funções exportadas de outro script.
* Permitir administradores a usem apenas a função ''giveweapon'' do ''Freeroam''.
* Permitir todos os usuários iniciem recursos.
 
'''2.''' Conceder permissão a recursos para usar funções de script e de outros recursos.  
Exemplos:
* Permitir um recurso utilizar a função ''restartResource''.
* Permitir um recurso utilizar funções exportadas por um script a partir do [[call]].


===Grupos Padrões===
===Grupos Padrões===
MTA tem fornecido alguns grupos padrôes com permissões crescentes. Estes grupos são os seguintes:
MTA fornece alguns grupos padrões com permissões em ordem decrescente (mais restrito). Estes grupos são os seguintes:
*'''Everyone'''
*'''Everyone'''
*'''Moderator'''
*'''Moderator'''
*'''SuperModerator'''
*'''SuperModerator'''
*'''Admin'''
*'''Admin'''
*'''Console''' - Esta controla as permissões de pessoas que estão usando o console através '''<object name="user.Console" />'''
*'''Console''' - Este controla as permissões de pessoas que estão usando o console do servidor através do objeto: '''<object name="user.Console" />'''
*'''RPC''' - Remote Procedure Call. Especificamente concede acesso a [[callRemote]] desativa comandos de recursos padrões. Verifique a função para obter detalhes.
*'''RPC''' - Remote Procedure Call. Especificamente concede acesso à função [[callRemote]] e o desativa a demais recursos. Dê uma olhada em sua página para saber mais.
<br>Para explicar melhor, vou usar o grupo Everyone como exemplo. Por padrão, ele se parece com isso:<br/>
<br>Para explicar melhor, será usado o grupo Everyone como exemplo. Se você não tiver modificado o arquivo ainda, ele é idêntico a isso:<br/>
<syntaxhighlight lang="lua">    <group name="Everyone">
<syntaxhighlight lang="lua">    <group name="Everyone">
         <acl name="Default" />
         <acl name="Default" />
Line 31: Line 35:
     </group>
     </group>
</syntaxhighlight>
</syntaxhighlight>
Você primeiro identificar o nome acl dentro do grupo. Ele define os poderes do grupo. Usuários e recursos de um determinado grupo tem os poderes estabelecidos na ACL-lista com o nome de "Default". ''Nota: Você vai notar que esse grupo é especial, na medida em que inclui todos os usuários e de recursos por meio de um'' '''asterisco (*)''' '', onde o node do usuário ou recurso ficaria.''
Você primeiro deve identificar o conjunto ACL (o nome) dentro do grupo. Essa tag define quais são poderes do grupo. Quaisquer usuários e recursos neste grupo herdarão as permissões estabelecidos neste conjunto com o nome de "Default".  


Agora, role para baixo a ACL e você verá a listagem '''<acl name="Default" />'''.Note que eu reduziram drasticamente esta lista devido à sua extensão.
''Obs'': É bom destacar que esse grupo é especial, pois inclui todos os usuários e recursos por meio de um'' '''asterisco (*)''' ''; ou seja, os nomes de todos serão automaticamente preenchidos pelo computador na hora da leitura''
 
Agora, desça um pouco o ACL e você verá a entrada '''<acl name="Default" />'''. Note que eu omiti ''drasticamente'' esta lista devido a sua extensão.
<syntaxhighlight lang="lua">    <acl name="Default">
<syntaxhighlight lang="lua">    <acl name="Default">
         <right name="command.start" access="false" />
         <right name="command.start" access="false" />
         <right name="command.stop" access="false" />
         <right name="command.stop" access="false" />
         <right name="command.stopall" access="false" />
         <right name="command.stopall" access="false" />
         ...etc etc...
         ...
         <right name="function.executeCommandHandler" access="false" />
         <right name="function.executeCommandHandler" access="false" />
         <right name="function.setPlayerMuted" access="false" />
         <right name="function.setPlayerMuted" access="false" />
         <right name="function.restartResource" access="false" />
         <right name="function.restartResource" access="false" />
         ...etc etc...
         ...
         <right name="general.adminpanel" access="false" />
         <right name="general.adminpanel" access="false" />
         <right name="general.tab_players" access="false" />
         <right name="general.tab_players" access="false" />
         <right name="general.tab_resources" access="false" />
         <right name="general.tab_resources" access="false" />
         ...etc etc...
         ...
         <right name="command.freeze" access="false" />
         <right name="command.freeze" access="false" />
         <right name="command.shout" access="false" />
         <right name="command.shout" access="false" />
         <right name="command.spectate" access="false" />
         <right name="command.spectate" access="false" />
         ...etc etc...
         ...
     </acl>
     </acl>
</syntaxhighlight>
</syntaxhighlight>
*'''Funções''' das entradas são funções MTA script. Por exemplo, se um recurso necessário para usar restartResource e ele estava no grupo 'Everyne' (com a lista 'Default') seria negado o acesso a restartResource e não funcionar corretamente.
*'''Comandos''' são criados quando um recurso usa [[addCommandHandler]]. Um exemplo seria digitar /createvehicle [veículo] no chatbox para o recurso freeroam. Isto controla se os usuários do grupo ACL podem usar o comando.''Os comandos não têm nenhum efeito sobre os recursos do grupo. Os comandos são apenas relacionada com os usuários.''
**''Geral, é um grupo de nome personalizado direito criado pelo recurso administrativo, mas ele funciona com os mesmos princípios. O script trabalha com eles atraves do'' [[hasObjectPermissionTo]].


Você vai notar que alguns grupos, tais como admin, tem vários nós '''<acl name="" />'''. Um exemplo é o grupo admin:
* '''Function''' - cada ''tag'' dele representa uma função do MTA. Por exemplo, se um recurso precisa usar a função ''restartResource'' e ele estiver no grupo "Everyone", será negado o acesso e ele não funcionará corretamente.
* '''Command''' - cada um se refere a um comando criado com [[addCommandHandler]]. Um exemplo de comando seria digitar "/createvehicle [ID]" no chat para o recurso Freeroam criar um veículo. Em outras palavras, esse elemento controla se os usuários do grupo ACL podem ou não usar o comando. ''Os comandos não fazem nenhum efeito sobre os recursos incluídos no grupo, ou seja, os comandos só servem para usuários.''
**''General, é um direito personalizado criado pelo recurso "admin", mas ele funciona com os mesmos princípios. O script trabalha com eles através da função ''[[hasObjectPermissionTo]].
 
É possível notar alguns grupos, tais como admin, possuem múltiplas ''tags'' do tipo '''<acl name="" />''' definidas nele. Um exemplo:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
     <group name="Admin">
     <group name="Admin">
Line 70: Line 77:
</syntaxhighlight>
</syntaxhighlight>


Isso irá dar todas as permissões definidas em cada '''<acl name="" />''' na ordem de apresentação. Assim, por exemplo, usando o grupo de administração, certifique-se de que os administradores têm autoridade total. Se houver conflito, é dada prioridade ao mais baixo. No exemplo acima
O que acontece aqui é: a cada tag '''<acl name="" />''' apresentada, todas suas permissões serão concedidas a esse grupo. Por exemplo, o recurso ''admin'' se certifica que ganhou todas as permissões de administrador ao usar todos os conjuntos. Caso houver conflito, é dada prioridade ao seguinte. Partindo do exemplo acima, é apresentado o esquema a seguir:


'''1.''' '''<acl name="Default">''' define <right name="general.ModifyOtherObjects" access="false" /><br />  
'''1.''' O conjunto '''<acl name="Moderator">''' define a permissão <right name="general.ModifyOtherObjects" access="false" /> como negada<br>  
'''2.''' '''<acl name="Admin">''' define <right name="general.ModifyOtherObjects" access="true" /><br />  
'''2.''' O conjunto '''<acl name="Admin">''' define a permissão <right name="general.ModifyOtherObjects" access="true" /> como permitida<br>  
'''3.''' Para todos os usuários e recursos do grupo será admin: <right name="general.ModifyOtherObjects" access="true"/><br />
'''3.''' Portanto, para todos os usuários e recursos do grupo "admin", a permissão será: <right name="general.ModifyOtherObjects" access="true"/> permitida<br>


===Grupos e Recursos ACL===
===Grupos e Recursos ACL===
Você vai notar que alguns outros grupos que vieram com MTA. Eles são identificados como recursos que vêm com a MTA. Se um recurso quer para designar direitos específicos ACL não previstas pelos grupos MTA padrão, ele pode criar a sua própria ACL nome e um grupo usá-lo. Mostraremos a entrada da AMX como um exemplo. AMX foi projetado para emular SA-MP scripts e ele precisa de um certo conjunto de permissões que não se enquadram bem nos grupos padrôes. É mostrado a seguir:
É possível notar que alguns outros grupos vieram no arquivo. Eles são identificados como recursos já inclusos na instalação. Se um recurso deseja designar direitos específicos não previstas pelos grupos padrões do MTA, ele pode criar o seu próprio grupo e conjunto ACL, e usá-lo eventualmente. Por exemplo, o recurso AMX foi projetado para emular scripts do SA-MP e ele precisa de um certo conjunto de permissões que não se enquadram nos grupos existentes. Então ele criou seus próprios conjuntos no arquivo, como mostra a seguir:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
     <group name="AMX">
     <group name="AMX">
Line 83: Line 90:
         <object name="resource.amx" />
         <object name="resource.amx" />
     </group>
     </group>
    ...


     <acl name="AMX">
     <acl name="AMX">
Line 89: Line 98:
         <right name="function.stopResource" access="true" />
         <right name="function.stopResource" access="true" />
         <right name="general.adminpanel" access="false" />
         <right name="general.adminpanel" access="false" />
         ...etc etc...
         ...
         <right name="command.kick" access="false" />
         <right name="command.kick" access="false" />
         <right name="command.freeze" access="false" />
         <right name="command.freeze" access="false" />
         <right name="command.mute" access="false" />
         <right name="command.mute" access="false" />
         ...etc etc...
         ...
     </angcl>
     </acl>
</syntaxhighlight>
</syntaxhighlight>
==Modificando a ACL==
==Modificando o ACL==
Há três maneiras de alterar a ACL, como você irá fazer isso depende de quem você é.
Há três maneiras de alterar o ACL, como você irá fazer isso depende de onde partirá a alteração:
 
===Interface HTTP===
Você pode usar a interface HTTP oferecida pelo [[Resource/webadmin|webadmin]] para modificar o ACL no seu navegador. Esta é a maneira mais fácil de modifica-lo. Apenas certifique-se de que o servidor está executando os recursos de webadmin e visite ''<nowiki>http://<IP-do-servidor>:<porta>/</nowiki>''. Em seguida, será possível acessar duas seções:
* ACLs -  permite que você crie suas lista de controle de acesso
* Groups - permite criar grupos de usuários e atribuir-lhes a um conjunto ACL


===HTTP Interface===
Por exemplo, a seção ACLs permite que a um grupo de administradores existente o acesso ao comando ''start'' do console. Em seguida, você pode ir até a seção "Groups" e criar um novo grupo de administração, tendo acesso a esse mesmo conjunto ACL referido na seção ACLs. Finalmente, você pode adicionar novos usuários e esse grupo criado.
Você pode usar o [[Resource/webadmin|webadmin]] http interface para modificar a ACL no seu navegador. Esta é a maneira mais fácil de modificar-lo. Apenas certifique-se de que o servidor está executando recursos webadmin e visite ''<nowiki>http://ServerIP:HttpPort/</nowiki>''. Em seguida, você pode acessar as duas seções - ACLs e Grupos. ACLs permite que você crie suas listas de controle de acesso - listas de direitos. Grupos permitem agrupar grupos de usuários e atribuir-lhes a lista ACL.  Por exemplo, a seção de ACLs permite que você especifique que a ACL Admin tem acesso ao ''início'' de comando do console. Então você pode ir para a seção de Grupos e criar um grupo de administração, tendo acesso à sua lista ACL Admin.


===Arquivo XML===
===Arquivo XML===
Você pode modificar o arquivo ACL.xml manualmente. Isto tem uma sintaxe bastante simples, mas pode ficar um pouco confuso às vezes. Se você editá-lo quando o servidor estiver em execução, não se esqueça de chamar a função de script [[aclReload]] ("start runcode", "run aclReload()"), para a nova ACL carregar as alterações. Isto também irá evitar a substituições acidentais no servidor.
Você pode modificar o arquivo ACL.xml manualmente. Ele tem uma sintaxe bastante simples, mas pode ficar um pouco confuso às vezes. Se você editá-lo quando o servidor estiver em execução, não se esqueça de chamar a função de script [[aclReload]] ("start runcode", "run aclReload()"), para a nova ACL carregar as alterações. Desta maneira, serão evitadas substituições acidentais no servidor.


===Funções de Scripting===
===Funções de Scripting===
Você pode usar um grande número de funçõe de script ACL para modificar a ACL. Claro, você pode (e certamente deve!), limitar o acesso à funções ACL através de auto ACL. Note-se que o '''recurso''' '''administrativo''' que vem com o MTA pode ser usado para gerenciar a ACL do guia recursos. Você deve ser configurado como administrador para usar o painel de administração. [http://wiki.multitheftauto.com/wiki/Admin Click here for admin setup instructions].
Você pode usar um certo número de funções de script para modificar a ACL. Claro, você pode (e certamente deve!), limitar o acesso à funções ACL através do próprio ACL.xml. Note-se que o '''recurso admin''', incluso na instalaçao do MTA, pode ser usado para gerenciar a ACL na aba "resources". Você deve estar logado como administrador para usar o painel de administração. [http://wiki.multitheftauto.com/wiki/Admin Clique aqui para mais informações] de como se fazer isto.


==Veja Também==
==Veja também==
{{ACL functions}}
{{ACL functions}}
[[Category:Scripting Concepts]]
[[Category:Scripting Concepts]]
[[en:Access Control List]]
[[en:Access Control List]]
[[ru:Access Control List]]
[[ru:Access Control List]]

Revision as of 01:38, 7 July 2014

O MTA possui uma lista de controle de acesso chamada ACL (Access Control List ou Lista de Controle de Acesso). Ele permite proteger e limitar o acesso ao servidor, a suas funções e recursos da forma desejada.

Um conceito chave do ACL é que você dá a um determinado objeto um conjunto de direitos. No MTA, os objetos são ora recursos, ora usuários. Existem inúmeros direitos disponíveis, e eles principalmente se referem às funções do lado do servidor (server-side, em Inglês).

Em outras palavras, o ACL permite que você escolha exatamente o que é permitido - o que um recurso ou usuário pode fazer. Essa funcionalidade dentro do jogo é essencial, porque por exemplo, ele impede os jogadores comuns do seu servidor serem capazes de banir outros jogadores, ou previne novos recursos não testados de fazerem o mesmo.

É claro, qualquer grande poder precisa de grandes responsabilidades, ou seja, é facílimo romper completamente os recursos. Por exemplo, desativar a função spawnPlayer para todos eles seria uma coisa ruim. Porém, há certas situações em que será necessário fazer isso, mesmo sendo uma medida bem rígida.

Anatomia do ACL

Há em dois componentes principais no arquivo: os grupos e as listas. Eles aparecem como tags <group name=""> e <acl name="" />. Suas finalidades são:

1. Conceder permissão a usuários para controlar o servidor e usar comandos oferecidos pelos recursos. Exemplos:

  • Permitir administradores a usem apenas a função giveweapon do Freeroam.
  • Permitir todos os usuários iniciem recursos.

2. Conceder permissão a recursos para usar funções de script e de outros recursos. Exemplos:

  • Permitir um recurso utilizar a função restartResource.
  • Permitir um recurso utilizar funções exportadas por um script a partir do call.

Grupos Padrões

MTA fornece alguns grupos padrões com permissões em ordem decrescente (mais restrito). Estes grupos são os seguintes:

  • Everyone
  • Moderator
  • SuperModerator
  • Admin
  • Console - Este controla as permissões de pessoas que estão usando o console do servidor através do objeto: <object name="user.Console" />
  • RPC - Remote Procedure Call. Especificamente concede acesso à função callRemote e o desativa a demais recursos. Dê uma olhada em sua página para saber mais.


Para explicar melhor, será usado o grupo Everyone como exemplo. Se você não tiver modificado o arquivo ainda, ele é idêntico a isso:

    <group name="Everyone">
        <acl name="Default" />
        <object name="user.*" />
        <object name="resource.*" />
    </group>

Você primeiro deve identificar o conjunto ACL (o nome) dentro do grupo. Essa tag define quais são poderes do grupo. Quaisquer usuários e recursos neste grupo herdarão as permissões estabelecidos neste conjunto com o nome de "Default".

Obs: É bom destacar que esse grupo é especial, pois inclui todos os usuários e recursos por meio de um asterisco (*) ; ou seja, os nomes de todos serão automaticamente preenchidos pelo computador na hora da leitura

Agora, desça um pouco o ACL e você verá a entrada <acl name="Default" />. Note que eu omiti drasticamente esta lista devido a sua extensão.

    <acl name="Default">
        <right name="command.start" access="false" />
        <right name="command.stop" access="false" />
        <right name="command.stopall" access="false" />
        ...
        <right name="function.executeCommandHandler" access="false" />
        <right name="function.setPlayerMuted" access="false" />
        <right name="function.restartResource" access="false" />
        ...
        <right name="general.adminpanel" access="false" />
        <right name="general.tab_players" access="false" />
        <right name="general.tab_resources" access="false" />
        ...
        <right name="command.freeze" access="false" />
        <right name="command.shout" access="false" />
        <right name="command.spectate" access="false" />
        ...
    </acl>
  • Function - cada tag dele representa uma função do MTA. Por exemplo, se um recurso precisa usar a função restartResource e ele estiver no grupo "Everyone", será negado o acesso e ele não funcionará corretamente.
  • Command - cada um se refere a um comando criado com addCommandHandler. Um exemplo de comando seria digitar "/createvehicle [ID]" no chat para o recurso Freeroam criar um veículo. Em outras palavras, esse elemento controla se os usuários do grupo ACL podem ou não usar o comando. Os comandos não fazem nenhum efeito sobre os recursos incluídos no grupo, ou seja, os comandos só servem para usuários.
    • General, é um direito personalizado criado pelo recurso "admin", mas ele funciona com os mesmos princípios. O script trabalha com eles através da função hasObjectPermissionTo.

É possível notar alguns grupos, tais como admin, possuem múltiplas tags do tipo <acl name="" /> definidas nele. Um exemplo:

    <group name="Admin">
        <acl name="Moderator" />
        <acl name="SuperModerator" />
        <acl name="Admin" />
        <acl name="RPC" />
        <object name="resource.admin" />
        <object name="resource.webadmin" />
        <object name="user.Ransom" />
    </group>

O que acontece aqui é: a cada tag <acl name="" /> apresentada, todas suas permissões serão concedidas a esse grupo. Por exemplo, o recurso admin se certifica que ganhou todas as permissões de administrador ao usar todos os conjuntos. Caso houver conflito, é dada prioridade ao seguinte. Partindo do exemplo acima, é apresentado o esquema a seguir:

1. O conjunto <acl name="Moderator"> define a permissão <right name="general.ModifyOtherObjects" access="false" /> como negada
2. O conjunto <acl name="Admin"> define a permissão <right name="general.ModifyOtherObjects" access="true" /> como permitida
3. Portanto, para todos os usuários e recursos do grupo "admin", a permissão será: <right name="general.ModifyOtherObjects" access="true"/> permitida

Grupos e Recursos ACL

É possível notar que alguns outros grupos vieram no arquivo. Eles são identificados como recursos já inclusos na instalação. Se um recurso deseja designar direitos específicos não previstas pelos grupos padrões do MTA, ele pode criar o seu próprio grupo e conjunto ACL, e usá-lo eventualmente. Por exemplo, o recurso AMX foi projetado para emular scripts do SA-MP e ele precisa de um certo conjunto de permissões que não se enquadram nos grupos existentes. Então ele criou seus próprios conjuntos no arquivo, como mostra a seguir:

    <group name="AMX">
        <acl name="AMX" />
        <object name="resource.amx" />
    </group>

    ...

    <acl name="AMX">
        <right name="general.ModifyOtherObjects" access="true" />
        <right name="function.startResource" access="true" />
        <right name="function.stopResource" access="true" />
        <right name="general.adminpanel" access="false" />
        ...
        <right name="command.kick" access="false" />
        <right name="command.freeze" access="false" />
        <right name="command.mute" access="false" />
        ...
    </acl>

Modificando o ACL

Há três maneiras de alterar o ACL, como você irá fazer isso depende de onde partirá a alteração:

Interface HTTP

Você pode usar a interface HTTP oferecida pelo webadmin para modificar o ACL no seu navegador. Esta é a maneira mais fácil de modifica-lo. Apenas certifique-se de que o servidor está executando os recursos de webadmin e visite http://<IP-do-servidor>:<porta>/. Em seguida, será possível acessar duas seções:

  • ACLs - permite que você crie suas lista de controle de acesso
  • Groups - permite criar grupos de usuários e atribuir-lhes a um conjunto ACL

Por exemplo, a seção ACLs permite que dê a um grupo de administradores existente o acesso ao comando start do console. Em seguida, você pode ir até a seção "Groups" e criar um novo grupo de administração, tendo acesso a esse mesmo conjunto ACL referido na seção ACLs. Finalmente, você pode adicionar novos usuários e esse grupo criado.

Arquivo XML

Você pode modificar o arquivo ACL.xml manualmente. Ele tem uma sintaxe bastante simples, mas pode ficar um pouco confuso às vezes. Se você editá-lo quando o servidor estiver em execução, não se esqueça de chamar a função de script aclReload ("start runcode", "run aclReload()"), para a nova ACL carregar as alterações. Desta maneira, serão evitadas substituições acidentais no servidor.

Funções de Scripting

Você pode usar um certo número de funções de script para modificar a ACL. Claro, você pode (e certamente deve!), limitar o acesso à funções ACL através do próprio ACL.xml. Note-se que o recurso admin, incluso na instalaçao do MTA, pode ser usado para gerenciar a ACL na aba "resources". Você deve estar logado como administrador para usar o painel de administração. Clique aqui para mais informações de como se fazer isto.

Veja também