خوب ... همه چیز نمی تواند بازی باشد ، هدف من این نیست که فقط پست های مربوط به بازی ها را منتشر کنم ... ... من یک کاربر نیستم که زیاد بازی می کند ، در خانه این کار را به دوست دخترم می سپارم (که اکنون قلاب شده است سیمز 4) ، به همین دلیل انگیزه من برای انتشار مقالات فنی بیشتر ، درباره دستورات یا نکات در ترمینال بیشتر است.
در لینوکس برخی از آنها را داریم مجوزها که مطمئناً تقریباً هر مشکلی را حل می کند ، می توانیم تعیین کنیم کدام کاربر یا گروهی از کاربران به یک منبع ، پوشه ، سرویس خاص دسترسی دارند. با این حال ، مواردی وجود دارد که مجوزها دقیقاً همان چیزی نیستند که ما به آن نیاز داریم ، زیرا شرایطی وجود دارد که می خواهیم حتی root هم نتواند عمل خاصی انجام دهد.
فرض کنید ما یک پوشه یا پرونده داریم که نمی خواهیم حذف شود ، بیایید برویم ... نه توسط کاربر ما و نه توسط دیگری در رایانه (اه ... دوست دختر من به عنوان مثال هاها) ، یا حتی ریشه نمی تواند آن را حذف کند ، چگونه می توان به این هدف دست یافت؟ ... مجوزها به ما کمک نمی کنند زیرا root استاد اصلی است ، او می تواند هر چیزی را حذف کند ، بنابراین در اینجا ویژگی های پرونده یا پوشه وجود دارد.
chattr + i
فرض کنید ما می خواهیم از پرونده ای محافظت کنیم تا امکان حذف آن وجود نداشته باشد: passwords.txt ، موقعیت مکانی شماست (به عنوان مثال) $ HOME / passwords.txt
برای ایجاد یک ویژگی فقط خواندنی (یعنی بدون تغییر و بدون حذف):
sudo chattr +i $HOME/passwords.txt
همانطور که می بینید ، ما برای پارامتر + i به مجوزهای مدیریتی نیاز داریم ، که اتفاقاً + i به این معنی است که پرونده تغییرناپذیر خواهد بود ، می دانید که قابل حذف نیست ، به هیچ وجه نمی تواند تغییر کند.
سپس ، می توانید فایل را حذف کنید ، حتی با استفاده از sudo ... خواهید دید که قادر به انجام این کار نخواهید بود ، در اینجا یک تصویر از تصویر است:
برای لیست یا دیدن ویژگی هایی که یک پرونده دارد می توانیم از این دستور استفاده کنیم lsattrبه عنوان مثال:
lsattr passwords.txt
سپس به جای استفاده از محافظت ، حذف کنید +i ما استفاده می کنیم -i و voila
chattr + a
همانطور که قبلاً مشاهده کردیم ، پارامتر + i به ما اجازه می دهد تا کاملاً از آن محافظت کنیم ، اما مواردی پیش آمده است که من برای تغییر یک پرونده خاص نیاز دارم ، اما بدون تغییر در محتوای اصلی آن. به عنوان مثال ، من لیستی دارم و می خواهم با استفاده از echo ، اما بدون تغییر در موارد قبلی ، خطوط و اطلاعات جدیدی اضافه شود:
sudo chattr +a $HOME/passwords.txt
با انجام این کار ، بیایید سعی کنیم چیز جدیدی در پرونده بنویسیم:
echo "Prueba" > $HOME/passwords.txt
متوجه خواهید شد که خطایی دریافت می کنید ... اما اگر به جای جایگزینی محتوا اضافه کنیم (با استفاده از >> و نه>):
echo "Prueba" >> $HOME/passwords.txt
در اینجا ما می توانیم
پایان!
من می دانم که یک فرد مطلع وقتی می بیند که حتی با root نمی تواند پرونده ای را حذف یا اصلاح کند می تواند ویژگی های آن را بررسی کند ... اما ، سلام! … چند بار که متوجه چنین چیزی می شوید ، متوقف می شوید و به ویژگی ها فکر می کنید؟ ... من این را می گویم زیرا به طور کلی فکر می کنیم HDD یا بخش آن خراب است ، یا اینکه سیستم به سادگی دیوانه شده است ...
خوب چیز دیگری برای اضافه کردن وجود ندارد ... من فکر می کنم از این استفاده می کنم +i برای جلوگیری از بارگیری چیزی که دوست دخترم در حال بارگیری است ... _¬ ... اه ... مگر او نمی خواست دانلود sims 4 رایگان؟ … فکر می کنم یکی دو چیز در مورد مجوزها و اینکه نباید آنها را نقض کرد به شما یاد می دهم
سلام!
10 نظر ، نظر خود را بگذارید
جالب است که در مورد این ابزار بدانید ، اگر باعث ایجاد کنجکاوی در من شود ، به نوعی چیزی شبیه به مجوزهای بیت نخواهد بود؟ یعنی بیت تنظیم شده ، چسبناک و چسبنده؟ اگر نه ، چرا؟ اوه
PS: من تعداد دفعاتی را که می گویید دوست دخترم در این مقاله از دست داده ام هاهاها
این نیز کمی ، بیت تغییرناپذیر است و به گونه ای طراحی شده است که هیچ کس نمی تواند فایلی را که روی آن اعمال می شود اصلاح یا حذف کند (حتی روت). من از آن برای مثال برای نوشتن و محافظت از پرونده های پیکربندی استفاده می کنم ، که به خصوص در توزیع هایی مانند Zentyal بسیار مفید است (این یک روش بسیار سریعتر برای شخصی سازی پیکربندی است تا ویرایش یا ایجاد الگوها).
با ترکیب این دستور با chown ، chmod و setfacl می توان به موارد جالب توجهی دست یافت.
FreeBSD چیزی مشابه دارد که من از آن برای pfSense خود نیز استفاده می کنم.
هاها ها این یک فاز شناخته شده است.
http://www.xkcd.
com / 684 /
[دکتر. بولیوار تراسک] $ sudo chattr + i * .human
سفارش بسیار خوبی من او را نمی شناختم.
اگر ما یک رایانه شخصی به اشتراک بگذاریم یا سند خاصی داشته باشیم که نمی خواهیم آن را برای جهان حذف کنیم ، می تواند بسیار مفید باشد.
با تشکر و احترام
بسیار جالب است.
آیا می توان کاری مشابه انجام داد تا ROOT نتواند به پوشه خاصی در صفحه اصلی ما دسترسی پیدا کند؟
طبق این مقاله ، با این دستور حتی روت هم نمی تواند به پرونده دسترسی پیدا کند. من فکر می کنم در مورد پوشه ها نیز همین مورد وجود دارد ، زیرا در لینوکس پوشه ها نیز پرونده هستند ، درست است؟
چه تصادفی این آخر هفته سعی کردم یک پارتیشن root را حذف کنم و قادر به حذف یک فایل از پوشه / boot نبودم. با نگاه کردن ، ویژگی ها را پیدا کردم ، صادقانه آنها را نمی شناختم و اکنون می فهمم که مسئله مجوزها و ویژگی ها در یک پرونده بسیار بزرگ است. این یکی از آن دستورات اساسی است که باید همراه با "chmod" و "chown" بدانیم.
این بسیار مفید است ، خصوصاً اگر مثلاً بخواهیم DNS پیش فرض ISP مربوطه خود را تغییر دهیم و این زمانی است که باید پرونده /etc/resolv.conf را اصلاح کنیم و برای این کار باید chattr -i را انجام دهیم / etc / resolv.conf ، IP هایی را که برای DNS رایگان و / یا رایگان ما نمایش داده می شوند (مانند موارد OpenDNS 208.67.222.222 و 208.67.220.220 یا آنهایی که از گوگل 8.8.8.8 و 8.8.4.4 استفاده می کنند) تغییر دهید و پرونده را اصلاح کرده و مجدداً chattr + i /etc/resolv.conf را ایجاد کنید تا هنگام راه اندازی دستگاه ، پرونده اصلاح نشود.
مقاله عالی ... و اتفاقاً دوست دختر شما هم مثل همسر من است ، به همان اندازه که به بازیها معتاد شده است ، هاهههههههه
واضح است که 'استاد لعنتی' دوست دختر شما در این شرایط است. xD