حالت های مختلف فایل
برای یک فایل سه حالت خوندن (read)، نوشتن (write) و اجرا کردن (execute) وجود داره.
خوندن
در این حالت فایل قابل خوندن (readable) است، به فایل هایی که فقط قابل خوندن باشن و قابل نوشتن یا اجرا شدن نباشن، فایل های read-only میگیم.
نوشتن
در این حالت محتوای فایل میتونه توسط برنامه ها تغییر کنه؛ به فایل هایی که این حالت براشون وجود داره فایل های writable میگیم.
اجرا کردن
در این حالت فایل اگه برنامه باشه، قابل اجرا در سیستم عامل است؛ به فایل هایی که این حالت براشون وجود داره فایل های executable میگیم.
برای هر فایل ممکنه یک، دو یا هر سه حالت گفته شده وجود داشته باشه.
بررسی دستور chmod
با استفاده از دستور chmod در لینوکس میتونیم دسترسی خوندن نوشتن یا اجرا کردن فایل رو برای user، group یا other تغییر بدیم؛ chmod یک دستور قابل اجرا در محیط shell و مخفف change mode است.
توجه
در مثال های این مطلب بجای file باید اسم فایل کامل نوشته بشه، فرض کنید یک فایل داریم به نام movie.mp4 باید به همین صورت بجای file بنویسیمش و اگه فایل در مسیر دیگه ای قرار داشته باشه، باید مسیر فایل با نام فایل به صورت کامل (مثلا /home/username/movie.mp4) نوشته بشه.
فرم کلی:
chmod <numbers|letters> file
در بالا <numbers|letters> اعداد یا حروفی هستن که میتونیم باهاشون سطح دسترسی فایل رو تغییر بدیم.
با دستور chmod میتونیم از طریق حروف یا اعداد سطح دسترسی فایل رو تغییر بدیم.
اگه بخوایم سطح دسترسی یک پوشه رو تغییر بدیم با استفاده از آرگومان R میتونیم علاوه بر پوشه، سطح دسترسی محتوای داخل پوشه رو هم تغییر بدیم.
chmod <numbers|letters> -R file
تغییر سطح دسترسی فایل با استفاده از حروف
فرم کلی:
chmod <agent><op><mod> file
در بالا بجای <agent> یکی از حروف u, g, o یا a رو مینویسیم
بجای <mode> یک، دو یا هر سه حرف r, w و x مینویسیم
بجای <op> یکی از علامت های +, - یا = رو می نویسیم.
حروف u, g, o و a
با استفاده از حروف u, g, o یا a تعیین میکنیم سطح دسترسی فایل برای کدوم دسته از user, group یا other تغییر پیدا کنه.
حرف u
حرف u ابتدای کلمه ی user است یعنی میخوایم سطح دسترسی فایل رو برای کاربر (user) تغییر بدیم.
حرف g
حرف g ابتدای کلمه ی group است؛ یعنی میخوایم سطح دسترسی فایل رو برای گروه (group) تغییر بدیم.
حرف o
حرف o ابتدای کلمه ی other است؛ یعنی میخوایم سطح دسترسی فایل رو برای کسایی که نه تو دسته ی user هستند و نه تو دسته ی group تغییر بدیم.
حرف a
از حرف a زمانی استفاده می کنیم که بخوایم سطح دسترسی فایل رو برای هر سه user, group و other تغییر بدیم.
حروف r, w و x
با استفاده از حروف w, x, و r نوع سطح دسترسی (نوشتن، اجرا شدن یا خوندن) رو تعیین میکنیم.
حرف x
حرف x در chmod یکی از حروف execute است؛ با این حرف تعیین می کنیم فایل برای user, group یا other قابل اجرا باشه.
میخوایم به user فقط دسترسی اجرا کردن فایل رو بدیم.
chmod u=x file
حرف w
حرف w در chmod ابتدای کلمه ی write است؛ با w میتونیم دسترسی نوشتن در فایل رو به user, group یا other بدیم.
میخوایم به group فقط دسترسی نوشتن در فایل رو بدیم.
chmod g=w file
حرف r
این حرف ابتدای کلمه ی read است؛ با r میتونیم دسترسی خوندن برای به user, group یا other به فایل بدیم.
میخوایم به other فقط دسترسی خوندن فایل رو بدیم.
chmod o=r file
در مثال زیر میخوایم دسترسی خوندن و نوشتن فایل رو به کاربر (user) بدیم و به گروه (group) و دیگران (other) فقط دسترسی خوندن بدیم.
chmod u=rw file
chmod g=r file
chmod o=r file
علامت های = + و -
اگه بخوایم بجای دسترسی هایی که برای فایل وجود داره دسترسی های جدید تعریف کنیم از = استفاده می کنیم.
در مثال زیر میخوایم برای user دسترسی خوندن و اجرا کردن فایل رو بدیم.
chmod u=xr file
اگه بخوایم بدون تغییر در سایر دسترسی های تعریف شده برای فایل یک دسترسی جدید به فایل اضافه کنیم، از + استفاده می کنیم.
در مثال زیر دسترسی write رو به group اضافه کردیم.
chmod g+w file
اگه بخوایم بدون تغییر در سایر دسترسی های تعریف شده برای فایل یک دسترسی رو از فایل بگیریم از - استفاده می کنیم.
در مثال زیر دسترسی write به فایل رو از user حذف کردیم.
chmod u-w file
تغییر سطح دسترسی فایل با استفاده از اعداد
علاوه بر حروف میتونیم سطح دسترسی فایل رو با استفاده از اعداد در chmod تغییر بدیم.
فرم کلی:
chmod nnn file
در بالا سه تا n وجود داره، بجای هر n یک عدد بین 0 تا 7 باید بزاریم، به ترتیب از چپ n اول مربوط میشه به دسترسی به فایل برای user، دومین n دسترسی به فایل برای group و اخرین n دسترسی به فایل برای other.
در زیر هر عدد با دسترسی که به فایل میده، برای user, group, other و all بیان شده.
چهار عدد اصلی
چهار عدد اصلی بین 0 تا 7 وجود داره و سایر اعداد از جمع این چهار عدد به دست میان.
عدد 0
اگه بخوایم هیچ دسترسی به فایل وجود نداشته باشه از عدد 0 استفاده می کنیم.
میخوایم هیچ دسترسی به فایل برای user, group و other وجود نداشته باشه.
chmod 000 file
عدد 1
عدد 1 در chmod دسترسی اجرای فایل رو به user, group یا other میده.
میخوایم دسترسی اجرای فایل رو به user بدیم
chmod 100 file
عدد 2
عدد 2 در chmod دسترسی به نوشتن در فایل رو به user, group یا other میده.
میخوایم به user دسترسی اجرای فایل رو بدیم و به group دسترسی نوشتن در فایل.
chmod 120 file
عدد 4
عدد 4 در chmod دسترسی خوندن فایل رو به user, group یا other میده.
میخوایم به user دسترسی اجرای فایل رو بدیم، به group دسترسی نوشتن در فایل و به other دسترسی خوندن فایل رو بدیم.
chmod 124 file
جمع چهار عدد اصلی
همه ی اعداد بین 0 تا 7 در chmod از جمع چهار عدد اصلی 1, 2, 4 به دست میان.
فرض کنید میخوایم دسترسی خوندن و اجرا کردن فایل رو به user بدیم و به group فقط دسترسی خوندن داده و به other هیچ دسترسی به فایل ندیم.
گفتیم عدد 1 برای اجرا کردن فایل و عدد 4 برای خوندن فایل است، برای اینکه یک فایل قابل خوندن و قابل اجرا شدن باشه جمع 1 و 4 میشه 5؛ پس عدد پنج دسترسی خوندن واجرا کردن فایل رو میده.
chmod 540 file
فرض کنید میخوایم دسترسی خوندن فایل، نوشتن در فایل و اجرا کردن فایل رو به user و group داده و تنها دسترسی خوندن و اجرا کردن فایل رو به other بدیم. عدد 1 برای اجرا کردن فایل است، عدد 2 برای نوشتن در فایل و عدد 4 برای خوندن در فایل.
chmod 775 file
خلاصه
- با استفاده از دستور chmod در لینوکس میتونیم سطح دسترسی فایل رو برای user, group و other تغییر بدیم.
- با دستور chmod در لینوکس میتونیم سطح دسترسی به فایل رو با استفاده از حروف یا اعداد تغییر بدیم.
- برای تغییر سطح دسترسی فایل با استفاده از حروف باید از حروف ugo برای سه دسته ی user, group و other استفاده کنیم و از rwx برای تعیین سطح دسترسی خوندن، نوشتن و اجرا کردن استفاده کنیم.
- برای تغییر دسترسی به فایل در chmod با استفاده از اعداد، ۳ رقم وجود داره که هر رقم به ترتیب از چپ به راست برای user, group و other است و برای هر رقم میتونیم یک عدد بین 0 تا 7 انتخاب کنیم.
- هنگام استفاده از اعداد برای تغییر سطح دسترسی فایل در chmod چهار عدد اصلی وجود داره که سایر اعداد از جمع این چهار عدد به دست میاد.
بازخورد و دیدگاه ها
اولین نفری باشید که در این صفحه نظر میدهید