موضوع مقاله: مجوزهای سیستم فایل | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # مجوزهای سیستم فایل | مقدمه: بیشتر سیستم‌های فایل شیوه‌هایی برای انتصاب مجوزها یا حق دسترسی به کاربران یا گروه‌های کاربران دارند. | ## بخش 1: مجوزهای سیستم فایل | این سیستم‌ها بر توانایی کاربران در زمینهٔ دیدن، تغییر دادن، وارد شدن، و اجرای محتوای سیستم فایل نظارت می‌کنند. گوناگونی سیستم‌های عامل سیستم‌های شبه یونیکسی و سیستم‌های مبتنی بر پازیکس، شامل سیستم‌های مبتنی بر لینوکس و تمامی نسخه‌های مک او اس اکس، سیستمی برای مدیریت مجوزهای فایل دارند که در این مقاله به آن‌ها «مجوزهای مرسوم یونیکس» می‌گوییم. مجوزهای مرسوم یونیکس مجوزهای سیستم شبه‌یونیکسی در سه دسته یا محدوده مدیریت می‌شوند. به فایل‌ها و دیرکتوری‌ها یک گروه اختصاص داده می‌شود که دستهٔ گروه را برای فایل مشخص می‌کند. کاربرانی که نه مالک فایل و نه عضوی از گروه فایل باشند، در دستهٔ دیگر قرار می‌گیرند. مجوزهای یک کاربر بر اساس دسته‌هایی که به آن تعلق دارد به ترتیب کاربر (مالک)، گروه، دیگر مشخص می‌شود. مثلاً مجوزهایی به کاربری که مالک یک فایل است داده می‌شود که به دستهٔ کاربر فایل اختصاص داده شده، فارغ از اینکه چه مجوزهایی به دستهٔ گروه یا دستهٔ دیگر اختصاص داده شده است. مجوزها سیستم‌های شبه یونیکسی سه مجوز خاص را پیاده‌سازی می‌کنند که این مجوزها را به کاربران هر یک از سه دستهٔ کاربر، گروه، و دیگر می‌توان اختصاص داد: خواندن، مجوز خواندن، قابلیت خواندن فایل را به کاربران می‌دهد. | ## بخش 2: مجوزهای سیستم فایل | وقتی از این مجوز برای دیرکتوری‌ها استفاده می‌شود، این مجوز قابلیت خواندن نام فایل‌های موجود در دیرکتوری را به کاربران می‌دهد ولی اجازهٔ کسب اطلاعات بیشتر در مورد محتویات دیرکتوری از قبیل محتویات فایل‌ها یا نوع فایل‌ها یا اندازهٔ فایل‌ها یا اطلاعات مربوط به مالکیت فایل‌ها یا اطلاعات مربوط به مجوزهای فایل‌ها را به کاربر نمی‌دهد. نوشتن، مجوز نوشتن قابلیت اصلاح و دستکاری محتویات یک فایل را به کاربر می‌دهد وقتی از این مجوز برای دیرکتوری‌ها استفاده می‌شود، این مجوز اجازهٔ اصلاح محتویات دیرکتوری یعنی اعمالی از قبیل ساخت فایل‌های درون دیرکتوری یا پاک کردن فایل‌های درون دیرکتوری یا تغییر نام فایل‌های درون دیرکتوری را به کاربران می‌دهد. این مجوز باید فقط برای برنامه‌هایی از قبیل اسکریپت شل که قابل اجرا شدن هستند گذاشته شود تا سیستم عامل بتواند آن‌ها را اجرا کند. وقتی از این مجوز برای دیرکتوری‌ها استفاده می‌شود، این مجوز اجازهٔ دسترسی به محتویات فایل‌ها و اطلاعات فرامتنی را می‌دهد اما اجازهٔ فهرست کردن فایل‌های دیرکتوری(در لینوکس دستور ls) را نمی‌دهد مگر در صورتی که مجوز خواندن نیز داده شده باشد. نشان‌گذاری مجوزهای مرسوم یونیکس نشان‌گذاری نمادی مجوزهای یونیکس یا در قالب نشان‌گذاری نمادی یا نشان‌گذاری هشت هشتی هستند. شکل رایج مجوزها، نشان‌گذاری نمادی است که خروجی دستور ls -l به اینصورت مجوزها را نمایش می‌دهد. سه سه‌تاییِ مجوزاولین سه‌تاییکارهایی که مالک می‌تواند انجام دهددومین سه‌تاییکارهایی که اعضای گروه می‌توانند انجام دهندسومین سه‌تاییکارهایی که کاربران دیگر می‌توانند انجام دهندهر سه‌تاییحرف اولr: قابلیت خواندنحرف دومw: قابلیت نوشتنحرف سومx: قابلیت اجرا کردن اولین حرف خروجی ls مربوط به نوع فایل می‌باشد و ربطی به مجوزها ندارد. ۹ حرف دیگر در سه مجموعه‌ٔ سه‌تایی قرار می‌گیرد که هر مجموعه مربوط به یک دسته از مجوزهاست. | ## بخش 3: مجوزهای سیستم فایل | اولین مجموعه مربوط به دستهٔ کاربر(مالک) میباشد و دومین دسته مربوط به دستهٔ گروه و سومین مربوط به دستهٔ دیگر می‌باشد. هر کدام از ۳ حرف مربوط به مجوزهای خواندن و نوشتن و اجرا می‌باشند: r اگر خواندن مجاز باشد، اگر مجاز نباشد جای آن حرف - قرار می‌گیرد w اگر نوشتن مجاز باشد، اگر مجاز نباشد جای آن حرف - قرار می‌گیرد x اگر اجرا مجاز باشد، اگر مجاز نباشد جای آن حرف - قرار می‌گیرد در ذیل نمونه‌هایی از نشان‌گذاری نمادی به عنوان مثال بیان می‌شوند: -rwxr-xr-x : یک فایل معمولی که دستهٔ کاربر آن مجوز کامل را دارد و دسته‌های گروه و دیگر مربوط به آن فایل فقط مجوزهای خواندن و نوشتن را دارند. crw-rw-r-- : یک فایل دستگاهی کاراکتری که دسته‌های کاربر و گروه آن دارای مجوزهای خواندن و نوشتن می‌باشند و دستهٔ دیگر آن فقط دارای مجوز خواندن هستند. dr-x : یک دیرکتوری که دستهٔ کاربر آن مجوز خواندن و نوشتن را دارد و دسته‌های گروه و دیگر مربوط به آن فایل مجوزی ندارند. نشان‌گذاری عددی یک روش دیگر برای نشان دادن مجوزهای یونیکسی، نشان‌گذاری اوکتال یا هشت‌هشتی یا پایهٔ هشت می‌باشد همانطور که stat -c %a نشان می‌دهد. در نتیجه هر بیت بر اساس ارزش مکانیش در جمع شرکت می‌کند: بیت خواندن ارزش ۴ را دارد(به باینری ۱۰۰) بیت نوشتن ارزش ۲ را دارد(به باینری ۰۱۰) بیت اجرا ارزش مکانی ۱ را دارد(به باینری ۰۰۱) این مقادیر هیچگاه ترکیبات مبهم ایجاد نمی‌کنند. | ## جمع‌بندی | اگر بخواهیم کمی فنّی تر موضوع را بررسی کنیم به این نتیجه می‌رسیم که این روش در حقیقت تبدیل عدد باینری به اوکتال می‌باشد.