منبع اصلی نوشتار زیر در این لینک قرار دارد

پیدا کردن مجوز یک فایل یا دایرکتوری در یونیکس

مجوزهای خواندن (Read)، نوشتن (Write) و اجرا (Execute) سه مجوز نرمال و سنتی در یونیکس ها هستند که به هر فایل یا دایرکتوری اختصاص داده می شود. مطابق شکل زیر (شکل۱) مجوزها به سه دسته مالک (Owner)، گروه (Group) و دیگران (Others) دسته بندی می شوند.

unix_file_permission

شکل ۱

وقتی به یک فایل محوز read داده می شود می توان محتوای آن فایل را خواند و اگر به یک دایرکتوری مجوز read داده می شود می توان محتوای آن دایرکتوری را با دستور ls در خط فرمان یا از طریق مرورگرهای گرافیکی مشاهده کرد.

وقتی به یک فایل مجوز write داده می شود می توان درون آن فایل نوشت و اگر به یک دایرکتوری محوز write داده شود می توان یک فایل یا دایرکتوری جدید را در آن با دستور touch, mkdir و غیره ایجاد کرد یا یک محتوا را با دستورهای rm و rmdir پاک یا با دستور mv تغییر نام داد.

در یونیکس ها دو نوع فایل ۱) فایل های باینری مربوط به دستورها (مانند دستور ls) و ۲) فایل های شل اسکریپت قابل اجرا (Executable) هستند. این فایل ها برای استفاده شدن حتما باید مجوز execute را داشته باشند. در شکل ۱ مطابق با مجوز اعطا شده با فایل یا دایرکتوری، مالک فایل می تواند فایل را بخواند یا بر روی فایل بنویسد. گروه مالک و دیگران فقط می توانند فایل را بخوانند. برای یک دایرکتوری مالک می تواند درون دایرکتوری را مشاهده کند یا یک محتوای جدید را اضافه یا محتوایی را پاک کند.

مشاهده مجوز اعصایی با دستور ls

برای مشاهده مجوز یک فایل از دستور ls -l استفاده می شود. برای مشاهده مجوز یک دایرکتوری نیز باید از دستور ls -ld استفاده کرد. d- به جای نمایش محتوای درون یک دایرکتوری، مجوز و دیگر اطلاعات مربوط به آن را نشان می دهد.

ls -l /path/to/filename
ls -ld /path/to/directory/

مشاهده مجوزهای یک فایل یا دایرکتوری توسط دستور stat

روش دیگر استفاده از دستور stat است. ساده ترین فرم استفاده از دستور stat به صورت زیر است. شکل های ۲ و ۳ و ۴ به ترتیب خروجی دستور stat را برای سیستم عامل های لینوکس، مکینتاش و FreeBSD نشان می دهد.

stat /etc/resolv.conf

بدون توجه به کل خروجی نمایش داده شده در هر یک از شکل های زیر، مجوز مربوط به فایل نمایش داده می شود.

به دلیل اینکه هسته و بخشی از ابزارهای سیستم عامل مکینتاش بر اساس سیستم عامل FreeBSD است، خروجی در مکینتاش و FreeBSD یکسان هستند.

unix_file_permission2

شکل ۲

unix_file_permission3

شکل ۳

unix_file_permission4

شکل ۴

نمایش عددی مجوزها با دستور stat

 از کاراکتر فرمت a% می توان برای نمایش عددی مجوز مربوط به یک فایل یا دایرکتوری استفاده کرد. عدد نمایش داده شده به صورت اوکتال (Octal) است. در دستور زیر کاراکتر فرمت n% برای نمایش نام فایل یا دایرکتوری استفاده شده است. سوئیچ c- نیز برای دریافت فرمت (کاراکترهای فرمت) استفاده می شود.

stat  -c "%a" /etc/resolv.conf
stat  -c "%a  %n" /etc/resolv.conf

دستورهای بالا فرم استفاده از دستور stat در سیستم عامل لینوکس است. در FreeBSD و مکینتاش f- معادل سوئیچ c- است. دستورهای زیر معادل دستورهای بالا در لینوکس هستند.

stat -f "%OLp" /etc/resolv.conf
stat -f "%OLp %N" /etc/resolv.conf

منابع و اطلاعات بیشتر در لینک های زیر :



برچسب ها : , , , , , , , , , , , , ,