سلام
ویندوز سطح دسترسی های پیچیدا و مختلفی بای فایل ها و کاربران و ... داره.Policy های زیادی هم برای مدیریت دسترسی کاربرا داره
ولی تا جایی که من دیدم لینوکس فقط دسترسی Owner و Group و Guest داره و اینم فقط در سه حالت None و Read only و Read and Write
البته کار با Policy های ویندوز خیلی پیچیده هست و انتظار داشتم که تو لینوکس این کارا راحت تر باشه ولی نتونستم چیزی پیدا کنم
آیا نیاز به برنامه اضافی هست یا راه دیگه ای داره؟
متشکرم
توی گنو/لینوکس هم میشه از از ACL استفاده کرد(مخفف Access Control List). اما بطور پیشفرض غیرفعال هست.
توی ویندوز هم بطور پیشفرض غیرفعال هست و حتی توصیه هم نشده! توی folder options ویندوز یه همچین گزینهای هست:
Use simple file sharing (Recommended)
که اگه فعال باشه(که بطور پیشفرض هم فعال هست) کلاً ACL غیرفعال میشه(همون Policy یا همون تب Security توی پنجرهٔ Properties حذف میشه)
اما ویندوز جایگزین دیگهای برای ACL نداره و خبری از Permission های یونیکس توش نیست. در حالیکه توی یونیکس، Permission با تار و پود سیستم آمیخته شده و اصلاً نمیشه غیرفعالش کرد. یعنی خود سیستمعامل (برای فایلهای سیستم خودش) شدیداً از این Permission ها استفاده میکنه. یعنی اگه توی یونیکس (از جمله گنو/لینوکس) Permission های فایلهای خود سیستمعامل به هم بریزه(مثلاً کلشون رو ۷۷۷ کنید یا owner کلشون رو عوض کنید) کلاً سیستم داغون میشه و باید دوباره نصب کرد. این نشان از سختگیری امنیتی و نشان از امنیت بالای یونیکس (از جمله گنو/لینوکس) هست.
علت اینکه ACL بطور پیشفرض غیرفعال هست اینه که نیازی بهش نبوده و نیازهای امنیتی خود سیستم(بصورت درونی) کاملاً با Permission ها برآورده میشه. حالا اگه خود کاربر بخواد میتونه ACL رو فعال کنه.
اما توی ویندوز چی؟ خود سیستمعامل بصورت درونی نه از Permission های سبک یونیکس استفاده میکنه(که اصلاً همچینی چیزی براش تعریف نشده) نه از ACL . یکی از دلایل ضعف امنیتی ویندوز هم همین هست. فقط یه read only و hidden و system داره(یعنی فقط ۳ بیت) در حالیکه Permission های یونیکس ۱۲ بیت هست!! (read و write و execute برای owner و group و other که میشه ۳*۳=۹ به علاوهٔ suid و guid و stick که میشه ۱۲ بیت).
بعد میگن چرا ویندوز امنیتش اینقدر پایینه!
برای فعال کردن ACL اول باید پکیج acl نصب باشه(که احتمالاً هست) بعدش بهتره پکیج eiciel رو نصب کنید که یه رابط گرافیکی براش داشته باشید. بعدش باید برای هر پارتیشن بصورت مجزا این قابلیت رو توی fstab فعال کنید.
sudo gedit /etc/fstab
بعد هر پارتیشنی که میخواید براش ACL رو فعال کنید، توی خط مربوط به همون پارتیشن توی ستون چهارم که اوپشنها هستن، انتهاش یه ویرگول بذارید و بنویسید acl میتونید اوپشن user_xattr رو هم اضافه کنید. مثلاً این خط:
/dev/sda2 /sda2 ext3 noatime,nodev,nosuid 0 2
تبدیل میشه به این خط:
/dev/sda2 /sda2 ext3 acl,user_xattr,noatime,nodev,nosuid 0 2
حالا فایل رو save کنید. بعد اگه اون پارتیشن مونت شده، یه بار umount کنید و دوباره مونت کنید
sudo umount /sda2
sudo mount /sda2
حالا اگه توی گنوم، روی یه فایل توی اون پارتیشن راستکلیک کنید و Properies رو بزنید و به تب Access Control List برید... میتونید هر کاربر یا هر گروهی خواستید به اون لیست اضافه کنید و مجوز خوندن و نوشتن و اجرا کردنش رو تغییر بدید.
حالا File Attributes که توی لینوکس تعریف شده به کنار. با دستور lsattr و chattr میشه باهاشون کار کرد. این رابط گرافیکی که خودم نوشتم رو ببینید:
http://ospdev.net/projects/gattr/اگه وقت دارید در مورد soft link و hard link هم تحقیق کنید تا ببینید که هیچکدوم اینا معادلی توی ویندوز نداره!