Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Perl regular expression rules

by wellmje (Initiate)
on Dec 06, 2012 at 00:27 UTC ( #1007438=perlquestion: print w/ replies, xml ) Need Help??
wellmje has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I am looking for a way to validate that this use of regular expressions will match all and any commands except SU on a Red Hat Linux server when following Perl rules

 (?!.*/su[\r\s]).*/.*

Any assistance or direction would be appreciated. I know there are many other ways to achieve the same goal but I am being told that this should work. Thank You in advance!

Comment on Perl regular expression rules
Download Code
Re: Perl regular expression rules
by ww (Bishop) on Dec 06, 2012 at 00:39 UTC
    The best way to validate your regex is to read the docs re regexen; perlre, perlretut, etc (and there's lots of etc inside perldoc, too) and use the knowledge acquired to refine your ability to understand the regex.

    Second best, perhaps? Seek out a regex explanation utility of the sort frequently mentioned here.

    Next best, try it. Test (brute force) a substantial subset or all the commands you're likely to use, in a dry run setting like:

    #pseudocode my @commands=qw(ls rm rd cat....); for $command(@commands) { if ($command =~ /(your regex here)/ ) { say "regex matched $command"; } else { say "Oops! $command slipped by"; } }
Re: Perl regular expression rules
by Crackers2 (Vicar) on Dec 06, 2012 at 01:58 UTC

    You may want to give more details about what you're trying to accomplish, because...

    [user@host]$ ll /bin/su -rwsr-xr-x 1 root root 30148 Jul 21 19:54 /bin/su [user@host]$ ln -s /bin/su notsu [user@host]$ ./notsu Password: [root@host]#

    So if you're trying to use this to prevent people from running su it's probably not a good idea.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1007438]
Approved by LanX
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (11)
As of 2014-07-30 18:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (239 votes), past polls