در دو پست قبل فهرست کاربرن وارد شده به سیستم بخش اول و بخش دوم با دستورهایی برای مانیتور کردن ورود/خروج کاربران آشنا شدید. هر کاربر در دایرکتوری خانگی خود فایلی به نام bash_history است که بصورت Hidden شده در دایرکتوری خانگی قرار دارد. در این فایل تمامی دستور هایی که یک کاربر اجرا کند ذخیره خواهد شد و می تواند برای فهمیدن اینکه کاربر چه دستوری را اجرا کرده است و در هر خط آن یک دستور اجرا شده قرار می گیرد.
اما کاربر می تواند این فایل را پاک یا محتوای آنرا پاک کند. در تمامی توزیع های لینوکسی دستور هایی وجود دارند که یک مدیر می تواند اطلاعات کاملتری از فعالیت های یک کاربر بدست بیاورد. با استفاده از این دستور ها می توان فهمید که هر کاربر چه کار (دستوری) را انجام داده، چه مقدار منبع استفاده کرده، چه تعداد کاربر در حال فعالیت روی سیستم هستند و … برای استفاده از دستور های زیر باید در توزیع هایمبتنی بر Redhat بسته نرم افزاری psacct و در توزیع های مبتنی بر دبیان بسته نرم افزاری acct را نصب کنید. این دوبسته دقیقن یکی هستند.
در توزیع های مبتنی بر Redhat از دستور زیر برای نصب استفاده کنید.
و در توزیع های مبتنی بر دبیان از دستور زیر برای نصب استفاده کنید.
پس از نصب باید سرویس را در توزیع های مبتنی بر Redhat فعال کنیم اما در توزیع های مبتنی بر دبیان سرویس بصورت خودکار start می شود.
دستور ac : که آماری از مدت زمان های ارتباط کاربر با سیستم را نشان می دهد.
دستور lastcomm : آخرین دستور هایی که کاربر اجرا کرده را نشان می دهد.
دستور accton : برای روشن/خاموش کردن فرایند حساب رسی (Turn Process Accounting on or off)
دستور sa : اطلاعات خلاصه ای از دستور های اخیرا اجرا شده.
نمایش مجموع مدت زمان فعالیت یک کاربر در سیستم به دقیقه :
با استفاده از دستور ac می توان مجموع کل دقتایقی که یک کاربر در سیستم فعالیت داشته را نشان داد. اجرای این دستور بدون هیچ پارامتری مجموع دقایق فعالیت کاربر کنونی را برای تمامی روز ها نشان می دهد.
برای نمایش مجموع دقایق فعالیت های کاربر کنونی بصورت روز به روز (روزانه) از سوئیچ d- استفاده کنید.
و برای نمایش بصورت سالانه از سوئیچ y- استفاده کنید. برای نمایش اطلاعات بر اساس تمامی افراد از سوئیچ p- استفاده کنید. خروجی در این حالت ابتدا تک تک افرادی که فعالیت کرده اند را نشان می دهد و سپس یک عدد مجموع کلی تمامی افراد را نشان می دهد.
برای نشان دادن بر اساس یک کاربر خاص از فرمت زیر استفاده کنید.
همچنین با استفاده از فرمت بالا به همراه سوئیچ d- می توانید اطلاعات روزانه یا با سوئیچ y- اطلاعات سالانه کاربر خاصی را نشان دهید.
خلاصه ای از اطلاعات حساب رسی (Accounting) : با استفاده از سوئیچ sa می توانید اطلاعات کاملی از فعالیت های تک تک کاربران را نشان دهید. با اجرای تنهای دستور، اطلاعات کلی در 5 ستون مانند خروجی زیر نشان داده خواهد شد.
برای اطلاع از هر ستون دستور man sa را اجرا کنید. اگر بخواهید بصورت منفرد اطلاعات هر کاربر را مشاهده کنید از سوئیچ u- استفاده کنید.
سوئیچ m- تعداد فرایند ها و زمان استفاده آنها از پردازنده را نشان خواهد داد.
آخرین دستوری که اجرا شده :
با استفاده از دستور lastcomm می توان آخرین دستور هایی که روی سیستم اجرا شده اند را نشان داد. اجرای تنهای این دستور، تمامی دستور ها برای تمامی کاربران حتی کاربرانی مانند postfix که نمی توانند به سیستم لاگین کنند را نشان می دهد.
اما با فرمت lastcomm USERNAME می توان خروجی را بر اساس یک کاربر خاص مانند postfix نشان داد.
نویسنده نامی امیر
اما کاربر می تواند این فایل را پاک یا محتوای آنرا پاک کند. در تمامی توزیع های لینوکسی دستور هایی وجود دارند که یک مدیر می تواند اطلاعات کاملتری از فعالیت های یک کاربر بدست بیاورد. با استفاده از این دستور ها می توان فهمید که هر کاربر چه کار (دستوری) را انجام داده، چه مقدار منبع استفاده کرده، چه تعداد کاربر در حال فعالیت روی سیستم هستند و … برای استفاده از دستور های زیر باید در توزیع هایمبتنی بر Redhat بسته نرم افزاری psacct و در توزیع های مبتنی بر دبیان بسته نرم افزاری acct را نصب کنید. این دوبسته دقیقن یکی هستند.
در توزیع های مبتنی بر Redhat از دستور زیر برای نصب استفاده کنید.
کد PHP:
yum install psacct
کد PHP:
apt-get install acct
کد PHP:
etc/init.d/psacct start/
دستور lastcomm : آخرین دستور هایی که کاربر اجرا کرده را نشان می دهد.
دستور accton : برای روشن/خاموش کردن فرایند حساب رسی (Turn Process Accounting on or off)
دستور sa : اطلاعات خلاصه ای از دستور های اخیرا اجرا شده.
نمایش مجموع مدت زمان فعالیت یک کاربر در سیستم به دقیقه :
با استفاده از دستور ac می توان مجموع کل دقتایقی که یک کاربر در سیستم فعالیت داشته را نشان داد. اجرای این دستور بدون هیچ پارامتری مجموع دقایق فعالیت کاربر کنونی را برای تمامی روز ها نشان می دهد.
کد PHP:
ac
total 19.09
کد PHP:
ac -d
Feb 21 total 4.62
Today total 14.54
کد PHP:
ac -p
pc1 0.01
root 19.23
total 19.24
کد PHP:
ac USERNAME
ac root
total 19.23
کد PHP:
ac -d USERNAME
ac -y USERNAME
کد PHP:
sa
برای اطلاع از هر ستون دستور man sa را اجرا کنید. اگر بخواهید بصورت منفرد اطلاعات هر کاربر را مشاهده کنید از سوئیچ u- استفاده کنید.
کد PHP:
sa -u
کد PHP:
sa -m
با استفاده از دستور lastcomm می توان آخرین دستور هایی که روی سیستم اجرا شده اند را نشان داد. اجرای تنهای این دستور، تمامی دستور ها برای تمامی کاربران حتی کاربرانی مانند postfix که نمی توانند به سیستم لاگین کنند را نشان می دهد.
کد PHP:
lastcomm
کد PHP:
lastcomm postfix
pickup S postfix __ 0.03 secs Fri Feb 22 03:30
cleanup S postfix __ 0.01 secs Fri Feb 22 03:50
trivial-rewrite S postfix __ 0.01 secs Fri Feb 22 03:50
pickup S postfix __ 0.01 secs Fri Feb 22 01:50