Syntax | سینتکس
3.01K subscribers
410 photos
108 videos
35 files
378 links
Download Telegram
استفاده از دستور chattr در لینوکس

اگر شما مدیر یک سیستم لینوکسی هستید که چندین کاربر از آن استفاده می‌کنند، احتمالاً یکی از چالش‌های شما مربوط به استفاده از فایل‌های مشترک و ویرایش ناخواسته و حذف تصادفی آنهاست. فایل‌ها در لینوکس دارای ویژگی‌هایی مانند مجوزها، محتوای خواندنی/نوشتنی و غیره هستند که امنیت و کنترل فایل‌ها را فراهم می‌کنند.

لینوکس از ابزارهای قدرتمندی برای مدیریت بهینه فایل‌ها پشتیبانی می‌کند که ابزار خط فرمان chattr یکی از آنهاست. chattr (تغییر ویژگی) یک ابزار خط فرمان همه‌کاره در لینوکس است که برای تغییر ویژگی‌های فایل در سطح سیستم فایل استفاده می‌شود. این ابزار به کاربر اجازه می‌دهد تا ویژگی‌های فایل‌ها را در سطح سیستم فایل تنظیم کند که تغییرناپذیر است؛ بنابراین، مدیران سیستم لینوکس می‌توانند از دستور chattr برای جلوگیری از تغییر یا حذف فایل‌های ضروری در سیستم‌های فایل مانند ext2، ext3، ext4 یا XFS استفاده کنند و امنیت و کنترل بیشتری برای فایل‌های مهم فراهم کنند.

چگونه ویژگی‌های تنظیم شده برای یک فایل را بررسی کنیم؟
برای تنظیم ویژگی‌های یک فایل و تغییرناپذیر کردن ویژگی‌های فایل در لینوکس، بهتر است ابتدا ویژگی‌های از پیش تنظیم شده برای فایل‌های مبتنی بر سیستم فایل در دایرکتوری فعلی را بررسی کنید؛ برای این منظور از دستور زیر استفاده کنید:

lsattr

خروجی:
----------------------e----------- ./writer-doc.odt
----------------------e-----------./opera-app.c
----------------------e-----------./opera-app
----------------------e-----------./text-file.txt
----------------------e-----------./bash-script.sh
----------------------e-----------./image-file.jpg


خطوط حاوی توالی‌های خط تیره نشان‌دهنده ویژگی‌هایی هستند که برای یک فایل تنظیم شده‌اند. این خروجی به معنای تنظیم ویژگی e (extents) برای فایل‌هاست. این نشان می‌دهد که inodeهای سیستم فایل از extents استفاده می‌کنند تا به کل فایل روی هارد دیسک اشاره کنند.

چگونه از دستور chattr در لینوکس استفاده کنیم؟
دستور chattr در لینوکس به شما اجازه می‌دهد تا ویژگی فایل‌ها و دایرکتوری‌ها را تغییر دهید تا تغییرناپذیر شوند و هیچ کس دیگری، حتی کاربر root، نتواند فایل‌ها را در سیستم فایل تغییر دهد. در ادامه نحوه استفاده از دستور chattr برای تغییرناپذیر کردن فایل‌ها و دایرکتوری‌ها را آموزش خواهیم داد.

ویژگی‌های رایج مورد استفاده با دستور chattr:

1. بدون کنترل دسترسی (A): کنترل و دسترسی به فایل را غیرفعال می‌کند و برای مدیریت ویژگی‌های دسترسی جداگانه استفاده می‌شود. همچنین از به‌روزرسانی رکورد زمان دسترسی جلوگیری می‌کند.

2. فقط-افزودنی (a): تنظیم a برای یک فایل از حذف و هرگونه تغییر جلوگیری می‌کند و نوشتن را فقط در حالت افزودن مجاز می‌کند. این ویژگی معمولاً برای فایل‌های لاگ استفاده می‌شود.

3. فشرده‌سازی (c): فایل را فشرده می‌کند.

4. بدون پشتیبان‌گیری (d): فایلی که ویژگی d برای آن تنظیم شده در پشتیبان‌گیری گنجانده نمی‌شود.

5. به‌روزرسانی همزمان دایرکتوری (D): همه تغییرات در فایل را به طور همزمان روی هارد دیسک به‌روزرسانی می‌کند.

6. فرمت extent (e): این ویژگی سیستم فایل را طوری تنظیم می‌کند که از extents برای مدیریت فایل‌های بزرگ استفاده کند.

7. فشرده‌سازی (E): فایل را بر اساس الگوریتم خاصی فشرده می‌کند.

8. ژورنال‌سازی (j): ژورنال‌سازی را برای فایل فعال یا غیرفعال می‌کند.

9. تغییرناپذیر (i): ویژگی‌های فایل مانند نام، حذف، ایجاد لینک و قابلیت اجرا و نوشتن را تغییرناپذیر می‌کند.

10. حذف امن (S): با تنظیم این ویژگی، هنگام حذف فایل، بلوک‌های داده با صفر بازنویسی می‌شوند.

11. حذف فایل با کپی (u): وقتی ویژگی u تنظیم شود، هنگام حذف فایل یک کپی ایجاد می‌شود.

نحو پایه chattr:
chattr [operator] [flags] [filename]


عملگرها:
+ (تنظیم): برای اعمال ویژگی مورد نظر
- (حذف): برای حذف ویژگی‌ها
= (فقط تنظیم): ویژگی مشخص شده را تنظیم می‌کند و ویژگی‌های موجود را حفظ می‌کند

تنظیم فایل به صورت تغییرناپذیر:
sudo chattr +i filename


مثال:
sudo chattr +i testfile.txt
rm testfile.txt
rm: cannot remove 'testfile.txt' : Operation not permitted

غیرفعال کردن ایجاد حساب کاربری با تغییرناپذیر کردن فایل:
sudo chattr +i /etc/passwd
sudo chattr +i /etc/shadow

حذف ویژگی تغییرناپذیر از فایل:
sudo chattr -i filename

تنظیم محدودیت‌ها در دایرکتوری:
sudo chattr -R +i ./mydir/

تنظیم ویژگی فقط-افزودنی برای جلوگیری از حذف یا تغییر:
sudo chattr +a filename

Source

#linux

@Syntax_fa
👍6🔥2👏1
This media is not supported in your browser
VIEW IN TELEGRAM
ایکاش همجا یه sudo بود😁😂


#برنامه_نویسی
#fun
#linux
🔥13😁81