Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    [RESOLVIDO] Adicionar novos privilégios do sistema.

    Scheduled Pinned Locked Moved Portuguese
    14 Posts 2 Posters 4.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dmenezes
      last edited by

      Obrigado dude!

      1 Reply Last reply Reply Quote 0
      • D
        dmenezes
        last edited by

        o correto seria o pacote instalado ja vim com o arquivo .inc e jogar em /usr/local/pkg/priv

        :)

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          Sim. O openvpn não é nativo?
          Se for parte de algum pacote adicional, posta o arquivo que eu publico.

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • D
            dmenezes
            last edited by

            OpenVPN sim.

            O pacote e o OpenVPN: Client Export Utility

            E tem outro problema, na WebGUI este pacote fica dentro de OpenVPN

            VPN
            OpenVPN (vpn_openvpn_server.php)

            ou seja para se ter acesso ao OpenVPN: Client Export Utility (vpn_openvpn_export.php)

            vc precisa ter permissao para vpn_openvpn_server.php

            no futuro a opcao OpenVPN deve ser mudada, pois dessa maneira nao e inteligente. (eu nao preciso dar acesso as configuracoes do servidor vpn, apenas para importar os usuarios)

            no meu caso adicionei a opcao Client Export em VPN.

            em fbegin.inc
            $vpn_menu[] = array("Client Export", "/vpn_openvpn_export.php");

            para ser ter um menu direto ao Client Export.

            e criei o openvpnexport.inc

            global $priv_list;

            $priv_list['page-openvpn-client-export'] = array();
            $priv_list['page-openvpn-client-export']['name'] = "WebCfg - OpenVPN: Client Export Utility";
            $priv_list['page-openvpn-client-export']['descr'] = "Allow access to the OpenVPN: Client Export Utility page.";
            $priv_list['page-openvpn-client-export']['match'] = array();
            $priv_list['page-openvpn-client-export']['match'][] = "vpn_openvpn_export.php*";

            ?>

            1 Reply Last reply Reply Quote 0
            • marcellocM
              marcelloc
              last edited by

              dmenezes,

              Vou testar as atualizações e publicar a correção.

              Obrigado pela contribuição.

              Treinamentos de Elite: http://sys-squad.com

              Help a community developer! ;D

              1 Reply Last reply Reply Quote 0
              • marcellocM
                marcelloc
                last edited by

                Acabei de publicar a versão 0.9.7 com o arquivo de permissões e o menu na aba vpn.

                EDIT

                Tive que retirar a opção do menu, o pacote é suportado pelo core team e eles não gostaram muito da idéia.

                testei aqui com sucesso a permissão sem a opção de menu. Quando um usuario só tem permissão para o openvpn-client-export, ele cai direto na tela.
                Quando a permissão inclui o dashboard, o usuario cai na tela do client export quando acessa o menu openvpn.

                Treinamentos de Elite: http://sys-squad.com

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • D
                  dmenezes
                  last edited by

                  Legal!

                  Eu tb vejo que nao ha necessidade de criar um outro menu, caso indo na opcao OpenVPN vc tenha acesso ao client export, coisa que nao esta acontecendo!
                  apenas criei para facilitar o meu lado com o cliente. :)

                  Mas nao obtive sucesso da forma que vc falou… Quando tenho o usuario com a permissao para acessar apenas o Client Export (vpn_openvpn_export.php) (Na opcao OpenVPN)
                  e quando vou em OpenVPN esta o link vpn_openvpn_server.php assim indo para o dashboard.

                  uma outra solucao para o meu problema seria apenas alterar
                  $vpn_menu[] = array("OpenVPN", "/vpn_openvpn_server.php");

                  para

                  $vpn_menu[] = array("OpenVPN", "/vpn_openvpn_export.php");

                  sendo assim o menu OpenVPN cairia direto no link do Client Export
                  mas repito solucao para o meu caso... arranjo... e nao para ser modificado dessa forma no projeto...

                  .....

                  outra coisa...
                  acredito que pela organizacao do sistema... os arquivo de privilegios  de pacotes devem ser jogados em /usr/local/pkg/priv
                  [2.0-RELEASE][root@pfSense.localdomain]/etc/inc(39): grep -rn '/usr/local/pkg/priv' .
                  ./priv.inc:76:if(is_dir("/usr/local/pkg/priv")) {
                  ./priv.inc:77:  $dir_array = get_priv_files("/usr/local/pkg/priv");
                  ./priv.inc:79:          if (!is_dir("/usr/local/pkg/priv/{$file}") && stristr($file,".inc"))
                  ./priv.inc:80:                  include("/usr/local/pkg/priv/{$file}");

                  ….

                  e no arquivo adicionar a linha em negrito que tb faz parte do utilitario openvpnexport.inc

                  global $priv_list;

                  $priv_list['page-openvpn-client-export'] = array();
                  $priv_list['page-openvpn-client-export']['name'] = "WebCfg - OpenVPN: Client Export Utility";
                  $priv_list['page-openvpn-client-export']['descr'] = "Allow access to the OpenVPN: Client Export Utility page.";
                  $priv_list['page-openvpn-client-export']['match'] = array();
                  $priv_list['page-openvpn-client-export']['match'][] = "vpn_openvpn_export.php*";
                  $priv_list['page-openvpn-client-export']['match'][] = "vpn_openvpn_export_shared.php";*

                  ?>

                  excelente trabalho o seu :)

                  1 Reply Last reply Reply Quote 0
                  • marcellocM
                    marcelloc
                    last edited by

                    Vou sugerir a alteração ao core team, eles nao gostaram muito da alteração de um pacote 'deles' sem antes discutir sobre o assunto.

                    Com relação a permissão, meu teste foi da seguinte forma:

                    • cria o Usuario

                    • cria um grupo

                    • inclui o Usuario no grupo

                    • inclui a permissão do openvpn somente ou também inclui o 'dashboard all'

                    Aqui funcionou, veja se você consegue o mesmo resultado.

                    Treinamentos de Elite: http://sys-squad.com

                    Help a community developer! ;D

                    1 Reply Last reply Reply Quote 0
                    • D
                      dmenezes
                      last edited by

                      @marcelloc

                      tenta apenas com essas permissoes

                      WebCfg - Dashboard (all) Allow access to all pages required for the dashboard.
                      WebCfg - OpenVPN: Client Export Utility

                      e ver se funciona…

                      comigo nao funcionou!

                      1 Reply Last reply Reply Quote 0
                      • marcellocM
                        marcelloc
                        last edited by

                        foi exatamente como testei.

                        a única diferença é que apliquei as permissões em um grupo.

                        Treinamentos de Elite: http://sys-squad.com

                        Help a community developer! ;D

                        1 Reply Last reply Reply Quote 0
                        • D
                          dmenezes
                          last edited by

                          putz! agora estou grilado com isso! hehe nao funciona!
                          ja limpei ate cache hahaha

                          o seu teste foi com apenas essas 2 opcoes nada mais? :o

                          1 Reply Last reply Reply Quote 0
                          • marcellocM
                            marcelloc
                            last edited by

                            o seu teste foi com apenas essas 2 opcoes nada mais?

                            Sim. Vou fazer denovo mais tarde e posto o resultado.

                            Treinamentos de Elite: http://sys-squad.com

                            Help a community developer! ;D

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.