تغییر دسترسی
اگر بخواهیم تغییر در سطوح دسترسی ایجاد کنیم از با کمک دستور chmod از سه طریق میتوانیم این کار را انجام دهیم:
فرض کنید فایل new با سطح rwxrw–w- داریم و میخواهیم آن را به rwxrw-rw- ارتقا بدهیم.
روش octal
در این روش تنها کافی است عدد اکتال نهایی را بصورت زیر به همراه دستور chmod تایپ کنیم.
chmod 766 new
روش symbolic
در این روش از یکسری نماد استفاده میکنیم؛ برای تغییر سطح دسترسی user ازu، تغییر سطح group از g و other از o استفاده میکنیم. در این مثال میخواهیم دسترسی r را به قسمت other اضافه کنیم.
chmod o+r new
chmod o=r new
در این دستور یعنی دسترسی های other فقط شامل خواندن باشد.
chmod a+x new
یا
chmod +x new
یعنی قابلیت اجرا را به همگی(user, group, other) اضافه کن
chmod a=x
به این معنی که همگی فقط قابلیت اجرا را داشته باشند.
روش reference
در این روش یک فایل قدیمی که permisionهای مد نظر ما را داشته درنظر میگیریم و روی هر تعداد فایلی که می خواهیم آن را اعمال میکنیم.
chmod –reference=[old file address [new files address]
اگر بخواهیم یک دایرکتوری با تمام زیر مجموعه هایش تغییر کند همین دستورات را با سوییچ R- وارد میکنیم.
تغییر دسترسی گروه و مالک فایل
برای تغییر owner از دستور chown و برای تغییر گروه از دستور chgrp استفاده میکنیم.
به کمک دستور chown نیز میتوان گروه را عوض کرد، با این پیشفرض که بین سه دسته کاربران ” : ” قائل شویم. برای مثال اگر بخواهیم گروه یک فایل را تغییر بدهیم به صورت زیر عمل میکنیم
chown :security new
تفاوت معنای دسترسی ها در دایرکتوری و فایل
بطور کلی معنای کلی permissionها یکی است؛ اما زمانی که شما برروی فایلی دسترسی خواندن دارید به این معنی است که درون آن فایل را با دستور cat میتوانید ببینید اما همین سطح دسترسی در دایرکتوری به معنی ls گرفتن از آن دایرکتوری است. دسترسی نوشتن روی یک فایل به معنای ویرایش آن فایل است اما در دایرکتوری به معنی کم یا زیاد کردن تعداد فایل های درون آن دایرکتوری است. permission x روی یک فایل به معنای اجرای آن فایل است اما در دایرکتوری به معنی اعمال cd روی آن دایرکتوری است.