Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Perl regular expression rules

by wellmje (Initiate)
on Dec 06, 2012 at 00:27 UTC ( [id://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!

Replies are listed 'Best First'.
Re: Perl regular expression rules
by Crackers2 (Parson) 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.

Re: Perl regular expression rules
by ww (Archbishop) 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"; } }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
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?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (4)
As of 2024-04-19 17:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found