سطح دسترسی ها در لینوکس

پایه و اساس سطح دسترسی ها در لینوکس شامل دو تا قسمت میشه یکی مالکیت فایل یا (ownership ) و یکی مجوز فایل ها (permissions ) .
مالکیت فایل (ownership ) شامل دو تا قسمت میشه :
یکی مالکیت کاربری (User Ownership)
یکی مالکیت گروهی (Group Ownership)
پس یک فایل دو تا مالکیت میگیره یکی مالکیت گروه یکی مالکیت کاربر
برای مثال فایل زیر رو ببینید :

root@debian:~/# ll
-rw-r--r-- 1 root vahid 0 Aug 5 00:58 vahid.txt
root@debian:~/#

از فایل بالا متوجه میشیم که Group Ownership این فایل گروه vahid هست .
و User Ownership این فایل مربوط به یوزر root هست .
حالا ما چه شکلی میتونیم ownership یک فایل رو تغییر بدیم ؟ با دستور chown
به صورت زیر :

    chown userowner:groupowner myfile.txt


به طور مثال ما میخوایم User Ownership و Group Ownership هر دو این فایل رو به vahid تغییر بدیم

root@debian:~/wht# chown vahid:vahid vahid.txt
root@debian:~/wht# ll
-rw-r--r-- 1 vahid vahid 0 Aug 5 00:58 vahid.txt
root@debian:~/wht#

حالا میریم سراغ قسمت دوم یعنی مجوز فایل ها (permissions )
مجوز فایل ها (permissions ) شامل 3 تا قسمت میشه :
مجوز برای کاربر
مجور برای گروه
مجوز برای دیگران (که شامل بقیه کاربران سیستم میشه)

rw- r-- r-- 1 vahid vahid 0 Aug 5 00:58 vahid.txt
| | |
| | |________ user permission
| |___________ group permission
|_______________ other permission


که هر قست شامل 3 قسمت میشه :

r = read permission
w = write permission
x = execute permission

یعنی :
دسترسی خواندن
دسترسی نوشتن
دسترسی اجرایی (برای اجرا کردن یک برنامه)

که هر قسمت یه عدد میگیره

4 = read (r)
2 = write (w)
1 = execute (x)
0 = no permission (-)

برای مثال فایل زیر رو مد نظر بگیرید :

root@debian:~/wht# ll
-rw-r--r-- 1 vahid vahid 0 Aug 5 00:58 vahid.txt
root@debian:~/wht#

اگر permission فایل رو سه قسمت کنیم :

    -rw-       r--      r--


میبینیم که
در سطح کاربر فقط میتونه فایل رو بخونه
در سطح گروه هم فقط میتونه فایل رو بخونه
و در سطح other دسترسی خوندن و نوشن رو داره

حالا ما چه شکلی میتونیم permission یک فایل رو تغییر بدیم ؟ با دستور chmod

    chmod permissionnumber myfile.txt


به طور مثال ما میخوایم خود کاربر دسترسی خوندن و نوشتن و اجرا شدن رو داشته باشه ولی گروهش هیج دسترسی نداشته باشه و برای Other هم فقط دسترسی خوندن باشه
حالا میایم عدد ها رو جمع میزنی
دسترسی برای کاربر = خوندن + نوشتن + اجرا شدن = 4+2+1 = پس عدد دسترسی برای کاربر میشه 7
دسترسی برای گروه = هیچ دسترسی نداشته باشه = 0 = پس عدد دسترسی گروه میشه 0
دسترسی برای other = خوندن = 4 = پس عدد دسترسی other میشه 4
و این دسترسی رو اعمال میکنیم :

root@debian:~/wht# chmod 407 vahid.txt
root@debian:~/wht# ll
-r-----rwx 1 vahid vahid 0 Aug 5 00:58 vahid.txt
root@debian:~/wht#

حالا اگر خواستید تمامی فایل ها و زیر مجموعه هاش رو تغیر owner یا permission بدید باید از آپشن -R (تاکید میکنم بر روی R بزرگ هست ) استفاده کنید
برای مثال :

root@debian:~# chown -R vahid:vahid wht/
root@debian:~# chmod -R 407 wht/

این دو تا دستور تمامی owner های این فایل هارو به vahid تغییر میده و تمامی فایل های این فولدر به 407 تغییر میکنه

موفق و پیروز باشید

منبع : http://www.webhostingtalk.ir/f104/29244/
موضوعات وابسته : http://forum.ubuntu.ir/index.php/top...html#msg151252