در قسمت قبلی شما با جواز دسترسی یا Permission آشنا شدید و سعی شد به طور کامل شما را با این خاصیت از لینوکس آشنا کنیم. حداقلش این است که دانستید مبانی و تنظیم جواز دسترسی پروندهها و پوشههای لینوکس چیز سختی نیست. حالا میخواهیم بدانیم که اگر خواسته باشیم این جواز دسترسی یا Permission را برای یک پرونده یا پوشه تغییر دهیم، باید چه کار کنیم؟ فراموش نکنید که پیش نیاز درک این آموزش، مقالۀ قبلی است که باید به طور کامل آن را مطالعه کرده باشید. پس اگر آمادهاید، با تغییر Permission یا جواز دسترسی در لینوکس همراه وبنولوژی باشید.
روش اول تغییر Permission یا جواز دسترسی
برای تغییر جواز دسترسی ما باید از دستور chmod استفاده کنیم. این دستور از دو کلمۀ change و mode گرفته شده است. شاید اگر بدانیم یک کلمۀ بیمعنی از چه کلمات با معنیِ دیگر ساخته شده است، بهتر بتوانیم آن را به خاطر بسپاریم. به هر حال، از همین دستور chmod هم به روشهای مختلفی میتوانیم استفاده کنیم. راحتترین آن این است که پس از نوشتن خودِ دستور chmod، شمارۀ جواز دسترسیِ جدید را وارد کنیم و سپس نام پرونده یا پوشه را بنویسیم. به این صورت جواز دسترسی فوراً تغییر میکند.
# touch afile
# ls -l afile
-rw-r--r--. 1 root root 0 Apr 25 17:29 afile
# chmod 600 afile
# ls -l afile
-rw-------. 1 root root 0 Apr 25 17:29 afile
در مجموعه دستورات بالا، اول آمدیم با دستور touch یک سند خالی با نام afile ساختیم. پس از آن با دستور ls فهمیدیم که جواز دسترسی آن چیست. همین جا باید عنوان کنم که به طور پیش فرض، لینوکس به پروندههایی که جدید ساخته میشوند جواز ۶۴۴، و به پوشههای تازه ساخته شده جواز ۷۵۵ را میدهد.
پس از آن با دستور chmod که با رنگ خوشگلِ سبز مشخص شده است، جواز دسترسیاش را به ۶۰۰ تغییر دادیم. یعنی خود ما که صاحب آن سند به حساب میآییم بتوانیم آن را بخوانیم و ویرایش کنیم. اما گروه کاربری و دیگر کاربران سیستم نتوانند کاری روی آن انجام دهند و به آن دسترسی داشته باشند. این معنیِ جواز دسترسی ۶۰۰ است که باید مقالۀ قبلی را به طور کامل مطالعه کرده باشید تا معنیِ آن را به طور کامل درک کنید.
حالا اگر شما خواسته باشید هر جواز دسترسی را به پوشه یا پروندۀ مد نظر بدهید، باید به جای ۶۰۰ عدد جواز دسترسیِ خود را وارد کنید. حالا اگر خواسته باشیم همین داستان را روی یک پوشه تکرار کنیم، از مجموعه دستورات زیر استفاده خواهیم کرد.
# mkdir temp
# cd temp
# touch file1 file2 file3
# cd ..
# chmod 700 temp
# ls -ld temp
drwx------. 2 root root 4096 Apr 25 18:14 temp
اول از همه با دستور mkdir یک پوشه با نام temp ساختیم. پس از آن وارد این پوشه شدیم. حالا سه تا پروندۀ خالی با نامهای file1 و file2 و file3 ایجاد کردیم. دوباره به یک مسیر بالاتر میرویم. حالا با دستور chmod جواز دسترسی این پوشه را از ۷۵۵ به ۷۰۰ تغییر میدهیم. همانطور که گفتم، هنگام ساخت یک پوشۀ خالی، لینوکس جواز دسترسی ۷۵۵ را به آن میدهد. جواز ۷۰۰ یعنی اینکه صاحب این پوشه میتواند کنترل کاملی روی آن داشته باشد، اما دیگران هیچ نوع دسترسی به آن ندارند و با خطای Permission denied مواجه خواهند شد.
دسترسی به یک پرونده درون یک پوشه، بدون فهرست کردن اسناد آن پوشه
برای زمانی که شما میخواهید امکان ویرایش یک سند با نام مشخص را به شخصی بدهید، اما نمیخواهید به فهرست اسناد موجود درون آن پوشه دسترسی داشته باشد، باید جواز دسترسی آن پوشه را روی ۷۰۱ بگذارید. در این حالت تمامی اسناد موجود درون این پوشه قابل خواندن و ویرایش توسط هر کاربر روی سیستم شماست. اما از آن جایی که نمیتوانند فهرستی از تمامی اسناد موجود در آن پوشه را به دست آورند، تا زمانی که نام یک سند در آن پوشه را ندانند، نمیتوانند به آن دسترسی داشته باشند.
به همین ترتیب به راحتی میتوانید Permission هر نوع پوشه یا سند را که خود شما صاحب آن هستید را تغییر دهید. دقت داشته باشید امکان ویرایش جواز دسترسیِ پروندهها و پوشههای دیگران را ندارید، مگر اینکه مدیر کل (root) سیستم باشید و با این حساب وارد شده باشید، که در این حالت هر کاری که دلتان خواسته باشد میتوانید انجام دهید!
روش دوم تغییر Permission یا جواز دسترسی
در این روش که از همان دستور chmod استفاده میکنیم، به جای عدد از حروف و علامتهای -+= استفاده میکنیم. ساختار آن به صورت زیر است:
ugoa +-= rwxXstugo
توضیح ساختار این روش از تغییر جواز دسترسی را با یک مثال خدمت شما خواهم داد. دستور زیر را ببینید:
# chmod go-rwx file1
دستور بالا جواز دسترسیِ پروندۀ file1 را طوری تغییر خواهد داد که گروه کاربری (g) و دیگران (o) نتوانند (-) روی این سند هیچ گونه دسترسی (rwx) داشته باشند. دستور زیر نمونۀ دیگری از تغییر Permission با این روش است:
# chmod o+x temp
دستور بالا پوشۀ temp را برای دیگر کاربران (o) مجاز میداند (+) جهت جستجو درون آن (x). شاید استفاده از این روش سادهتر باشد. از این منظر که دیگر نیازی به تعیین عدد جواز دسترسی درون ذهن نیست و به سادگی با حروف انگلیسی که هر کدام نمایندۀ کار و نوعی دسترسی است این کار را میکنیم.
به هر حال دانستن روش تغییر Permission یا جواز دسترسی در لینوکس برای ما بسیار لازم و ضروری است. حالا در آموزشهای بعدی خواهید دید که چطور در مواقعی ممکن است مشکل ما با تغییر یک جواز دسترسی به سادگی حل شود. اما هنوز یک نکتۀ دیگر مانده و آن این است که چطور میتوانیم کاربر و گروه کاربری دارندۀ یک سند یا پوشه را تغییر دهیم که در آموزش بعدی به این نکته اشاره خواهیم کرد.
سلام من نمیتونم دسترسی بگیریم هر چی میزنم میگه premisson didided
سلام. شما با کاربری وارد سیستم شدید که دسترسی لازم رو برای تغییر جواز دسترسی نداره!
سلام من یوزر قبلی رو در لینوکس حذف کردم ویه یوزر جدید ساختم ولی الان نمیتونم فایلی رو در پارتیشنهای هارد که به عنوان هارد sda هستند کپی کنم یا ایجاد و حذف کنم و دستورات تغییر پرمیشن هم میزنم اجرا میشه ولی عمل نمیکنه ودسترسی من ردانلی هست لازم به ذکر هست که سیستم تنها یک یوزر داره و خودم هستم ممنون میشم راهنمایی بفرمایید
سلام. کاربری که ایجاد کردید باید دسترسی ریشه به سیستم داشته باشه. در غیر این صورت امکان انجام کارهایی با دسترسی بالا وجود نداره. مجدد دسترسی کاربر ریشه را بازیابی کنید و تغییرات لازم را اعمال نمایید.