همانطور که می دانید فایل shadowفایلی است که طبق گفته خود man shadow محتوایات را دارد و تحت کنترل دارد که مروبوط به پسورد ها می باشد، که شامل نام کابر، گروه، ایدی و به همراه رمز هش شده است.تمامی برنامه های که systemd اجرا می کند یا برنامه که خودمون نصب کردیم اینجا هستند، برای مثال از سرویس ها ftp, http,ntp برنامه های که نصب کردیم git, lightdm نکته که در این نوع کاربر ها هستند این است باید دسترسی لاگین شدن را نداشته باشند.
یعنی چی، یعنی دسترسی مستقیم به سیستم نداشته باشند برای مثال اگر کاربری به نام git داریم
git:!*:ID
اون علامت ! به این نشان است که کابر اجازه لاگین کردن را ندارد. هیچ وقت این فایل به صورت دستی تنظیم نمی شود معمولا باید هر چند ماهی حداقل به این فایل سر بزنید که برنامه مخربی دسترسی اضافه نداده باشد.
بهتر است دسترسی این فایل:
chmod 000 /etc/shadow
این دسترسی یعنی هیچکس دسترسی ندارد چه خواندن باشد چه نوشتن باشد چه تغییر دادن باشد.
همچنین بهتر از خاصیتی به نام i استفاده کنید.
یک دستور به نام chattr داریم که خاصیت ان فایل را روی فایل سیستم تعویض می کند، این به چه معناست یعنی در ext4 خاصیت ان فایل را برروی این فرمت عوض میکند این نکته را در نظر داشته باشید که بر روی بعضی از فرمت ها کار نمی کند اگر man chattr بزنید در بخش BUGS AND LIMITATIONS معمولا باگ ها و محدویت ها را نوشته شده است.
حال اگر در بخش DESCRIPTION یک نگاهی کنید، خواهید دید یکسری از خاصیت ها معرفی شده مثل i,e,c خاصیتی که در اینجا ما می خواهیم استفاده کنیم immutable است.
چه کار می کند این خاصیت در در بخش های پایین تر man در قسمت i گفته شده:
فایل با خاصیت i اجازه ویرایش ندارد، اجازه پاک کردن یا تغییر نام ندارید، شرتکاتی نمی توانید از این فایل بسازید، متادیتا ها قابل ویرایش نیستند نمی توانید باز کنید.
نکته که هست این کارها را حتی کاربر روت هم نمی تواند انجام دهد، مگر انکه این خاصیت برداشته شود. و برداشتن این خاصیت و با دسترسی روت انجام می شود.
برای ست کردن کافی است:
chattr +i /etc/shadow
برای برداشتن کافی است:
chattr -i /etc/shadow
نکته: جوگیر نشوید روی هر فایل سیستمی این را اجرا کنید برای مثال اگر روی فایل passwd اجرا کنید دیگر نمی توانید لاگین کنید، پس مواظب باشید.
این خاصیت خیلی جا ممکن مفید باشه از جلمه فایلی هست که نمی خواهید تغییر در ان ایجاد شود چه از طرف سیستم عامل چه از طرف کاربر. همین طور که می بینید خیلی چیز در man گفته شده است فقط کافی استفاده کنیم