Chcę monitorować całą aktywność użytkownika na moim serwerze.
Nawet gdy użytkownik wykonuje polecenie powłoki z jakiegoś edytora, takiego jak vim, chcę je zobaczyć w pliku dziennika.
Sprawdziłem narzędzie acct, ale nie wyświetla ono kompletnych poleceń. (Proszę o poprawienie mnie, jeśli przeoczyłem niektóre opcje, które już zostały wykonane).
Na jakie narzędzie Linux powinienem patrzeć, aby rozwiązać ten problem?
linux
user-management
Supratik
źródło
źródło
Odpowiedzi:
Dodaj ten wiersz do swojej konfiguracji pam odpowiedzialnej za logowanie (jego uwierzytelnianie systemowe w dystrybucjach opartych na redhat)
Aby dowiedzieć się, co zostało zrobione, możesz użyć.
Daje to taki wynik:
Jedynym minusem jest to, że może być nieco trudny do odczytania, ale jest znacznie lepszy niż większość proponowanych rozwiązań, ponieważ teoretycznie można go wykorzystać do zarejestrowania całej sesji, brodawek i wszystkich.
Edycja: Aha, możesz użyć aureportu, aby wygenerować listę, która może być bardziej pomocna.
źródło
auditd
, najpierw należy włączyć demona (nie było to domyślnie w mojej instalacji CentOS 6.7). Aby uruchomić demona, użyj :, i aby utrwalićservice auditd start
tę zmianę (po ponownym uruchomieniu komputera), użyjchkconfig auditd on
Source: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/... i access.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux /…Najlepszym rozwiązaniem Twojego problemu byłby wbudowany system kontroli systemu Linux . Użyj
man 8 auditd
lub sprawdź tę stronę, aby uzyskać więcej informacji: http://linux.die.net/man/8/auditd .Możesz także sprawdzić ten samouczek - choć jest on nieco poza zakresem twojego pytania, pokazuje, jak działa system kontroli.
źródło
Możesz użyć snoopy .
Jest to prosta biblioteka do rejestrowania poleceń, a nie odpowiednie rozwiązanie kontrolne (łatwe do obejścia). Ujawnienie: Jestem obecnym opiekunem snoopy.
źródło
Mniej znaną sztuczką, ale najłatwiejszą jest skorzystanie z wbudowanych funkcji kontroli
sudo
. Sudo jest dostarczane zsudoreplay
poleceniem, które ułatwia odtwarzanie sesji. Będzie nawet przekazywaćvim
sesje (jak sugerujesz).Oto jak z niego korzystać w kilku prostych krokach:
sudosh
w swoim systemie; jest to opakowanie powłoki wokółsudo
polecenia, które czyni użytkownikasudo
(nieroot
) i może być używane jako systemowa powłoka logowaniaWłącz
sudo
rejestrowanie. Edytuj/etc/sudoers.d/sudosh
:Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output
Dodaj to polecenie,
/etc/shells
aby zezwolić na logowanie przy jego użyciu:/usr/bin/sudosh
Wskazówka : aby uniemożliwić użytkownikom logowanie się za pomocą innych powłok, usuń te powłoki
/etc/shells
.Zaktualizuj użytkownika,
foobar
aby używałsudosh
powłoki.chsh -s /usr/bin/sudosh foobar
Aby uzyskać bardziej szczegółowe informacje, zobacz: https://github.com/cloudposse/sudosh/
źródło
oto magiczne rozwiązanie: http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
możesz wyświetlić statystyki dotyczące poleceń użytkownika / połączenia itp.
Wyświetl wszystkie polecenia wywołane przez danego użytkownika ...
Przeszukaj dzienniki rachunkowości według nazwy polecenia: $ lastcomm rm $ lastcomm passwd
i tak dalej, aby uzyskać więcej informacji, odwiedź powyższy link ..
źródło