GNU/Linux >> Linux Esercitazione >  >> Linux

Sintassi del file di configurazione Loggedfs?

Qual è la sintassi del file di configurazione LoggedFS?


La documentazione ufficiale conteneva solo istruzioni per l'uso di loggedfs comando e un esempio di file di configurazione. Ok, è XML, ma quali sono tutti i possibili tag e attributi e cosa significano?

Risposta accettata:

Ho dato un'occhiata a Config.cpp , il file responsabile dell'analisi della configurazione. La configurazione di esempio in realtà fa un ottimo lavoro nell'acquisizione delle opzioni disponibili:non ce ne sono molte

Quando faccio riferimento a "l'output di esempio" di seguito, sto parlando di questa riga (estratta a caso dalla pagina di esempio):

17:29:35 (src/loggedfs.cpp:136) getattr /var/ {SUCCESS} [ pid = 8700 kded [kdeinit] uid = 1000 ]

Il tag radice è <loggedFS> . Ha due attributi opzionali:

  • logEnabled è una stringa — "true" significa che dovrebbe effettivamente restituire le informazioni di registro; qualsiasi altra cosa disabilita tutta la registrazione. L'impostazione predefinita è "true", poiché questo è il punto centrale del programma
  • printProcessName è una stringa — "true" significa che l'output del registro includerà il nome del processo, qualsiasi altra cosa significa che non lo farà. Il valore predefinito è "vero". Nell'output di esempio, kded [kdeinit] è il nome del processo

Gli unici nodi figli che interessano sono <include> e <exclude> . Nell'esempio li raggruppano sotto <includes> e <excludes> blocchi, ma quelli vengono ignorati dal parser (come qualsiasi altro nodo tranne <include> e <exclude> ).

Naturalmente, <include> le regole fanno sì che emetta la riga di registro se corrispondono, mentre <exclude> le linee fanno sì che non lo faccia. In caso di sovrapposizione, <exclude> sovrascrive <include> . Normalmente è necessario almeno un <include> regola da abbinare per un evento da registrare, ma un'eccezione è se sono presenti 0 <include> regole — quindi tutti gli eventi vengono registrati, anche se ci sono <exclude> corrispondenti righe .

Entrambi <include> e <exclude> prendi gli stessi attributi:

  • estensione è un'espressione regolare che viene confrontata con il percorso assoluto del file a cui è stato effettuato l'accesso/modificato/qualunque cosa (extension è un nome piuttosto scadente, ma immagino che sia l'uso comune). Ad esempio, se touch /mnt/loggedfs/some/file , l'espressione regolare in extension dovrebbe corrispondere (parziale) a /mnt/loggedfs/some/file
  • uidi è una stringa che contiene un numero intero o * . La regola corrisponde a una determinata operazione solo se il proprietario del processo che ha causato l'operazione ha l'ID utente specificato (* naturalmente significa che qualsiasi ID utente corrisponde). Nell'output di esempio, 1000 è l'uid
  • azione è il tipo specifico di operazione eseguita sul filesystem. Nell'output di esempio, getattr è l'azione. Le azioni possibili sono:
    • accesso
    • chmod
    • chown
    • getattr
    • collegamento
    • mkdir
    • mkfifo
    • mknod
    • apri
    • sola lettura aperta
    • apri-riscrivi
    • solo scrittura aperta
    • leggi
    • readdir
    • link di lettura
    • rinomina
    • rmdir
    • statistiche
    • collegamento simbolico
    • troncare
    • scollega
    • tempo
    • utensili
    • scrivi
  • retname è un'espressione regolare. Se il codice di ritorno dell'effettiva operazione sul filesystem eseguita da LoggedFS è 0, l'espressione regolare viene confrontata con la stringa SUCCESS . Un codice di ritorno diverso da zero fa sì che corrisponda a FAILURE . Questi sono gli unici valori possibili, quindi molto probabilmente eseguirai l'hardcode SUCCESS , FAILURE oppure usa .* se vuoi entrambi Nell'output di esempio, SUCCESS è il retname

A differenza di <loggedFS> attributi, questi non hanno valori predefiniti. Inoltre, mentre il parser riconoscerà gli attributi sconosciuti ed emetterà errori, non rileva gli attributi mancanti, quindi se dimentichi un attributo utilizzerà memoria non inizializzata.

Correlati:Linux – Trova directory che contengono più di un file con la stessa estensione?
Linux
  1. File di configurazione del database Magento 2

  2. Come reindirizzare l'output di un programma su un file zip?

  3. "xterm" o "xterm" nel file di configurazione?

  4. Reindirizzamento e uscita del tubo?

  5. Output del contenuto del file mentre cambiano?

Come salvare l'output dei comandi in un file in Linux

Bash:Scrivi su file

Inventario Ansible e file di configurazione

Procedura:Configurazione di base del file IPTables

Come reindirizzare l'output di system() su un file?

Colora l'output della coda