انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: ایجاد فایل و دایرکتوری غیرقابل حذف، حتی با دسترسی روت!  (دفعات بازدید: 1210 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین MR-Mostafa

  • Full Member
  • *
  • ارسال: 180
  • جنسیت : پسر
  • Ubuntu Gnome
در سیستم عامل‌های یونیکس مانند لینوکس، نشست ریشه (root) به طور پیش‌فرض می‌تواند تمام دایرکتوری‌ها و فایل‌ها را تغییر دهد. در این مقاله، ما نشان می‌دهیم که چگونه می‌توان دایرکتوری‌ و یا فایل‌هایی را غیر قابل حذف کرد، حتی توسط کاربر ‌root!
برای ایجاد این نوع فایل‌ها و دایرکتوری‌هاباید از دستور chattr استفاده کنیم. این دستور ویژگی‌های فایل (attributes) را در سیستم فایل لینوکس تغییر می‌دهد.

توجه داشته باشید که برای انجام این کار نیاز به دسترسی با نشست روت دارید، پس از کامند sudo در ابتدای فرمان‌هامون استفاده می‌کنیم.
خوب روش انجام کار رو شروع می‌کنیم: (ما برای انجام این‌کارها از یک دایرکتوری با نام test استفاده می‌کنیم.)
sudo chattr +i test/
OR
sudo chattr +i -V test/

با اجرای دستور بالا دایرکتوری test و فایل‌های زیرشاخه‌ی آن غیرقابل حذف و غیرقابل تغییر می‌شوند. بدین معنی که نام فایل مذکور رو به هیچ وجه نمی‌توانید اصلاح کنید، نمی‌توانید حذف یا تغییر دهید، نمی‌توانید فایل‌ زیرشاخه درون آن ایجاد کنید و حتی نمی‌توانید یک پیوند به آن ایجاد کنید.

در صورتی که تمایل‌ دارید دایرکتوری‌های زیرشاخه‌ رو هم غیرقابل حذف بکنید، از سوئیچ R می‌تونید استفاده کنید:
sudo chattr +i -R test/
الان فایل مذکور رو حتی با دسترسی روت هم نمی‌تونید پاک کنید و بهتون ارور زیر رو نمایش می‌ده:
rm: cannot remove 'test/': Operation not permitted


برای بازگرداندن همه چی به حالت اول از سوئیچ -i استفاده کنید.
sudo chattr -i test/
OR
sudo chattr -i -V test/

منبع
« آخرین ویرایش: 28 مهر 1396، 03:16 ب‌ظ توسط MR-Mostafa »
در یک گفتگوی آموزشی مهم نیست کسی اشتباه یا درست جواب دهد، چون در آخر مشخص خواهد شد. می‌نویسم تا همه بخوانند؛ شاید کسی چیزی یاد بگیرد و یا استادی اشتباه مرا بگیرد.
با ما تازه واردها مهربان باشید :D