URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3314
[ Назад ]

Исходное сообщение
"Оповещения об изменениях в файловой системе в Linux"

Отправлено ival , 25-Авг-04 14:44 
Можно ли получать оповещения об изменениях в файловой системе (вроде помещен/удален файл в конкретной директории) и о попытке доступа к файлу?

Содержание

Сообщения в этом обсуждении
"Оповещения об изменениях в файловой системе в Linux"
Отправлено Vladislav Lazarenko , 27-Авг-04 15:17 
>Можно ли получать оповещения об изменениях в файловой системе (вроде помещен/удален файл
>в конкретной директории) и о попытке доступа к файлу?

If you mean Linux OS then use dirnotify. It is not recommended to use it with kernels < 2.6.7. Good luck!

(*
* WBR, Vladislav
*)


"Оповещения об изменениях в файловой системе в Linux"
Отправлено XMan , 31-Авг-04 18:09 
Вообще-то mc это уже сколько лет использует и ничего. Работает :)

"Оповещения об изменениях в файловой системе в Linux"
Отправлено dim , 06-Сен-04 15:31 
возможно не из той оперы, но касательно слежения за файлами(модификация, удаление, изменения прав и т.д.) - tripwire.



"Оповещения об изменениях в файловой системе в Linux"
Отправлено Sveta_F , 31-Авг-04 08:46 
>Можно ли получать оповещения об изменениях в файловой системе (вроде помещен/удален файл
>в конкретной директории) и о попытке доступа к файлу?


FAM или в KDE KDirLister KDirNotify :)


"Оповещения об изменениях в файловой системе в Linux"
Отправлено foxru , 01-Сен-04 19:15 
>Можно ли получать оповещения об изменениях в файловой системе (вроде помещен/удален файл
>в конкретной директории) и о попытке доступа к файлу?


небольшой пример нарытый в свое время через google на одном японском сайте

#define _GNU_SOURCE
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <unistd.h>

static volatile int event_fd;

static void handler(int sig,siginfo_t *si, void *data){
    event_fd = si->si_fd;
}

int main(void){
    struct sigaction act;
    int fd;

    act.sa_sigaction = handler;
    sigemptyset(&act.sa_mask);
    act.sa_flags = SA_SIGINFO;
    sigaction(SIGRTMIN, &act, NULL);

    fd = open(".", O_RDONLY);
    fcntl(fd, F_SETSIG, SIGRTMIN);
    fcntl(fd, F_NOTIFY, DN_MODIFY|DN_CREATE|DN_MULTISHOT);
    for(;;){
        pause();
        printf("%d\n",event_fd);
    }
    return 0;
}

и список флажков

DN_ACCESS (read)
DN_MODIFY (write,truncate)
DN_CREATE
DN_DELETE
DN_RENAME
DN_ATTRIB (chmod,chown)


"Оповещения об изменениях в файловой системе в Linux"
Отправлено Murr , 03-Сен-04 17:39 
>Можно ли получать оповещения об изменениях в файловой системе (вроде помещен/удален файл
>в конкретной директории) и о попытке доступа к файлу?

Только на локальной файловой системе