GNU/Linux >> Linux Esercitazione >  >> Linux

Come controllare l'accesso ai file su Linux

Su Linux c'è un audit RPM chiamato audit, che fornisce il servizio auditd per monitorare anche i processi ei comandi. Usando audit RPM possiamo controllare alcune semplici operazioni sui file come lettura, scrittura ed esecuzione. Questo post introdurrà un metodo per monitorare l'accesso ai file sul sistema Linux. Come "Quando il file è stato letto/modificato?", "Chi ha modificato il file specifico?".

1. avviare prima il servizio auditd se non è in esecuzione.

# service auditd start       ### CentOS/RHEL 6
# systemctl start auditd     ### CentOS/RHEL 7

2. usa auditctl comando per specificare quali file vuoi monitorare:

# auditctl -w /etc/hosts -p war -k hostswrap

-w :specifica il file che desideri controllare/controllare.
-p :quale operazione/autorizzazione vuoi controllare/guardare, r per leggere, w per scrivere, x per eseguire, a per aggiungere.
-k :specifica una parola chiave per questa regola di controllo, durante la ricerca nel log di controllo, puoi cercare per questa parola chiave

3. Si noti che le modifiche apportate al sistema di controllo in esecuzione eseguendo auditctl sulla riga di comando non sono persistenti durante i riavvii del sistema. Per rendere persistenti le modifiche, aggiungile a /etc/audit/audit.rules file e, se non sono attualmente caricati in audit, riavviare il servizio auditd per caricare il set di regole modificato.

# vi /etc/audit.rules
-w /etc/hosts -p war -k hostswrap
# service auditd restart       ### CentOS/RHEL 6
# systemctl restart auditd     ### CentOS/RHEL 7

4. Per elencare le regole di audit correnti nel servizio auditd, utilizzare l'opzione "l".

# auditctl -l
No rules
AUDIT_WATCH_LIST: dev=8:5, path=/etc/hosts, filterkey=hostswrap, perms=rwa, valid=0

5. controllare il registro di controllo per qualsiasi accesso al file /etc/hosts.

# ausearch -f /etc/hosts -i | less
type=FS_WATCH msg=audit(05/28/18 11:21:27.216:10) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=read
type=SYSCALL msg=audit(05/28/18 11:21:46.251:19) : arch=i386 syscall=open success=yes exit=5 a0=c679b5 a1=0 a2=1b6 a3=0 items=1 pid=16056 aui
d=unset uid=oracle gid=dba euid=oracle suid=oracle fsuid=oracle egid=dba sgid=dba fsgid=dba comm=ons exe=/home/oracle/oracle/product/10.2.0/c
rs_1/opmn/bin/ons
----
type=PATH msg=audit(05/28/18 11:21:38.697:11) : name=/etc/hosts flags=follow,access inode=4313009 dev=08:05 mode=file,644 ouid=root ogid=root
 rdev=00:00
type=CWD msg=audit(05/28/18 11:21:38.697:11) :  cwd=/newspace/TAR/May
type=FS_INODE msg=audit(05/28/18 11:21:38.697:11) : inode=4313009 inode_uid=root inode_gid=root inode_dev=08:05 inode_rdev=00:00
type=FS_WATCH msg=audit(05/28/18 11:21:38.697:11) : watch_inode=4313009 watch=hosts filterkey=hostswrap perm=read,write,append perm_mask=writ
e
.....

Il log mostra il tempo di operazione, l'elaborato/comando per leggere/scrivere il file, uid, ecc.


Linux
  1. Come gestire le capacità dei file Linux

  2. Come trovare un file in Linux

  3. Come creare uno scambio in Linux

  4. Come creare un file di scambio in Linux

  5. Come rinominare un file in Linux?

Come verificare il checksum su Linux

Come rinominare uno o più file in Linux

Come collegare simbolicamente un file in Linux

Come crittografare file su Linux

Come disabilitare lo scambio in Linux

Come usare gzip in Linux?