Титла: User monitoring Публикувано от: mrowcp в Dec 13, 2006, 01:21 Здравейте,
Искам да попитам има ли програма с която мога да следя през конзолата юзърите които са се логнали на моита машина какви команди изпълняват,какво стартират и т.н. Мерси Титла: User monitoring Публикувано от: astronom в Dec 13, 2006, 09:58
Това е за моментното състояние обаче. Може би и top ще ти върши работа. Титла: User monitoring Публикувано от: mrowcp в Dec 13, 2006, 13:01
Ставаше дума за програма а не за команди ![]() ![]() Титла: User monitoring Публикувано от: dedmin в Dec 13, 2006, 13:24 Я напиши в Гугъл "user monitoring in Linux" да видим какво ще излезе. Я, то било лесно бре!!!
Титла: User monitoring Публикувано от: astronom в Dec 13, 2006, 13:33 Ами аз това казах, че не е точно решението което ти трябва. Ак искаш да си прецизен може би трябва да използваш някакъв род process accounting:
Но мога само да те насоча към него - нищо повече. Титла: User monitoring Публикувано от: Vik в Dec 13, 2006, 13:42 Титла: User monitoring Публикувано от: dedmin в Dec 13, 2006, 14:25 Можеш да го постигнеш и с тор, но трябва да си поиграеш. Тор може да показва няколко прозореца в конзолата, да показва процесите на определен потребител, а също и да селектираш точно какви данни искаш. Ето една добра статия тор
Титла: User monitoring Публикувано от: gat3way в Dec 13, 2006, 15:16 Това което имат предвид под "process accounting" е експорт-ването от страна на ядрото на информацията за всеки един процес под формата на procfs entries. Примерно вижте какво става като напишеш ls -l `pidof bash` и т.н. Вътре се пазят доста забавни неща от сорта на working directory, отворени файлови дескриптори, използвана памет, вкл. заделена за данни, за кода, такава влезнала в суоп-а, похабена за използвани shared libs срещу което е линкнато. Има много друга полезна информация, например в какво състояние е процеса и ако "спи", в коя функция "спи" и т.н и т.н.
Не знам да има написано нещо което да върши точно работата която ти трябва (честно казано ми се вижда странна прищявка). Точно оттам вземат нужните си данни програми като top, ps и т.н. Предполагам няма да е много сложно да се напише нещо ако щеш на perl/php, което в един цикъл да чете /proc/<PID>/cmdline (където се държи името на изпълненото байнъри), да види собственика на директорията /proc/<PID> (той е еквивалентен на потребителя извикал байнърито), да си пази един масив за да знае дали това вече е проверявано или не е и ако не е да го счете за нова извикана от потребител команда. Резултатът от всичко това да се извежда в някакъв прегледен вид, по възможност и с дата и час. Вероятно някой се е сетил да реализира нещо такова. На цената на леко (а може би не чак толкова леко) деградиране на производителността на системата като цяло. И все пак не мисля че дори по този начин това може да бъде надежден начин за логване на всеки извикан процес. Ако изпълнението на един процес отнема много малко време (по-малко от времето необходимо за изчитане на /proc нещата) е напълно възможно да не успее да го лог-не примерно. Въпросът е какво толкова важно има кой какво кога бил извикал. Просто нямам идея. Дали някой ще го гледа това 24/7? Дали някой ще има нервите да гледа един дъълъг лог с извикани команди от всеки потребител и да се опита да го разчете? Значи един такъв шит за да бъде максимално прецизен трябва максимално бързо да изчита нужните неща от procfs. Нещо подобно става ако пуснеш top с параметър -d 0. На 2-процесорна машина като го пусна по този начин, половината CPU ресурси отиват за top, другата за konsole (не е лесно постоянно да преначертаваш прозореца все пак). На практика една такава програмка през повечето време ще е в running state. И все пак, ако си с еднопроцесорна машинка, при пускането на всяко по-CPU-intensive приложение вероятно ще го усетиш лошо. И така...не виждам особен смисъл де. Значи според мен има си логове, има си .bash_history, има доволно много начини да разбереш ако някой потребител прави лоши неща. Но да следиш всеки потребител в реално време какво exec-нал ми се вижда малко нездрава идея, както и досадна за човека, който трябва да наблюдава всичко това.. Титла: User monitoring Публикувано от: mrowcp в Dec 13, 2006, 19:52
Ами като прочетох поста ти излиза че... ![]() ![]() Мерси за изчерпателния отговор ![]() Титла: User monitoring Публикувано от: zeridon в Dec 16, 2006, 12:06 за shell хостинг най удачно е да сложиш grsec2, rsbac или selinux
задължителни квоти, по възможност достъп само с ключ а не с парола, евентуално и някакви ограничения с ulimit Титла: User monitoring Публикувано от: michail в Dec 16, 2006, 17:07 whowatch
|