LINUX.ORG.RU

пишешь скрипт типа такого:

8<---------------------------------------

#/bin/sh

HISTORY="/home/baduser/.bash_history"

LOGFILE="/root/bad_user.log"

touch $LOGFILE

diff $LOGFILE $HISTORY | patch $LOGFILE

8<---------------------------------------

заталкиваешь его в рутовый крон, и он будет с заданным периодом синхронизировать лог и с историей мудака.

Аналогичные действия нужно проделать и с файлом /home/baduser/.mc/history, тк история миднайткомандера хранится отдельно



NewComer
()

во-первых, есть патчи для bash (можно исказать на honeynet project) которые пишут через syslog все команды, вводимые пользователем.

во-вторых, можно аудит использовать.

ivlad ★★★★★
()
Ответ на: комментарий от anonymous

правильный ответ был про chattr, а с твоим chmod я просто удалю этот файл (писать в домашнюю диру-то я имею право!) и всех делов.

sasha999 ★★★★
()
Ответ на: комментарий от sdio

$ type -a kill
kill is a shell builtin
kill is /bin/kill

Так что chmod 600 /bin/kill нифига не поможет. :D
Разве что chmod 600 /bin/bash :-P

ero-sennin ★★
()
Ответ на: комментарий от sdio

тогда юзать то что ivlad советовал...имхо безотказный вариант

Cosmicman ★★
()

Можно еще жесткую ссылку попробовать сделать )) И пусть удаляет.. Заодно у него не будет никаких подозрений. И гемороя меньше.

OxiD ★★★★
()
Ответ на: комментарий от gr_buza

ух блин.... Безопасная, открытая многопользовательская сред GNU/Linux не может справиться с сохранностью логов =) это жесть

А вообще, кроме chattr как-то в голову ничего не приходит

BaBL ★★★★★
()
Ответ на: комментарий от BaBL

Много раз проверенный chattr поможет избавится от таких головняков. Можно установку атрибутов на определенные файлы засунуть, к примеру, в adduser.

garlic
()
Ответ на: комментарий от BaBL

~/.bash_history в данном случае обычный юзерский ФАЙЛ, принадлежащий ЮЗЕРУ от которого надо его (файл) защищать. Бред, не так ли?

Системные логи пишутся через syslog. Они защишены от обычных юзеров? Да. Так что отвянь и модифицируй юзерскую прогу (здесь bash), чтобы писал через syslog.

sdio ★★★★★
()
Ответ на: комментарий от BaBL

Ну сказали уже, юзать патч для bash, логищий все комманды, введенные
юзверем через SYSLOG

P.S. в генте USE="bashlogger" emerge bash, у мну так на всех серверах
в логах примерно инфа следущего вида отпечатывается:

cs v12aml # tail /var/log/messages | grep HISTORY
May 2 23:04:57 cs -bash: HISTORY: PID=17654 UID=1008 su
May 2 23:05:05 cs bash: HISTORY: PID=17661 UID=0 emerge -pv bash
May 2 23:05:24 cs bash: HISTORY: PID=17661 UID=0 tail /var/log/messages
May 2 23:05:41 cs bash: HISTORY: PID=17661 UID=0 tail /var/log/messages | grep HISTORY
cs v12aml #

v12aml ★★
()
Ответ на: комментарий от Cosmicman

Не достаточно. В баше есть внутренняя команда kill. В /etc/profile тогда надо еще добавить:

enable -n kill enable -n enable

Но и этого не хватит :)

Так как повторный /bin/bash уже не будет читать /etc/profile :)

Надо рестриктед шелл делать со всякими заморочками...

Valmont ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.