4 # find /var/ossec/ -exec ./getattr.pl {} \;
12 $filename = shift || die "\nsyntax: $0 <file|directory>\n\n";
17 $sb = stat($filename);
19 die "\nUID $sb->uid doesn't exist?! ($filename)\n\n" if (! exists($UID[$sb->uid]));
20 die "\nGID $sb->uid doesn't exist?! ($filename)\n\n" if (! exists($GID[$sb->gid]));
22 if ( -d $filename ) { ### directory
23 print '%dir ' . $filename . "\n";
24 } elsif ( -f $filename ) { ### file
25 print $filename . "\n";
27 die("\nI can't handle: $filename\n\n");
30 # %attr(550, root, ossec) /var/ossec/etc
32 printf "%%attr(%03o, %s, %s) %s\n",
34 $UID[$sb->uid], $GID[$sb->gid], $filename;
36 #printf "%s: perm %04o, owner: %s, group: %s \n",
37 # $filename, $sb->mode & 07777,
38 # $UID[$sb->uid], $GID[$sb->gid];
42 open(FP,'</etc/passwd') || die "\nCan't open /etc/passwd\n\n";
44 while ($line = <FP>) {
45 ($name,$id) = (split(/:/,$line,))[0,2];
53 open(FP,'</etc/group') || die "\nCan't open /etc/group\n\n";
55 while ($line = <FP>) {
56 ($name,$id) = (split(/:/,$line,))[0,2];