خیلی خلاصه توضیح میدم.
پرمیشن به معنای سطح دسترسیه.
سه تا دسترسی داریم، خواندن، نوشتن، اجرا کردن.
سطح دسترسی به تعبیر حرف میشه:
خواندن = r نوشتن = w اجرا کردن = x
سطح دسترسی به تعبیر عدد:
خواندن = 4 نوشتن = 2 اجرا کردن = 1
خوب الان مفاهیم اولیه رو فهمیدیم، حالا نوبت امتحانه، با دستور زیر یه فایل خالی به نام test بساز:
touch test
حالا با دستور زیر جزییات فایل( که سطح دسترسی هم جزوشه ) رو میبینیم:
stat test
خوب خروجی زیر رو میده:
nb@ism:~$ stat test
File: `test'
Size: 0 Blocks: 16 IO Block: 4096 regular empty file
Device: 13h/19d Inode: 536871941 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ nb) Gid: ( 1000/ nb)
Access: 2013-08-24 14:54:36.735019446 +0430
Modify: 2013-08-24 14:54:36.735019446 +0430
Change: 2013-08-24 14:54:36.735019446 +0430
Birth: -
ما با خط زیر کار داریم:
Access: (0664/-rw-rw-r--) Uid: ( 1000/ nb) Gid: ( 1000/ nb)
اول از همه از مدل حروفی استفاده می کنیم:
--rw-rw-r-
قسمت سیاه زیاد به کارت نمیاد ولی نوع فایل رو مشخص می کنه، پوشست؟ معمولیه؟ لینکه؟ چیه؟ اینجا با - به معنای معمولی بودنشه، مثلا d به معنای پوشه بودنشه.
قسمت سبز سطح دسترسی کاربر صاحب فایله(یعنی شما که الان ساختیش) که می تونید بخونید و بنویسید اما حق اجرا کردنش رو ندارید.
قسمت نارنجی سطح دسترسی گروه کاربر سازندست که میتونند بنویسند بخونند ولی باز حق اجرا ندارند
قسمت قرمز سطح دسترسی دیگرانه (کسانی که عضو دو گروه بالا نیستند) که فقط حق خواندن دارند(همیشه یادت باشه کمترین سطح دسترسی رو به گروه آخر بده.
حالا قسمت عددی:
0
644قسمت سیاه دقیقا مثل بالاست منتها ۰ به معنای معمولی بودنه، ۱ به معنای پوشست.
قسمت قرمز مربوط به سازندست، اگر می خوای مقدار دسترسی رو بفهمی باید عدد رو به جمع ۴ ۲ ۱ تجزیه کنی، ۶ = ۲ + ۴ و همونطور که یادته ۴ به معنای خوندن و ۲ به معنای نوشتنه پس کاربر دسترسی خواندن و نوشتن داره ولی نمیتونه اجراش کنه.
قسمت بعدی هم همینطور مثل بالا دسترسی خواندن داره ولی نمیتونه اجرا کنه یا بنویسه.
قسمت آخر هم مال دیگرانه که فقط دسترسی خواندن داره.
تغییر دسترسی به واسط عدد
chmod xxx /path/to/file
xxx منظور سه رقم مورد نظره فایل و بعدشم آدرس فایله. مثلا همین test در پوشه ی خانگی می خوایم به خودمون دسترسی خواندن و نوشتن و اجرا( دسترسی کامل) بدیم به گروهمون فقط خوندن و به دیگران هیچ دسترسی ندیم:
chmod 740 ~/test
۷ = ۴ + ۲ + ۱
تغییر دسترسی به واسط حروف
u = کاربر حاضر(خودت) g = گروه کاربر o = دیگران a = همه
مثلا می خوایم به دسترسی خودمون در فایل test در پوشه ی خانگی قابلیت اجرا کردن رو اضافه کنیم:
chmod u+x ~/test
همین کار برای گروه مالک:
chmod g+x ~/test
همین کار برای گروه دیگران:
chmod o+x ~/test
حالا می خوایم به همه قابلیت اجرایی رو اضافه کنیم:
chmod a+x ~/test
حالا می خوایم همون دسترسی اجرایی رو برای خودمون برداریم
chmod u-x ~/test
بعد از هر کار می تونی سطح دسترسی رو با
stat test
چک کنی.
البته این کارارو با پروپرتیس ناتیلوس هم میشد انجام داد ولی دستور یه چیز دیگست