Linux & Open Source

راهنمای ضروری مدیریت لینوکس

مدیریت لینوکس مهارتی حیاتی برای هر توسعه‌دهنده یا مهندس DevOps است. تسلط بر اجزای اصلی سیستم‌عامل به شما امکان می‌دهد محیط‌هایی امن، کارآمد و پایدار را حفظ کنید. این راهنما ستون‌های اساسی مدیریت سیستم لینوکس را پوشش می‌دهد: کاربران، فایل‌ها، بسته‌ها، سرویس‌ها و نگهداری.

مدیریت کاربر و گروه

مدیریت مؤثر کاربران، خط مقدم دفاع است. شما باید نحوه ایجاد، تغییر و حذف کاربران و گروه‌ها را درک کنید. فایل‌های /etc/passwd و /etc/shadow اطلاعات احراز هویت کاربران و سیاست‌های رمز عبور را ذخیره می‌کنند.

# ایجاد کاربر جدید با دایرکتوری خانگی
sudo useradd -m -s /bin/bash jdoe

# تنظیم رمز عبور برای کاربر جدید
sudo passwd jdoe

# افزودن کاربر به گروه sudo برای دسترسی‌های بالاتر
sudo usermod -aG sudo jdoe

همیشه عضویت در گروه را با استفاده از دستور id بررسی کنید تا اطمینان حاصل شود که مجوزها به درستی اعمال شده‌اند.

سیستم‌های فایل و مجوزها

درک سلسله مراتب سیستم فایل لینوکس و مدل‌های مجوز حیاتی است. لینوکس از سه نوع مجوز استفاده می‌کند: خواندن (r)، نوشتن (w) و اجرا (x) که بر سه دسته اعمال می‌شوند: مالک، گروه و دیگران.

# مشاهده مجوزهای دقیق
ls -l /var/www/html

# تغییر مالکیت به صورت بازگشتی
sudo chown -R www-data:www-data /var/www/html

# تنظیم مجوزهای محدودکننده (755 برای دایرکتوری‌ها، 644 برای فایل‌ها)
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;

برای ایمن‌سازی دایرکتوری‌های حساس، به طور مکرر از chmod و chown استفاده کنید. هرگز سرویس‌ها را به عنوان کاربر روت اجرا نکنید، مگر اینکه مطلقاً ضروری باشد؛ در عوض از حساب‌های سرویس اختصاصی استفاده کنید.

مدیریت بسته‌ها

بیشتر توزیع‌های لینوکس از مدیران بسته مبتنی بر RPM (رد هت/سنت‌اواس) یا DEB (دبیان/اوبونتو) استفاده می‌کنند. به‌روز نگه داشتن نرم‌افزار برای امنیت و سازگاری حیاتی است.

# دبیان/اوبونتو: به‌روزرسانی و ارتقا
sudo apt update
sudo apt upgrade -y

# سنت‌اواس/RHEL: به‌روزرسانی تمام بسته‌ها
sudo yum update -y
# یا در نسخه‌های جدیدتر با استفاده از dnf:
sudo dnf upgrade -y

همیشه پیش از ارتقای بسته‌های حیاتی سیستم، یادداشت‌های تغییر یا نسخه‌ها را بررسی کنید تا از برهم خوردن وابستگی‌ها جلوگیری شود.

مدیریت سرویس‌ها با systemd

سیستم‌های مدرن لینوکس برای مدیریت سرویس‌ها به systemd متکی هستند. این سیستم راهی استاندارد برای شروع، توقف و نظارت بر سرویس‌ها فراهم می‌کند.

# بررسی وضعیت یک سرویس
sudo systemctl status nginx

# فعال‌سازی یک سرویس برای شروع در زمان بوت
sudo systemctl enable docker

# راه‌اندازی مجدد یک سرویس پس از تغییرات پیکربندی
sudo systemctl restart apache2

از journctl -u service_name برای مشاهده گزارش‌های (لاگ‌های) سرویس‌های خاص استفاده کنید که در عیب‌یابی شکست‌های راه‌اندازی یا خطاهای زمان اجرا کمک‌کننده است.

نگهداری سیستم

نگهداری منظم، سلامت بلندمدت سیستم را تضمین می‌کند. وظایف کلیدی شامل نظارت بر استفاده از دیسک، پاک‌سازی لاگ‌های قدیمی و مدیریت منابع سیستم است.

# بررسی استفاده از دیسک
df -h

# یافتن فایل‌های بزرگ برای پاک‌سازی
sudo find / -type f -size +100M

# مشاهده فرآیندهای فعال مرتب‌شده بر اساس استفاده از حافظه
ps aux --sort=-%mem | head

پشتیبان‌گیری خودکار را پیاده‌سازی کنید و در نظر بگیرید از ابزارهایی مانند logrotate برای جلوگیری از مصرف تمام فضای دیسک موجود توسط فایل‌های لاگ استفاده کنید. با رعایت این بهترین شیوه‌ها، می‌توانید زیرساخت لینوکس قوی و امنی را حفظ کنید.

نتیجه‌گیری

مدیریت لینوکس نیازمند ترکیبی از دانش نظری و مهارت عملی در خط فرمان است. با تسلط بر مدیریت کاربران، مجوزها، مدیریت بسته‌ها، کنترل سرویس‌ها و نگهداری روتین، پایه‌ای محکم برای مدیریت سیستم‌های پیچیده ایجاد می‌کنید. یادگیری مستمر و بررسی تغییرات کلید موفقیت بلندمدت در مدیریت سیستم است.

Share: