Inotify не работает для etc / passwd

Я пытаюсь установить listner для файла passwd в каталоге / etc и получаю уведомление только при первой смене пароля.

fd = inotify_init();
wd = inotify_add_watch (fd, "/etc/passwd", IN_MODIFY);
while(1)
{
read (fd, buff, BUFF_SIZE);
struct inotify_event *event = ( struct inotify_event * ) &buff[ i ];
printf("Event Len -  %d  wd %d \n", event->len, event->wd);
}

Почему это работает в первый раз, а не позже? Я вижу изменения метки времени каждый раз, когда я меняю пароль. Тот же набор кода работает нормально для другого файла.

2

Решение

При изменении /etc/passwdБольшинство приложений создают новый файл и переименовывают его. Это даст новый номер инода.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]