Risposte:
Puoi anche attivare la contabilità di processo (s / can / should /!)
È quindi possibile utilizzare:
lastcomm(1)
per vedere il comando eseguito e se sono stati eseguiti dopo un fork, con o senza un exec.
In combinazione con un IDS basato su host, questo dovrebbe darti ciò di cui hai bisogno "affinché la giustizia del re possa essere fatta su di lui".
Come stai registrando le loro attività in questo momento? Il più semplice è impedirgli di lanciare shell da vi.
# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc
Se stai usando una shell speciale per registrare i loro comandi, puoi cambiare vi per usare solo quella shell.
Stai parlando della storia delle conchiglie? vi modalità shell ( :sh
) avvia la shell predefinita dell'utente Se questo è bash, puoi assicurarti che la registrazione della cronologia sia sempre abilitata modificando il globale / etc / bashrc e aggiungendo:
set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'
ciò assicurerà che ogni comando utente venga registrato in un file, non venga sovrascritto e verrà aggiornato ogni volta che viene visualizzato il prompt della shell.
Si noti che gli utenti possono sovrascriverlo a livello personale, ~/.bashrc
quindi non è una garanzia assoluta che accada la registrazione.
Alcune versioni di vi (come nvi) supportano una modalità sicura che disabilita l'accesso alla shell, avviando vi come nvi -S
. È possibile impostare un alias globale /etc/bashrc
per forzare anche questa modalità per impostazione predefinita.
Si noti che in generale il problema degli utenti che accedono alla shell in modo imprevisto è un classico problema unix. Non c'è modo di disabilitarlo completamente, il meglio che puoi fare è provare a limitare l'accesso per impostazione predefinita. Un utente sofisticato (o anche un utente che sa usare google) può sempre aggirare queste restrizioni. Ad esempio, se un utente non desidera che venga registrata la cronologia della shell, potrebbe sempre eseguire una nuova copia della shell con le opzioni che desidera utilizzare.
Ecco un ottimo resoconto di come forzare la registrazione in bash e i modi in cui è possibile aggirare la registrazione.
Infine, hai considerato di parlare con l'utente per determinare cosa stanno facendo? Il 99% delle volte una semplice comunicazione verbale può chiarire qualsiasi confusione. Se stai registrando l'attività di questo utente perché non ti fidi di loro, forse puoi parlargli delle tue preoccupazioni.