Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 254
  • Last Modified:

linux files

Hi Experts,

We are using the SUSE OS and I have 2  questions on the file stucture.

1) would like to know how i can search for specific .c files.
2) once i find the files how do i see the associated MD5 hashes.

Thank
you
0
talltree
Asked:
talltree
  • 3
  • 3
  • 2
  • +2
3 Solutions
 
woolmilkporcCommented:
1)

find /dir -name "*.c"

where "/dir/ is the directory where you want to start searching.

"*.c" searches for all files ending with ".c". You can refine the search e. g. with "abc*.c" which will search for all files starting with "abc" and ending with ".c".

2)

find /dir -name "*.c" -xargs md5sum
0
 
Seth SimmonsSr. Systems AdministratorCommented:
correction on the second command; find output should be piped to xargs not specified as an option

find -dir -name "*.c" | xargs md5sum
0
 
woolmilkporcCommented:
Right! That was a typo. Thx for the correction.
0
Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

 
ozoCommented:
How are you specifying these specific .c files?
0
 
talltreeAuthor Commented:
not sure what you mean by specifying? I am just trying to find a group of files with the .c extension and check the md5 hash to make sure they have been altered.

thanks
0
 
ozoCommented:
When you ask about searching for "specific" .c files, how are you distinguishing those specific .c files you would be searching for from other non-specific .c files?
When you say you are trying to find a "group" of files, how are you grouping them?
Do you want all .c files under /dir, as presumed by the answer of
find /dir -name "*.c" | xargs md5sum
or is there some other kind of specific group you are interested in?

If you want to do this to be sure they have been altered, do you have a list of files and md5 hashes that you want to compare with?
If so, what is the format of that list?
Also, would you need to be sure whether that list has been altered?
0
 
talltreeAuthor Commented:
Yes a security issue,  I do have a list of specifc files

 you want to do this to be sure that they have not been altered, do you have a list of files and md5 hashes that you want to compare with?

YES
If so, what is the format of that list?

name.c (example)

Also, would you need to be sure that that list had not been altered

No, looking to see if these files  and hash are on our server
0
 
ozoCommented:
name.c (example)
Does "example" in parenthesis represent the original md5 hash of name.c that we want to compare to the current md5 hash?
Can there be more than one file in that list?
Of so, does the order matter?
Can we assume that the list will always be in alphabetical order?
Are all the files in the list .c files?
What do you want to do when you find a file who's md5 hash matches the  md5 hash in the list?
What do you want to do when you find a file who's md5 hash  does not match the md5 hash in the list?

This produces files for altered and unaltered .c files in list,
assuming that each line of the list consists of a file name, blank space, and an md5sum in parenthesis to compare,
preserving the original order, not assuming alphabetical order, an ignoring non .c files in list

#!/usr/bin/bash
cat list | while read line ; do
  shopt -s extglob
  if [[ -z "${line##*.c+([[:blank:]])\(*}" ]] ; then 
    file=${line%%.c*}.c
    file=${line%%.c*}.c
    example=${line##*\(}
    example=${example%)*}
    md5=`md5sum $file`
    md5=${md5%%*([[:blank:]])*([^[:blank:]]).c}
    if [[ "$md5" = "$example" ]] ; then
      echo $file $example matches>> unaltered
    else
      echo $file $example does not match $md5 >> altered
    fi
  fi
done

Open in new window

0
 
serialbandCommented:
You should probably use shasum -a 256 or sha256sum instead of md5sum.

If you have the original files in some backup location, you could also just diff them directly.
0
 
talltreeAuthor Commented:
thanks guys
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

  • 3
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now