Страница 1 из 2
наблюдение
Добавлено: 2008-12-11 13:18:40
Аларм
Нужно организовать на фряхе слежение за юзерами, т.е. если человек запустил mc и отредактировал какой-то файл я должен видеть это в логах, посмотрел на аккаунтинг - но скрипт не даёт нужного функционала, посоветуйте что-нибудь...
Re: наблюдение
Добавлено: 2008-12-11 13:25:31
zingel
Re: наблюдение
Добавлено: 2008-12-11 13:47:17
Гость
Re: наблюдение
Добавлено: 2008-12-11 13:54:29
Alex Keda
зело полезная утилита.
ушёл писать статью.
Re: наблюдение
Добавлено: 2008-12-11 14:30:47
Alex Keda
Re: наблюдение
Добавлено: 2008-12-11 14:57:08
Raven2000
1) убери srv2
2) # PROVIDE: termlog
# REQUIRE: cron devfs syslogd
это тут нужно?
Re: наблюдение
Добавлено: 2008-12-11 14:59:39
Alex Keda
1. пофигу

2. man rcorder
Re: наблюдение
Добавлено: 2008-12-11 15:26:27
Alex Keda
Дописал сттартовый скрипт, послал его как баг-репорт.
если примут - будет у порта нормальный стартовый скрипт.
для того который послал, если надо по субдиректориям разбивать, строки в rc.conf будут ткие:
Код: Выделить всё
# termlog
termlog_enable="YES"
termlog_log_dir="/var/log/termlog/`date +%Y-%m-%d`"
http://www.freebsd.org/cgi/query-pr.cgi?pr=129571
Re: наблюдение
Добавлено: 2008-12-11 20:31:23
Гость
я так понимаю без этого скрипта оно должно писать в текущую диру, да?
Код: Выделить всё
(~/blah)! termlog
termlog: open /dev/snp0 failed: No such file or directory
Exit 1
(~/blah)! termlog -t /dev/pts/7
load: 0.07 cmd: termlog 65854 [nanslp] 0.00u 0.00s 0% 1212k
load: 0.06 cmd: termlog 65854 [nanslp] 0.00u 0.00s 0% 1212k
^C
(~/blah)! la
. ..
(~/blah)! kldstat
Id Refs Address Size Name
1 15 0xffffffff80100000 79d740 kernel (/boot/kernel/kernel)
2 1 0xffffffff8089e000 4e9260 zfs.ko (/boot/kernel/zfs.ko)
3 2 0xffffffff80d88000 6748 opensolaris.ko (/boot/kernel/opensolaris.ko)
4 1 0xffffffff80d8f000 31358 kqemu.ko (/boot/modules/kqemu.ko)
5 1 0xffffffff80e32000 1fcd green_saver.ko (/boot/kernel/green_saver.ko)
6 1 0xffffffff80e34000 3516 snp.ko (/boot/kernel/snp.ko)
(~/blah)! uname -vm
FreeBSD 8.0-CURRENT #0 r185729M: Sun Dec 7 04:41:20 UTC 2008 blah@blah:/usr/obj/usr/src/sys/BLAH amd64
на 8-CURRENT только у меня не пашет?
Re: наблюдение
Добавлено: 2008-12-11 21:45:20
Alex Keda
Код: Выделить всё
acer# cd /dev/
acer# ll | grep snp
crw------- 1 root wheel 0, 114 11 дек 21:43 snp
acer# ll /dev/| grep snp
crw------- 1 root wheel 0, 114 11 дек 21:43 snp
acer# cd /dev/
acer# ln -s snp0 snp
ln: snp: File exists
acer# ln -s snp snp0
acer# ll | grep snp
crw------- 1 root wheel 0, 114 11 дек 21:43 snp
lrwxr-xr-x 1 root wheel 3 11 дек 21:44 snp0 -> snp
acer# cd /tmp/
acer# termlog
2008-12-11 18:44:48.320505 session root_ttyv1_1229021088.log created
2008-12-11 18:44:48.321552 session root_ttyv2_1229021088.log created
^C
acer# ll | grep log
-rw------- 1 root wheel 400B 11 дек 21:44 root_ttyv1_1229021088.log
-rw------- 1 root wheel 354B 11 дек 21:44 root_ttyv2_1229021088.log
acer#
наверно

))
Re: наблюдение
Добавлено: 2008-12-11 22:40:40
Гость
прогресс есть - появился файл
Код: Выделить всё
(/dev)! jot - 0 20 | xargs -I% ln -vs snp snp%
snp0 -> snp
...
snp20 -> snp
(/dev)! popd
(~/blah)! termlog
2008-12-11 19:21:55.946103 session pupkin_ttyv0_1229023315.log created
Segmentation fault (core dumped)
Exit 139
(~/blah)! cat pupkin_ttyv0_1229023315.log
(~/blah)! w
10:37PM up 4 days, 13:47, 8 users, load averages: 0.05, 0.39, 0.26
USER TTY FROM LOGIN@ IDLE WHAT
pupkin v0 - 8:09PM 2:27 -tcsh (tcsh)
pupkin pts/0 :pts/1:S.10 Sun09AM 4days xinit /home/pupkin/.xinitrc -- /usr/local/bin/X -nolisten tcp -br -auth /home/pupkin/.serverauth.2168
pupkin pts/2 :pts/1:S.9 Sun08AM - w
pupkin pts/3 :pts/1:S.0 Mon04PM 1:50 ssh -t lulu screen -mDRR
pupkin pts/4 :pts/1:S.1 Sun08AM 5 /bin/tcsh
pupkin pts/5 :pts/1:S.2 Mon01AM 3 /bin/tcsh
pupkin pts/6 :pts/1:S.8 Wed11PM - [xmp]
pupkin pts/7 :pts/1:S.3 8:15PM 18 w3m forum.lissyara.su
(~/blah)! gdb -q termlog
(gdb) r
Starting program: /usr/local/bin/termlog
During symbol reading, DW_AT_name missing from DW_TAG_base_type.
During symbol reading, unsupported tag: 'DW_TAG_const_type'.
2008-12-11 19:33:59.640818 session pupkin_ttyv0_1229024039.log created
During symbol reading, DW_AT_name missing from DW_TAG_base_type.
Program received signal SIGSEGV, Segmentation fault.
0x00000000004037b3 in snp_write_log () at fileops.c:163
163 fwrite(ptr, size, 1, sm->fp);
(gdb) bt full
#0 0x00000000004037b3 in snp_write_log () at fileops.c:163
maxfsize = 0
appendonly = 0
During symbol reading, incomplete CFI data; unspecified registers (e.g., rax) at 0x40368d.
#1 0x00000000004021e8 in handlesnpio () at termlog.c:218
vflag = 0
ttywidth = 8
thistty = 0x800a7f229 "2"
fflag = 0
userlist = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
iflag = 500000
ttylist = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
nflag = 20
oflag = 0x0
q_serialno = 8
usrwidth = 4
rootfs = 0x4039e7 "/"
head = {
tqh_first = 0x800c0e4c0,
tqh_last = 0x800c0e7b0
}
isdaemon = 0
q_lock = {
lock = 0x800c0b3d0,
rwlock = -1,
rdsok =
During symbol reading, unsupported tag: 'DW_TAG_const_type'.
0x800c0cf80,
nwrs_wait = 0,
wrok = 0x0,
thrid = 0x800b08c80
}
#2 0x000000000040241d in eventloop () at termlog.c:278
vflag = 0
ttywidth = 8
thistty = 0x800a7f229 "2"
fflag = 0
userlist = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
iflag = 500000
ttylist = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
nflag = 20
oflag = 0x0
q_serialno = 8
usrwidth = 4
rootfs = 0x4039e7 "/"
head = {
tqh_first = 0x800c0e4c0,
tqh_last = 0x800c0e7b0
}
isdaemon = 0
q_lock = {
lock = 0x800c0b3d0,
rwlock = -1,
rdsok = 0x800c0cf80,
nwrs_wait = 0,
wrok = 0x0,
thrid = 0x800b08c80
}
#3 0x00000008007565c1 in thread_start (curthread=0x800b08c80) at /usr/src/lib/libthr/thread/thr_create.c:288
set = {
__bits = {0, 0, 0, 0}
}
#4 0x0000000000000000 in ?? ()
No symbol table info available.
(gdb) l
158 err(1, "chmod failed");
159 if (appendonly)
160 if (chflags(fname, SF_APPEND) < 0)
161 err(1, "chflags failed");
162 }
163 fwrite(ptr, size, 1, sm->fp);
164 sm->counter += size;
165 fflush(sm->fp);
166 return (0);
167 }
у тя amd64?
Re: наблюдение
Добавлено: 2008-12-11 22:44:09
Alex Keda
Код: Выделить всё
acer$ uname -a
FreeBSD acer.lissyara.int.otradno.ru 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Mon Dec 8 23:41:04 MSK 2008 lissyara@acer.lissyara.int.otradno.ru:/usr/obj/usr/src/sys/color-console amd64
acer$
естессно.
========
приглашение шелла у вас ужасное..
в листингах мешает жутко

Re: наблюдение
Добавлено: 2008-12-11 22:48:16
Alex Keda
и зачем вам 20 симлинков? у меня с одним прекрасно наблюдает за двумя консолями...
=======
snp в курренте вроде попилили неслабо, когда консоли колбасили. Даже некоторое время его не было, не так давно под нажимом общественности - вернули.
Разработчик говорит что там не всё прямо...
мона поискать в рассылке куррента за пару месяцев назад - был тред по этой теме
Re: наблюдение
Добавлено: 2008-12-11 22:51:50
Гость
lissyara писал(а):приглашение шелла у вас ужасное..
в листингах мешает жутко =)
прикрути поддержку [тегов] внутри
Код: Выделить всё
, буду окрашивать перед постингом, чтоб глаза не разбегались ;)[quote="lissyara"]и зачем вам 20 симлинков?[/quote]тест![quote="lissyara"]Разработчик говорит что там не всё прямо...[/quote]если у тя на 8-CURRENT amd64 пашет, то скорее всего проблема у меня.
Re: наблюдение
Добавлено: 2008-12-11 23:04:57
Alex Keda
внутри
Код: Выделить всё
всё должно отображаться как есть. без обработки. так задумано.
=======
по сабжу - я бы для начала обновился.
Re: наблюдение
Добавлено: 2008-12-12 11:04:49
Аларм
А как потом эти логи нормально смотреть то можно?
если человек без mc работает то там более мене понятно
Код: Выделить всё
gate# ^G~^G~^G~^H^[[K^H^[[K^H^[[K^G^G^Gee /var/log/termlog/12-12-2008/root_ttyp0_1229068809.log^M
Но опять же какие то левые сисволы...а если человек с MC работает то в логах вообще какой-то бред
Код: Выделить всё
gate# mc^M
^[[1;50r^[[4l^[(B^[)0^[[50;1H^[[m^[[37m^[[40m^[[m^[[39;49m^M^[[K^M^[[1;50r^[[4l^[(B^[)0^[[?1h^[=^[[m^[[37m^[[40m^[[1;50r^[[H^[[2J^[[1;141H^[[1
..[37m.[44mx.[m..[37m.[44m^[[35C..[37m.[44mx.[23;1Hx.[m..[1m.[37m.[44m/zfs^[[29C.[m.^[[4;1H.[37m.[44mx.[m..[37m.[44m natd.conf^[[25C..[3
..[37m.[44mx.[25;1Hx.[m..[37m.[44m amd.map^[[25C..[37m.[44mx.[m..[1m.[32m.[44m*netstart^[[26C.[m..[^[[8;1H37m.[44mxx.[m..[37m.[44m
..[37m.[44mx.[m..[37m.[44m ^[[33C..[37m.[44mx.[40;1Hx.[m..[37m.[44m ftpusers ^[[20C..[37m.[44mx.[^[[34;3H.[37m.[44m profile
m..[1m.[37m.[44m/tthsum ^[[27C.[11;73H/sshblock ^[[9C.[m..[37m.[44mx.[m..[1m.[37m.[44m/tuntun ^[[9;18H^[[1K .[12;73H/ss
.[m..[37m.[44mx.[m..[1m.[37m.[44m/xmlsec ^[[16C.[32;73H/sudosh .[m..[37m.[44mx.[m..[1m.[37m.[44m^[[25;1H/x
37m.[44mx.[m..[1m.[32m.[44m*pccard_ether^[[21C .[m..[37m.[44mxx.[33Cx.[35Cx.[36;1Hx.[m..[37m.[44m dumpdates.[23C..[37m.[44mx.[m^[[29;1H..[37m.
^[[37m^[[44m;; Session started: 2008-12-12 08:00:09.313221
Re: наблюдение
Добавлено: 2008-12-12 11:15:27
Alex Keda
man cat

Re: наблюдение
Добавлено: 2008-12-12 11:15:51
Alex Keda
что касается mc - снесите его везде да и всё.
Re: наблюдение
Добавлено: 2008-12-12 11:34:16
Аларм
видимо придётся...но народ сильно пугается чёрного экрана...
Re: наблюдение
Добавлено: 2008-12-12 11:37:56
Аларм
Хорошо бы в статью ещё добавить как сделать ротацию логов через syslogd, а то она совсем маленькая получилась...
Re: наблюдение
Добавлено: 2008-12-12 11:43:43
Alex Keda
а при чём тут syslog
надо своим скриптом делать.
Re: наблюдение
Добавлено: 2008-12-12 11:49:40
Аларм
Выложи пожалуйста скриптик для людей далёких от программирования...
Re: наблюдение
Добавлено: 2008-12-12 14:01:45
Alex Keda
извращённый пример под свою ситуацию.
предполагаю баги в конце каждго месяца. на досуге пофикшу. пока сойдёт
скрипт в крон, вместо рестарта termlog, время - 23:59
Код: Выделить всё
srv2# cat ~/scripts/termlog.rotate.log.sh
#!/bin/sh
/usr/local/etc/rc.d/termlog restart
. /etc/rc.conf
work_dir=`dirname $termlog_log_dir`
cd $work_dir
num_dirs=`ls -t | wc -l`
num_old_dirs=`expr $num_dirs - 1`
ls -t | tail -$num_old_dirs |
{
while read dir_name
do
cd $work_dir/$dir_name && gzip *
done
}
srv2# grep termlog /etc/rc.conf
# termlog
termlog_enable="YES"
termlog_log_dir="/var/log/termlog/`date +%Y`/`date +%m`/`date +%d`"
srv2#
Re: наблюдение
Добавлено: 2008-12-17 14:07:08
serge
lissyara писал(а):а при чём тут syslog
надо своим скриптом делать.
А чем штатное не устраивает средство?
Re: наблюдение
Добавлено: 2008-12-17 16:13:46
Alex Keda
а подумать?
