GNU/Linux >> Linux Esercitazione >  >> Cent OS

Si dice che un file stia scomparendo:come monitorare un file per l'eliminazione in Linux

Domanda :un file sembra scomparire e non è possibile trovare una ragione diretta per la sua scomparsa. Come possiamo monitorare l'accesso ai file, in particolare l'eliminazione di un particolare file nel sistema CentOS/RHEL?

Un file può essere monitorato durante il suo ciclo di vita utilizzando auditd di Linux servizio.

I passaggi

1. Per installarlo su CentOS o RHEL, esegui:

# yum install audit

2. Per abilitare il servizio all'avvio, eseguire:

# chkconfig auditd on        # For CentOS/RHEL 6
# systemctl enable auditd        # For CentOS/RHEL 7

oppure avvialo temporaneamente, fino al prossimo riavvio:

# service auditd start        # For CentOS/RHEL 6
# systemctl start auditd        # For CentOS/RHEL 7
Nota :systemctl restart auditd non funzionerà in RHEL7 perché il kernel gestisce auditd in modo speciale. Sarà necessario interrompere e avviare il servizio.

3. Per guardare un file specifico per vedere se qualcosa tocca il file, esegui:

# auditctl -w [filename] -p rwxa  -k [filter key]

dove:
-w [nome file] :guarda il file specifico.
-p war :filtro autorizzazioni per scrivere, aggiungere, leggere.
-k [chiave filtro] :una chiave di filtro per identificare in modo univoco i log di controllo.

Ad esempio:

# auditctl -w /var/opt/sun/comms/messaging64/log/mail.log_yesterday -p rwxa -k mail.log_yesterday

4. Per elencare il set di regole corrente, eseguire:

# auditctl -l

Ad esempio:

# auditctl -l
LIST_RULES: exit,always watch=/var/opt/sun/comms/messaging64/log/mail.log_yesterday perm=rwxa key=mail.log_yesterday

Verifica

Per scoprire chi ha modificato o effettuato l'accesso al file controllato:

# ausearch -i -k [filter key]

Ad esempio:

# ausearch -i -k mail.log_yesterday
...
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6209) : item=0 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425831 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6209) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6209) : arch=x86_64 syscall=open success=yes exit=5 a0=7fff62973b1d a1=0 a2=7fff62973870 a3=2 items=1 ppid=16442 pid=16450 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=cat exe=/bin/cat key=mail.log_yesterday 
----
type=CONFIG_CHANGE msg=audit(12/12/2013 00:30:00.407:6210) : auid=root ses=570 op="updated rules" path=/var/opt/sun/comms/messaging64/log/mail.log_yesterday key=mail.log_yesterday list=exit res=1 
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6211) : item=1 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425831 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6211) : item=0 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6211) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6211) : arch=x86_64 syscall=unlink success=yes exit=0 a0=7ffff94beb1f a1=7ffff94beb1f a2=2 a3=2 items=2 ppid=16442 pid=16452 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=rm exe=/bin/rm key=mail.log_yesterday 
----
type=CONFIG_CHANGE msg=audit(12/12/2013 00:30:00.407:6212) : auid=root ses=570 op="updated rules" path=/var/opt/sun/comms/messaging64/log/mail.log_yesterday key=mail.log_yesterday list=exit res=1 
----
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=3 name=/opt/sun/comms/messaging64/data/log/mail.log_yesterday inode=425765 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=2 name=/opt/sun/comms/messaging64/data/log/mail.log_current inode=425765 dev=fd:00 mode=file,600 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=1 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=PATH msg=audit(12/12/2013 00:30:00.407:6213) : item=0 name=/opt/sun/comms/messaging64/data/log/ inode=423325 dev=fd:00 mode=dir,700 ouid=mailsrv ogid=mail rdev=00:00 
type=CWD msg=audit(12/12/2013 00:30:00.407:6213) :  cwd=/var/opt/sun/comms/messaging64/log 
type=SYSCALL msg=audit(12/12/2013 00:30:00.407:6213) : arch=x86_64 syscall=rename success=yes exit=0 a0=7fff81d5caea a1=7fff81d5cb1f a2=0 a3=0 items=4 ppid=16442 pid=16453 auid=root uid=mailsrv gid=mail euid=mailsrv suid=mailsrv fsuid=mailsrv egid=mail sgid=mail fsgid=mail tty=(none) ses=570 comm=mv exe=/bin/mv key=mail.log_yesterday 
...

Qui vediamo la rotazione dei file mail.log in corso, che viene eseguita da "return_job ' che si verifica per impostazione predefinita alle 00:30 e che viene eseguito dall'utente "mailsrv “. Puoi vedere che il file mail.log_yesterday è cat (nel mail.log), viene rimosso e mail.log_current viene rinominato in mail.log_yesterday.

Comprensione del controllo del sistema con auditd


Cent OS
  1. Come gestire le capacità dei file Linux

  2. Come trovare un file in Linux

  3. Come rinominare un file in Linux?

  4. Come utilizzare auditd per monitorare l'eliminazione di un file in Linux

  5. Come controllare le modifiche ai file e le esecuzioni di file in Linux

Come verificare il checksum su Linux

Come monitorare le modifiche ai file utilizzando fswatch in Linux

Come installare Android File Transfer per Linux su Ubuntu

Come collegare simbolicamente un file in Linux

Come impostare uno sfondo diverso per ogni monitor in Linux

Come installare Android File Transfer per Linux su Ubuntu