watching a file for ownership change
Joe McGuckin
joe at via.net
Tue May 24 03:53:56 GMT 2005
It seems like you'd want your kevent() callback (or whatever) to be
triggered as the modifying process is exiting the syscall that is modifying
the file but before control is actually passed back to it - you'd want to be
able to 'catch it in the act' so to speak.
On 5/23/05 1:23 PM, "Marco Molteni" <molter at tin.it> wrote:
> On Sun, 22 May 2005 04:05:50 +0100
> Bruce M Simpson <bms at spc.org> wrote:
>
>> On Sat, May 21, 2005 at 10:38:30PM -0400, Charles Sprickman wrote:
>>> I'd like to find a way to watch one of the user's maildirsize files
>>> that seems to flip ownerships at least once a day and try to
>>> determine what process is changing the ownership.
>>> How can I do that without dropping a bunch of daemons on a
>>> production machine into heavy-debug mode? OS is 4.8 with all
>>> current patches.
>>
>> You could try watching kevent() on the file for EVFILT_VNODE with
>> NOTE_ATTRIB. You'd need to write a small C program to do this.
>>
>> Whilst this won't tell you who did what, it could give you
>> sufficiently good timestamps from it happening to begin tracking the
>> culprit down further, perhaps using lsof.
>
> When I saw the first post I actually wrote the kevent program
> you are sugesting as an exercise, then I realized that I couldn't
> obtain the PID of the process that modified the file.
>
> Would it be feasible/reasonable to add this feature to kqueue ?
>
> marco
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
--
Joe McGuckin
ViaNet Communications
994 San Antonio Road
Palo Alto, CA 94303
Phone: 650-213-1302
Cell: 650-207-0372
Fax: 650-969-2124
More information about the freebsd-hackers
mailing list