Re: SUID/GUID files search !

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



fly over wrote:

(please don't top-post on this mailing list - it makes posts harder to follow)

> From: Paul Howarth <paul@xxxxxxxxxxxx>
> Subject: Re: SUID/GUID files search !
> To: For users of Fedora Core releases <fedora-list@xxxxxxxxxx>
>
> fly over wrote:
>
>>Hi guys, i'm trying to write a script for following purpose.
>>
>>shell program will be used by Linux/Unix sysadmins to search for
>>SUID/SGID files. The default directory to search is the present
>>working directory, however, the user may include a directory name
>>on the command line as an alternative. Also, if the user includes
>>the argument '-R' then the search should include all subdirectories
>>recursively. Also, the '-G' argument will include SGID files which
>>by default are not shown. The output of the script should show the
>>absolute pathname of the file and the owner.
>>
>>
>>Please help me in performin such task.
>
>
> Sounds like a homework assignment to me...
>
>
>>i'm trying using this line:
>>
>>ls -l | awk '{print $1}' | grep s
>>it just prints the permissions having s bit.
>
>
> Yes, that's right. Your awk command is just printing the first field of
> the ls -l output, which is the permissions. What you want to do is to
> search the permissions but output the filename, something more like this:
>
> $ ls -l | awk '/^-..[Ss]/ { print $9 }'
>
> This looks for regular files (1st character of line is "-") that have
> the SUID bit set (fourth character of line is "s" or "S") and then
> prints out the filename (9th field of line).
>
> You probably want to be using the "find" command rather than the "ls"
> command though. Use "-maxdepth 1" by default to turn off its recursive
> checking of directories, and skip the "-maxdepth 1" option when your
> script is passed the -R option.

fly over wrote:
Thanks Paul for supporting, yes it is a sort of assignment but from my boss.
as your script returning file name, Please tell me how can i get the absolute pathname of the file and the owner.

Try something like this:

DIR=`pwd` # starting directory
RECURSE_OPTION="-maxdepth 1" # "" for recursive search
PERM_BITS=04000 # 06000 for both SUID and SGID
find $DIR $RECURSE_OPTION -perm +$PERM_BITS -type f -printf '%p %u\n'

Paul.


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux