رفتن به محتوای اصلی
دیدگاه کلود | ارائه‌کننده سرورهای ابری و اختصاصی
راهنمای امن ویرایش فایل Sudoers

راهنمای امن ویرایش فایل Sudoers

ویرایش فایل /etc/sudoers باید با دستور visudo و با دقت انجام شود تا دسترسی مدیریتی و امنیت سیستم حفظ شود. در این آموزش روش امن دادن دسترسی sudo، ایجاد قوانین کم‌دسترسی و اعتبارسنجی تغییرات توضیح داده شده است. همچنین نکات امنیتی پیشرفته و روش بازیابی در صورت بروز مشکل ارائه شده‌اند.

ویرایش فایل /etc/sudoers یک کار حیاتی است که مستقیماً امنیت سیستم و مدیریت دسترسی کاربران را تحت تأثیر قرار می‌دهد. اعمال تغییرات نادرست ممکن است باعث از دست رفتن دسترسی مدیریتی یا ایجاد آسیب‌پذیری شود. تنها روش امن و توصیه‌شده، استفاده از دستور visudo است که قبل از اعمال تغییرات، سینتکس را بررسی می‌کند تا خطاها ایجاد نشوند.

در این راهنما یاد می‌گیرید چگونه با استفاده از visudo فایل sudoers را امن و صحیح ویرایش کنید، دسترسی sudo را به کاربران بدهید، مشکلات رایج را رفع کنید و بهترین شیوه‌ها برای حفظ امنیت سیستم را دنبال کنید.

نکات کلیدی

  • همیشه برای ویرایش /etc/sudoers یا فایل‌های داخل /etc/sudoers.d/ از visudo استفاده کنید. این دستور فایل را قفل و سینتکس را هنگام ذخیره بررسی می‌کند.

  • قبل و بعد از تغییرات با sudo visudo -c صحت سینتکس را بررسی کنید و سپس با sudo -k && sudo -v && sudo -l و اجرای دستورات آزمایشی، عملکرد را تست کنید.

  • استفاده از گروه‌های مدیریتی به جای تعریف ALL برای هر کاربر ساده‌تر و ایمن‌تر است (Ubuntu/Debian: گروه sudo، RHEL/CentOS/Fedora: گروه wheel).

  • قوانین را به صورت ماژولار در /etc/sudoers.d/ نگه دارید تا مدیریت و بازبینی آن‌ها ساده باشد.

  • اصل حداقل دسترسی را رعایت کنید: مسیرهای مطلق و محدوده دستورات دقیق را مشخص کنید، از wildcard و ALL گسترده خودداری کنید.

  • ثبت و بررسی لاگ‌ها را فعال کنید (/var/log/auth.log یا /var/log/secure) و مسیر امن (secure_path) تعریف کنید.

  • برنامه بازیابی داشته باشید: در صورت مشکل با sudo، از pkexec visudo یا حالت single-user/emergency استفاده کنید.

  • مسیرهای دستورها را در هر توزیع بررسی و تنظیم کنید (مثلاً systemctl در /usr/bin/ یا /bin/).

دسترسی روت

حساب کاربری root دسترسی کامل دارد. برای نصب نرم‌افزار، مدیریت کاربران یا اصلاح فایل‌های سیستمی باید دسترسی روت داشته باشید. سه روش رایج:

  1. sudo: برای کارهای روزمره و توصیه‌شده.

  2. su: برای سیستم‌های قدیمی یا زمانی که sudo در دسترس نیست.

  3. ورود مستقیم به root: برای مواقع اضطراری، با استفاده از کنسول یا حالت single-user.

ایجاد قوانین کم‌دسترسی

با استفاده از aliases و مسیرهای مطلق، دستورات را محدود و قابل بررسی نگه دارید. مثال:

  • تعریف گروه کاربری:
    User_Alias GROUPONE = abby, brent, carl

  • تعریف alias دستوری:
    Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot

  • اعمال به گروه:
    GROUPONE ALL = POWER

تست و اعتبارسنجی

  • بررسی سینتکس: sudo visudo -c

  • پاک‌سازی کش احراز هویت و ورود مجدد: sudo -k && sudo -v

  • مشاهده دسترسی‌های کاربر: sudo -l

نکات امنیتی پیشرفته

  • برای سرویس‌ها یا اتوماسیون‌ها، دسترسی محدود و قابل ثبت (audit) بدهید.

  • از NOPASSWD و NOEXEC تنها برای دستورات کم‌ریسک استفاده کنید.

  • مسیرهای مطلق را همیشه مشخص کنید.

  • قوانین در /etc/sudoers.d/ نگه داشته شوند تا بازبینی و بازیابی آسان باشد.

بازیابی در حالت اضطراری

  • اگر sudo از کار افتاد، از pkexec visudo یا حالت single-user برای اصلاح استفاده کنید.

  • پس از اصلاح، سیستم را ریبوت کرده و صحت عملکرد را بررسی کنید.