آموزش مانیتورینگ فعالیت کاربران در لینوکس با استفاده از ابزارهای psacct و acct پرینت


## 👁️‍🗨️ آموزش مانیتورینگ فعالیت کاربران در لینوکس با استفاده از ابزارهای `psacct` و `acct`

برای مدیران سیستم (SysAdminها) یا مدیران سرور، مهمه که بدونن چه کاربرانی در حال استفاده از سیستم هستند، چه دستوری اجرا شده، چه زمانی فعال بودن و چقدر منابع مصرف کردن. ابزارهای قدرتمند و سبک‌وزن `psacct` و `acct` دقیقاً برای این هدف طراحی شدن.

---

## 🧰 تفاوت بین `psacct` و `acct`

| ابزار | توضیح |
|------|-------|
| `psacct` | کمی سبک‌تر و ساده‌تر برای مانیتورینگ پایه‌ای |
| `acct` | امکانات بیشتر و جزئیات دقیق‌تر؛ مناسب برای گزارش‌گیری بلندمدت |

🔹 هر دو ابزار کار مشابهی انجام می‌دن، ولی `acct` اطلاعات دقیق‌تری ارائه می‌ده.

---

## 🔧 نصب ابزارها

### در سیستم‌های **Debian/Ubuntu**:
```bash
sudo apt install acct
```

### در سیستم‌های **CentOS/RHEL**:
```bash
sudo yum install psacct
```

---

## ▶️ فعال‌سازی سرویس

بعد از نصب، سرویس رو فعال کن:

```bash
sudo systemctl start acct
sudo systemctl enable acct
```

برای `psacct` هم به‌جای `acct` استفاده می‌شه.

---

## 🔍 دستورهای کاربردی برای مانیتورینگ

### 1. نمایش آخرین دستورات کاربران

```bash
lastcomm
```

🔹 لیستی از تمام دستورات اجراشده توسط کاربران، به همراه نام کاربر، زمان، و مصرف CPU.

---

### 2. مشاهده اینکه هر کاربر چه مدت فعال بوده (`sa`)

```bash
sudo sa
```

🔹 اطلاعاتی مثل تعداد اجرای دستور، زمان مصرف‌شده CPU، و مصرف حافظه رو نشون می‌ده.

---

### 3. لیست اجرای دستورات بر اساس نام برنامه

```bash
sudo sa -m
```

🔹 خلاصه‌ای از تمام دستورات اجرایی مرتب‌شده براساس مقدار مصرف منابع.

---

### 4. بررسی فعالیت کاربر خاص

```bash
sudo ac -p
```

🔹 زمان ورود کاربران به سیستم (Login duration) رو برای هر کاربر نشون می‌ده.

---

### 5. مدت زمان کلی استفاده از سیستم

```bash
sudo ac
```

🔹 نمایش کل مدت استفاده کاربران از سیستم.

---

## 📊 مثال ترکیبی

فرض کنیم می‌خوای بدونی کاربر `amir` چه دستورهایی اجرا کرده:

```bash
lastcomm --user amir
```

یا بخوای ببینی کدوم برنامه‌ها بیشتر از همه استفاده شدن:

```bash
sudo sa -m | sort -k5 -n
```

---

## 🛑 توقف سرویس و حذف اطلاعات

برای غیرفعال‌سازی سرویس:

```bash
sudo systemctl stop acct
```

پاک‌سازی لاگ‌ها:

```bash
sudo rm /var/account/*
```

---

## 🧠 نکات امنیتی

- این ابزارها لاگ دستورات رو ذخیره می‌کنن، اما محتوای اون دستورات (مثل گزینه‌ها یا مسیر فایل) رو نه.
- برای لاگ دقیق‌تر از `auditd` یا `bash-logging` هم می‌تونی استفاده کنی.
- مناسب برای محیط‌هایی با دسترسی چندکاربره یا سرورهای شرکتی.

---

## ✅ جمع‌بندی

| ابزار | کاربرد اصلی |
|------|-------------|
| `psacct` | مانیتورینگ ساده دستورات کاربران |
| `acct` | گزارش‌گیری دقیق، لاگ‌گیری بلندمدت |
| `lastcomm` | نمایش دستورات اجراشده |
| `sa` | آنالیز مصرف منابع و فعالیت‌ها |
| `ac` | زمان فعالیت کاربران در سیستم |

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت