منبع اصلی نوشتار زیر در این لینک قرار دارد

نشان دادن اطلاعات از دستورهای اجرا شده

در این پست بسته نزم افزاری psacct برای مانیتورینگ فعالیت های کاربران در توزیع های لینوکسی معرفی شد. psacct شامل چندین دستور ac,sa,lastcomm,accton و دستور های last و lastb می باشد. در این پست چگونگی نصب آن در توزیع های لینوکسی و همچنین چگونگی استفاده از دستور lastcomm گفته خواهد شد. دستور lastcomm برای نشان اطلاعات دستور هایی که اجرا شده اند استفاده می شود. دستور دارای تعدا کمی سوئیچ است و مواردی که دریافت می کند و طبق آنها خروجی را نشان می دهد :نام دستور – نام کاربری که دستور را اجرا کرده و نام ترمینالی (tty) که دستور روی آن اجرا شده است. بطور مثال اگر جلوی دستور نام کاربری را بیاورید فقط اطلاعات همان کاربر را نشان می دهد. یا گر نام کاربر به همراه نام ترمینالی را بیاورید، تنها اطلاعاتی که مطابق با آن نام کاربری و نام ترمینال است را نشان خواهد داد. در ادامه چگونگی نصب آن در لینوکس و استفاده از آن گفته خواهد شد.

نصب در توزیع های مبتنی بر Redhat (مانند فدورا و CentOS و Oracle Linux)

yum install psacct

نصب در توزیع های دبیان و ابونتو و مینت

apt-get install acct

در توزیع های ابونتو، دبیان و مینت سرویس بصورت خودکار فعال (start) می شود ولی در توزیع های مبتنی بر Redhat باید سرویس را فعال کرد

etc/init.d/psacct status/

OUTPUT : Process accounting is disabled

etc/init.d/psacct start/

OUTPUT : Starting process accounting: [ OK ] #Service is tarted

  • ساده ترین شکل استفاده از دستور، اجرای آن بدون هیچ پارامتری می باشد.

lastcomm

tpvmlp SF root __ 0.00 secs Sun Aug 11 01:17
bash F root pts/1 0.00 secs Sun Aug 11 01:17
clear root pts/1 0.00 secs Sun Aug 11 01:17
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:17
gnome-screensav root __ 0.00 secs Sun Aug 11 01:17
sleep root __ 0.00 secs Sun Aug 11 01:16
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:17
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:17
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:16
gnome-screensav root __ 0.00 secs Sun Aug 11 01:16
sleep root __ 0.00 secs Sun Aug 11 01:15
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:16
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:16
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:16
gnome-screensav root __ 0.00 secs Sun Aug 11 01:15
sleep root __ 0.00 secs Sun Aug 11 01:15
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:15
tpvmlp SF root __ 0.00 secs Sun Aug 11 01:15
bash F root pts/1 0.00 secs Sun Aug 11 01:15
psacct root pts/1 0.00 secs Sun Aug 11 01:15
touch root pts/1 0.00 secs Sun Aug 11 01:15
accton S root pts/1 0.00 secs Sun Aug 11 01:15
psacct F root pts/1 0.00 secs Sun Aug 11 01:14
consoletype root pts/1 0.00 secs Sun Aug 11 01:14

  • اگر می خواهید تنها اطلاعاتی از یک کاربر خاص را بدست آورید، یکی از فرمت های زیر را استفاده کنید.

lastcomm –user USERNAME

last USERNAME

  • اگر می خواهید اطلاعاتی از دستور های اجرا شده بر روی یک ترمینال خاص بدست آورید، یکی از فرمت های زیر را استفاده کنید.

lastcomm –tty TERMINAL_NAME

lastcomm TERMINAL_NAME

بطور مثال اطلاعاتی از دستور های اجرا شده بر روی ترمینال pts/0 از دستور زیر استفاده کنید.

lastcomm –tty pts/0

lastcomm pts/0

bash F root pts/0 0.00 secs Sun Aug 11 01:22
tty root pts/0 0.00 secs Sun Aug 11 01:22
bash F root pts/0 0.00 secs Sun Aug 11 01:22
clear root pts/0 0.00 secs Sun Aug 11 01:22
bash F root pts/0 0.00 secs Sun Aug 11 01:22
man root pts/0 0.00 secs Sun Aug 11 01:03
sh root pts/0 0.00 secs Sun Aug 11 01:03
sh F root pts/0 0.00 secs Sun Aug 11 01:03
less root pts/0 0.00 secs Sun Aug 11 01:03

  • اگر می خواهید اطلاعاتی از یک دستور خاص بدست آورید، یکی از فرمت های زیر را استفاده کنید.

lastcomm –command COMMAND_NAME

lastcomm COMMAND_NAME

  • می توانیم خروجی را بر حسب نام کاربری، نام ترمینا و نام دستور باهم ترکیب و خروجی های فیلتر شده ای نسبت به آرگومان های ورودی نشان دهیم. بطور مثال فقط خروجی دستور bash که توسط کاربر root و بر روی ترمینال pts/0 اجرا شده است را نشان داد و یا هر ترکیب دیگر. مثلن خروجی تمامی دستور هایی که کاربر root بر روی ترمینال pts/0 اجرا کرده باشد. برای آنکه خروجی مطابق با تمامی آرگومان های ورودی باشد باید از سوئیج strict-match– استفاده نمود.

lastcomm –strict-match ARGS

بطور مثال خروجی برای تمامی دستور های اجرا شده توسط کاربر root بر روی ترمینال pts/0 بصورت زیر است.

lastcomm –strict-match root pts/0

OR

lastcomm –strict-match –user root –tty pts/0

gzip root pts/0 0.00 secs Sun Aug 11 01:25
gzip root pts/0 0.00 secs Sun Aug 11 01:25
gzip root pts/0 0.00 secs Sun Aug 11 01:25
bash F root pts/0 0.00 secs Sun Aug 11 01:22

و یا خروجی که برای نشان دادن دستور gzip که توسط کاربر root و بر روی ترمینال pts/0 اجرا شده باشد.

lastcomm –strict-match root pts/0 gzip

OR

lastcomm –strict-match –user root –tty pts/0 –command gzip

gzip root pts/0 0.00 secs Sun Aug 11 01:25
gzip root pts/0 0.00 secs Sun Aug 11 01:25
gzip root pts/0 0.00 secs Sun Aug 11 01:25

تفسیر خروجی

خروجی ها در دستور lastcomm به 4 ستون تقسیم می شوند

اولین ستون : نام دستور.

دومین ستون : که تک کاراکتری هستند flag نام دارند و معنی خاصی می دهند:

  • S — command executed by super-user
  • F — command executed after a fork but without a following exec
  • C — command run in PDP-11 compatibility mode (VAX only)
  • D — command terminated with the generation of a core file
  • X — command was terminated with the signal SIGTERM

سومین ستون : نام کاربری که سدتور را اجرا کرده است.

چهارمین ستون : زمان اجرای دستور.



برچسب ها : , , , , , ,