On Thu, 27 Jan 2005 00:57:03 -0500, Valdis.Kletnieks(a)vt.edu
<Valdis.Kletnieks(a)vt.edu> wrote:
 On Wed, 26 Jan 2005 23:42:10 CST, "Timothy R. Chavez"
said:
 
 > Unless, I was doing something wrong.  When I tested a watch point on
 > both "/etc" and "passwd".  When I issued a "cat
/etc/passwd" only a
 > record for "passwd" was generated.  Then, when I did a "cat
/etc", I
 > received a record for "etc" -- I was only recording open() syscalls,
 > however.
 
 Ah.. Yes.. it won't call open() on /etc on the way to /etc/passwd.
 There's OTHER places that you get hooks in that case.
 
 Look around in fs/namei.c - link_path_walk ends up calling permission()
 on each component of the path in turn - and permission() ends up doing all
 the grunt work (file modes, ACLs, LSM, etc...)
  
So then, in theory, when I do a "cat /etc/passwd" and both
"etc/" and
"passwd" are being watched and the open syscall() will generate an
audit record, I should see a record for both file system objects in
the audit log.  For the open syscall(), there should be a message for
"etc" and "passwd", right?  Because if I hit the permission() for
"etc" and "passwd" I should be adding both "etc" and
"passwd" to the
audit context for the open() because they are both being watched.  I
was only getting a record for "passwd"
This will be the first thing I look at tommorow morning at work.
 
  
-- 
- Timothy R. Chavez