How to specify regular expression for command arguments in sudoers

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
5
down vote

favorite
1












sudoers(5) manpage says that shell-style wildcards (aka meta or glob characters)
could be used in command line arguments in the sudoers file. They are *, ?, [...] and [!...].



My idea is to use some stuff in regular expression style, like /path/to/command -a[v]*, to mean either command -a, command -av and command -avvv...v in one line (for such commands which changes their's verbosity depending on number of -v arguments, e.g. tcpdump). But it doesn't works.



Is there some way to do that, not adding /path/to/command -a -v several times into sudoers with different number of -v in each one?










share|improve this question

























    up vote
    5
    down vote

    favorite
    1












    sudoers(5) manpage says that shell-style wildcards (aka meta or glob characters)
    could be used in command line arguments in the sudoers file. They are *, ?, [...] and [!...].



    My idea is to use some stuff in regular expression style, like /path/to/command -a[v]*, to mean either command -a, command -av and command -avvv...v in one line (for such commands which changes their's verbosity depending on number of -v arguments, e.g. tcpdump). But it doesn't works.



    Is there some way to do that, not adding /path/to/command -a -v several times into sudoers with different number of -v in each one?










    share|improve this question























      up vote
      5
      down vote

      favorite
      1









      up vote
      5
      down vote

      favorite
      1






      1





      sudoers(5) manpage says that shell-style wildcards (aka meta or glob characters)
      could be used in command line arguments in the sudoers file. They are *, ?, [...] and [!...].



      My idea is to use some stuff in regular expression style, like /path/to/command -a[v]*, to mean either command -a, command -av and command -avvv...v in one line (for such commands which changes their's verbosity depending on number of -v arguments, e.g. tcpdump). But it doesn't works.



      Is there some way to do that, not adding /path/to/command -a -v several times into sudoers with different number of -v in each one?










      share|improve this question













      sudoers(5) manpage says that shell-style wildcards (aka meta or glob characters)
      could be used in command line arguments in the sudoers file. They are *, ?, [...] and [!...].



      My idea is to use some stuff in regular expression style, like /path/to/command -a[v]*, to mean either command -a, command -av and command -avvv...v in one line (for such commands which changes their's verbosity depending on number of -v arguments, e.g. tcpdump). But it doesn't works.



      Is there some way to do that, not adding /path/to/command -a -v several times into sudoers with different number of -v in each one?







      sudo






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 18 '15 at 13:59









      AntonioK

      5472726




      5472726




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          The sudoers man page is fairly clear about not supporting this. Comments in the man page suggest that it uses the system fnmatch function to do the matching. On linux/glibc based systems fnmatch can use an extended globbing format with similar expressiveness to regular expressions but a different syntax.



          Therefore if you should be able to rebuild sudo to support the extended syntax by finding the place where sudo calls fnmatch adding FNM_EXTMATCH to the flags argument.
          and #define _GNU_SOURCE to the top of the file that calls it.



          Of course if you do this you will be running your own hand patched version of an suid binary so be careful.






          share|improve this answer




















            Your Answer







            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "106"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: false,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f190981%2fhow-to-specify-regular-expression-for-command-arguments-in-sudoers%23new-answer', 'question_page');

            );

            Post as a guest






























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote













            The sudoers man page is fairly clear about not supporting this. Comments in the man page suggest that it uses the system fnmatch function to do the matching. On linux/glibc based systems fnmatch can use an extended globbing format with similar expressiveness to regular expressions but a different syntax.



            Therefore if you should be able to rebuild sudo to support the extended syntax by finding the place where sudo calls fnmatch adding FNM_EXTMATCH to the flags argument.
            and #define _GNU_SOURCE to the top of the file that calls it.



            Of course if you do this you will be running your own hand patched version of an suid binary so be careful.






            share|improve this answer
























              up vote
              0
              down vote













              The sudoers man page is fairly clear about not supporting this. Comments in the man page suggest that it uses the system fnmatch function to do the matching. On linux/glibc based systems fnmatch can use an extended globbing format with similar expressiveness to regular expressions but a different syntax.



              Therefore if you should be able to rebuild sudo to support the extended syntax by finding the place where sudo calls fnmatch adding FNM_EXTMATCH to the flags argument.
              and #define _GNU_SOURCE to the top of the file that calls it.



              Of course if you do this you will be running your own hand patched version of an suid binary so be careful.






              share|improve this answer






















                up vote
                0
                down vote










                up vote
                0
                down vote









                The sudoers man page is fairly clear about not supporting this. Comments in the man page suggest that it uses the system fnmatch function to do the matching. On linux/glibc based systems fnmatch can use an extended globbing format with similar expressiveness to regular expressions but a different syntax.



                Therefore if you should be able to rebuild sudo to support the extended syntax by finding the place where sudo calls fnmatch adding FNM_EXTMATCH to the flags argument.
                and #define _GNU_SOURCE to the top of the file that calls it.



                Of course if you do this you will be running your own hand patched version of an suid binary so be careful.






                share|improve this answer












                The sudoers man page is fairly clear about not supporting this. Comments in the man page suggest that it uses the system fnmatch function to do the matching. On linux/glibc based systems fnmatch can use an extended globbing format with similar expressiveness to regular expressions but a different syntax.



                Therefore if you should be able to rebuild sudo to support the extended syntax by finding the place where sudo calls fnmatch adding FNM_EXTMATCH to the flags argument.
                and #define _GNU_SOURCE to the top of the file that calls it.



                Of course if you do this you will be running your own hand patched version of an suid binary so be careful.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Sep 7 at 19:05









                William Hay

                21317




                21317



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f190981%2fhow-to-specify-regular-expression-for-command-arguments-in-sudoers%23new-answer', 'question_page');

                    );

                    Post as a guest













































































                    Popular posts from this blog

                    Peggy Mitchell

                    Palaiologos

                    The Forum (Inglewood, California)