Come posso sapere quale utente ha eliminato una directory?


8

Il mio server Ubuntu ha circa 30 utenti attivi. Conosco personalmente tutti coloro che usano il server. Di recente, alcuni amici e io stavamo lavorando al progetto. Abbiamo creato una nuova directory per il progetto e poiché tutti conoscono tutti, non ci siamo preoccupati di proteggere il nostro lavoro con un sacco di autorizzazioni. Avremmo dovuto, perché ci siamo svegliati questa mattina per scoprire che qualcuno ha rimosso l'intera directory.

Il nostro lavoro viene eseguito il backup ogni notte, quindi non è davvero un grosso problema ripristinare il nostro lavoro. Tuttavia, vorremmo scoprire chi l'ha rimosso in modo da poterli confrontare. Finora la cosa migliore che abbiamo escogitato per trovare il nostro colpevole è controllare la storia di bash di tutti, ma questo è lungo e noioso e ci sono possibilità che se ci fosse un intento malizioso dietro la rimozione della directory che il nostro colpevole probabilmente ha modificato il loro per coprire le loro tracce (o ovviamente potrebbero usare una shell diversa).

Quindi, in sostanza, qual è il modo più semplice e veloce per scoprire chi ha cancellato una directory?

Grazie in anticipo per il tuo tempo.


2
Non penso sia possibile.
enzotib,

4
La prossima volta usa un sistema di controllo della versione o SparkleShare (che usa un VCS git) o una cartella crittografata (usando [gnome- ] encfs ) sincronizzata con Ubuntu One o Dropbox.
dAnjou,

@dAnjou Abbiamo git e subversion installati sul nostro server, ma dal momento che stiamo lavorando su un sito Web in cui aggiungevamo / rimuovevamo costantemente i file da esso sembrava una seccatura non necessaria per preoccuparci di usare nessuno dei due. Come ho accennato alla mia domanda, probabilmente avremmo dovuto creare un gruppo e rendere la directory accessibile solo dal nostro gruppo. Indipendentemente da ciò, possiamo recuperare tutto il nostro lavoro da quando è stato eseguito il backup. La mia preoccupazione in questo momento è che non voglio che un utente elimini directory sul sistema con cui non sono affiliati. Confido che tutti i miei utenti non facciano qualcosa del genere, quindi questo mi disturba davvero.
Rob S.

Sì, non è possibile.
psusi,

1
Puoi controllare le eliminazioni (o le modifiche) ai file. Vedi cyberciti.biz/tips/… eman auditctl
Lekensteyn il

Risposte:


5

Non ho trovato una pallottola magica in risposta alla tua domanda; parte di questo motivo è dettagliata qui: /superuser/178596/checking-user-command-history-in-unix

Questo semplice comando può aiutarti a rintracciare ciò che è accaduto, cercando i comandi rm e mv in tutti i file della cronologia della shell in tutte le home directory degli utenti:

find /home -type f -iname .*history -exec grep "rm\|mv" {} \;

È bello avere un backup valido per salvarti, ma consiglio vivamente di creare alcuni gruppi per le cartelle di progetto e di aggiungere semplicemente account utente a tali gruppi; che ti farà risparmiare molto dolore in futuro.

Esempio: aggiungere un gruppo e aggiungere i membri del team di progetto

groupadd coolproject
adduser jim coolproject
adduser joe coolproject
adduser charlie coolproject

impostare le autorizzazioni in modo corretto in modo ricorsivo e garantire l'accesso in futuro per il team indipendentemente da chi crea / modifica i file

chown -R yourusername:coolproject /path/to/projectdir
find /path/to/projectdir -type d -exec chmod 2775 {} \;

(il 2 imposta la proprietà del gruppo su "appiccicosa", questo assicura che il proprietario del gruppo di qualsiasi progetto rimanga "coolproject")

find /path/to/projectdir -type f -exec chmod 664 {} \;

Spero che ti aiuti! B-)


Grazie! Ho modificato il comando in "find / home -type f -iname. * History -print -exec grep" rm \ | mv "{} \;" in modo da poter ottenere i nomi dei file delle storie che hanno prodotto informazioni interessanti.
Rob S.

eccellente Rob! felice di poterti aiutare. =)
Chad Stovern,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.