جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

مجوزهای لینوکس (پرمیژن‌ها)

6 اسفند 1404
ارسال شده توسط فرشید نوتاش حقیقت
برنامه‌نویسی، خط فرمان، دواپس، گنو/لینوکس

مجوزهای فایل لینوکس، پایه و اساس مدل امنیتی سیستم را تشکیل می‌دهند. آن‌ها مشخص می‌کنند چه کسی می‌تواند فایل‌ها و دایرکتوری‌ها را بخواند، بنویسد یا اجرا کند و تضمین می‌کنند که فقط کاربران یا فرآیندهای مجاز می‌توانند به داده‌های حساس دسترسی داشته باشند. می‌توانید این مجوزها را با استفاده از دستور chmod تغییر دهید.

  • ‎chmod +rwx filename – مجوزهای خواندن، نوشتن و اجرا را اضافه می‌کند.
  • chmod -rwx directoryname – همه مجوزها را حذف می‌کند.
  • chmod +x filename – مجوزهای اجرایی را اعطا می‌کند.
  • chmod -wx filename – مجوزهای نوشتن و اجرا را حذف می‌کند.

۱. سه مجوز اساسی

هر فایل یا دایرکتوری سه نوع مجوز دارد:

  • خواندن (r): مشاهده محتوای فایل یا فهرست کردن فایل‌های یک دایرکتوری.
  • نوشتن (w): تغییر یک فایل یا اضافه/حذف فایل‌ها در یک دایرکتوری.
  • اجرا (x): اجرای یک فایل به عنوان یک برنامه/اسکریپت یا ورود به یک دایرکتوری.

حروفشرح
rمحتویات فایل را «می‌خواند».
w«نوشتن» یا تغییر محتوای فایل.
xفایل را «اجرا» می‌کند. این مجوز فقط در صورتی داده می‌شود که فایل یک برنامه باشد.

۲. گروه‌های مالکیت و مجوز

مجوزها به سه دسته از کاربران اختصاص داده می‌شود:

  • User (Owner): شخصی که فایل را ایجاد کرده است.
  • Group: کاربرانی که به یک گروه مشترک تعلق دارند (مثلاً «توسعه‌دهندگان» یا «مدیران»).
  • Others: هر کس دیگری که روی سیستم است.

عملگرتعریف
+اضافه کردن مجوزها
-حذف مجوزها
=تنظیم مجوزها روی مقادیر مشخص شده

توجه: همه این مجوزها بر اساس گروهشان در سه سطح مختلف اعطا می‌شوند.

گروه‌های مجوز در لینوکس چیستند؟

ابتدا، باید آن نه کاراکتر را به عنوان سه مجموعه سه کاراکتری در نظر بگیرید (به کادر پایین مراجعه کنید). هر یک از سه کاراکتر “rwx” به عملیات متفاوتی اشاره دارد که می‌توانید روی فایل انجام دهید.

  • مالکان (Owners): این مجوزها منحصراً برای افرادی که مالک فایل‌ها یا دایرکتوری‌ها هستند اعمال می‌شود.
  • گروه‌ها (Groups): مجوزها را می‌توان به گروه خاصی از کاربران اختصاص داد که فقط افراد درون آن گروه خاص را تحت تأثیر قرار می‌دهد.
  • همه کاربران (All Users): این مجوزها به طور جهانی برای همه کاربران سیستم اعمال می‌شود و بالاترین ریسک امنیتی را ایجاد می‌کند. اختصاص مجوزها به همه کاربران باید با احتیاط انجام شود تا از آسیب‌پذیری‌های امنیتی احتمالی جلوگیری شود.
---     ---     ---
rwx     rwx     rwx
user    group   other

مرجعکلاسشرح
uuserمجوزهای کاربر فقط برای مالک فایل یا دایرکتوری اعمال می‌شود و بر اقدامات سایر کاربران تأثیری نخواهد داشت.
ggroupمجوزهای گروه فقط برای گروهی که به فایل یا دایرکتوری اختصاص داده شده است اعمال می‌شود و بر عملکرد سایر کاربران تأثیری نخواهد داشت.
oothersمجوزهای دیگر برای همه کاربران دیگر سیستم اعمال می‌شود، این گروه مجوزی است که می‌خواهید بیشتر از همه آنها را زیر نظر داشته باشید.
aAll threeهر سه (مالک، گروه‌ها، دیگران)

نحوه بررسی مجوز فایل‌ها در لینوکس

بیایید به بررسی روش‌های ممکن برای بررسی تمام جزئیات مورد نظر یک فایل، از جمله «مجوزهای فایل» بپردازیم.

۱. دستور ایمن

دستور اجرای آن در ترمینال به این صورت است. بیایید با یک مثال به شما نشان دهیم:

ورودی

ما NarX را به عنوان نام فایل پیش‌فرض در نظر می‌گیریم:

ls -l NarX.txt

خروجی

-rw-r--r-- 1 user group 46 Apr 14 16:37 NarX.txt

دستور بالا اطلاعات زیر را نشان می‌دهد:

  • اولین کاراکتر = ‘-‘، به این معنی که یک فایل است ‘d’، به این معنی که یک دایرکتوری است.
  • نه کاراکتر بعدی = (rw-r–r–) امنیت را نشان می‌دهند.
  • ستون بعدی مالک فایل را نشان می‌دهد.
  • ستون بعدی گروه مالک فایل را نشان می‌دهد. (که به این فایل‌ها دسترسی ویژه دارد)
  • ستون بعدی اندازه فایل را به بایت نشان می‌دهد.
  • ستون بعدی تاریخ و زمان آخرین تغییر فایل را نشان می‌دهد.

۲. دستور namei

دستور namei برای بررسی مسیر فایل از طریق لایه مسیر پوشه استفاده می‌شود. دستور اجرای آن در ترمینال به این صورت است:

در اینجا، ما path را به صورت “root@anonymous-VirtualBox:~#” و نام فایل را hoops در نظر گرفته‌ایم.

namei -l /path/to/your/file

۳. دستور stat

برخلاف دستور ls -l، دستور stat برای مشخص کردن محل فایل استفاده می‌شود. در اینجا نحوه انجام این کار آمده است:

ما نام فایل را hoops در نظر می‌گیریم.

stat hoops

خروجی

  File: example.txt
  Size: 2210       Blocks: 8          IO Block: 4096  regular file
Device: 802h/2050d    Inode: 1288496     Links: 1
Access: 2024-11-18 10:50:56.000000000 +0000
Modify: 2024-11-18 10:50:56.000000000 +0000
Change: 2024-11-18 10:50:56.000000000 +0000
 Birth: -

نحوه تغییر مجوزها در لینوکس

دستوری که برای تغییر مجوزهای امنیتی فایل‌ها استفاده می‌کنید chmod نام دارد که مخفف change mode است، زیرا نه کاراکتر امنیتی در مجموع mode امنیتی فایل نامیده می‌شوند. می‌توانید مجوزها را با استفاده از نمادگذاری نمادین یا نمادگذاری هشت‌تایی تغییر دهید.

۱. نمادگذاری نمادین (Symbolic Notation)

نمادگذاری نمادین به شما امکان می‌دهد مجوزهایی را برای کاربران خاص اضافه، حذف یا تنظیم کنید. بیایید این موضوع را با استفاده از مثال‌های مختلف زیر درک کنیم:

مثال ۱: تغییر مجوز فایل در لینوکس

اگر می‌خواهید مجوز “اجرا” را به جهان (“دیگر”) برای فایل xyz.txt بدهید، با تایپ کردن شروع می‌کنید.

chmod o

حالا برای اینکه بگویید در حال «افزودن» مجوز هستید، باید علامت «+» را تایپ کنید.

chmod o+

سپس یک «x» تایپ می‌کنید تا بگویید که مجوز «اجرا» را اضافه می‌کنید.

chmod o+x

در نهایت، مشخص کنید که کدام فایل را تغییر می‌دهید.

chmod o+x xyz.txt

در تصویر زیر می‌توانید تغییر را مشاهده کنید.

همچنین می‌توانید چندین مجوز را به طور همزمان تغییر دهید. برای مثال، اگر می‌خواهید همه مجوزها را از همه افراد بگیرید، باید تایپ کنید.

chmod ugo-rwx xyz.txt

کد بالا تمام مجوزهای خواندن(r)، نوشتن(w) و اجرا(x) را از همه کاربران(u)، گروه(g) و دیگران(o) برای فایل xyz.txt لغو می‌کند که منجر به این می‌شود.

مثال ۲

این کد مجوزهای خواندن (r) و نوشتن (w) را به هر دو کاربر (u) و گروه (g) اضافه می‌کند و مجوز اجرا (x) را از دیگران (o) برای فایل abc.mp4 لغو می‌کند.

chmod ug+rw,o-x abc.mp4

چیزی شبیه به این:

chmod ug=rx,o+r abc.c

مجوزهای خواندن (r) و اجرا (x) را به هر دو کاربر (u) و گروه (g) اختصاص می‌دهد و مجوز خواندن را برای فایل abc.c به دیگران اضافه می‌کند.

ترکیبات بی‌شماری از مجوزهای فایل وجود دارد که می‌توانید فراخوانی، لغو و اختصاص دهید. می‌توانید برخی را در سیستم لینوکس خود امتحان کنید.

۲. مجوزهای هشت‌تایی (اکتال) در لینوکس

نمادگذاری هشت‌هشتی برای نمایش مجوزهای فایل در لینوکس با استفاده از سه گروه کاربری با نشان دادن ۳ رقم استفاده می‌شود، یعنی.

  • user
  • group
  • other users

نحوه‌ی نگاشت مجوزها به صورت زیر است:

  • Read (r) = 4
  • Write (w) = 2
  • Execute (x) = 1

مجوزهای مربوط به مالک، گروه و سایرین با یک مقدار هشت رقمی سه رقمی نمایش داده می‌شوند. مجموع مجوزهای هر گروه، عدد مربوطه را می‌دهد.

مرجع

chmod o

حالا برای اینکه بگویید در حال «افزودن» مجوز هستید، باید علامت «+» را تایپ کنید.

chmod o+

سپس یک «x» تایپ می‌کنید تا بگویید که مجوز «اجرا» را اضافه می‌کنید.

chmod o+x

در نهایت، مشخص کنید که کدام فایل را تغییر می‌دهید.

chmod o+x xyz.txt

در تصویر زیر می‌توانید تغییر را مشاهده کنید.

همچنین می‌توانید چندین مجوز را به طور همزمان تغییر دهید. برای مثال، اگر می‌خواهید همه مجوزها را از همه افراد بگیرید، باید تایپ کنید.

chmod ugo-rwx xyz.txt

کد بالا تمام مجوزهای خواندن(r)، نوشتن(w) و اجرا(x) را از همه کاربران(u)، گروه(g) و دیگران(o) برای فایل xyz.txt لغو می‌کند که منجر به این می‌شود.

مثال

این کد مجوزهای خواندن (r) و نوشتن (w) را به هر دو کاربر (u) و گروه (g) اضافه می‌کند و مجوز اجرا (x) را از دیگران (o) برای فایل abc.mp4 لغو می‌کند.

chmod ug+rw,o-x abc.mp4

چیزی شبیه به این:

chmod ug=rx,o+r abc.c

مجوزهای خواندن (r) و اجرا (x) را به هر دو کاربر (u) و گروه (g) اختصاص می‌دهد و مجوز خواندن را برای فایل abc.c به دیگران اضافه می‌کند.

ترکیب‌های بی‌شماری از مجوزهای فایل وجود دارد که می‌توانید فراخوانی کنید، لغو کنید و اختصاص دهید. می‌توانید برخی را در سیستم لینوکس خود امتحان کنید.

همچنین می‌توانید از نمادهای هشت‌تایی مانند این استفاده کنید.

استفاده از جدول نمادگذاری اکتال به جای ‘r’، ‘w’ و ‘x’. هر نمادگذاری اکتال رقمی می‌تواند برای هر یک از گروه‌های ‘u’، ‘g’ یا ‘o’ استفاده شود.

مجوزهای امنیتی در لینوکس

ترکیب مجوزها r، w، x و – است. بیایید این را به طور خلاصه و به طور مفصل درک کنیم:

به عنوان مثال: “rw- r-x r–“

  • “rw-“: سه کاراکتر اول `rw-`. این بدان معناست که صاحب فایل می‌تواند آن را “بخواند” (به محتوای آن نگاه کند) و “بنویسد” (محتوای آن را تغییر دهد). ما نمی‌توانیم آن را اجرا کنیم زیرا این یک برنامه نیست بلکه یک فایل متنی است.
  • “r-x”: مجموعه دوم از سه کاراکتر “r-x”. این بدان معناست که اعضای گروه فقط می‌توانند فایل‌ها را بخوانند و اجرا کنند.
  • “r–“: سه کاراکتر آخر “r–” مجوزهای مجاز برای سایر کاربرانی که دارای شناسه کاربری در این سیستم لینوکس هستند را نشان می‌دهد. این بدان معناست که هر کسی در دنیای لینوکس ما می‌تواند محتوای فایل‌ها را بخواند اما نمی‌تواند آنها را تغییر دهد یا اجرا کند.

مجوزهای ویژه در لینوکس

علاوه بر روش‌های معمول، لینوکس انواع مجوزهای ویژه‌ای را نیز برای کنترل پیچیده‌تر فایل‌ها ارائه می‌دهد.

۱. دستور setuid

مجوز SET User ID به کاربر اجازه می‌دهد برنامه‌ها را با مجوزهای مالک آن اجرا کند. در زیر مثالی برای همین موضوع آمده است:

chmod u+s program

۲. دستور setgid

مجوز Set Group ID به فایل‌ها اجازه می‌دهد تا تحت مجوزهای گروهی fule اجرا شوند (یا تضمین می‌کند که فایل‌های ایجاد شده در یک دایرکتوری، گروه دایرکتوری را به ارث می‌برند). دستور زیر برای همین کار است:

chmod g+s directoryname

۳. دستور sticky bit

این دستور به کاربر (فقط مالک) اجازه می‌دهد فایل‌های درون دایرکتوری را حذف یا تغییر نام دهد (صرف نظر از مجوزهای سایر کاربران). در اینجا دستوری برای همین کار آمده است:

chmod +t directoryname

نحوه تنظیم مجوزهای فایل برای یک کاربر خاص

برای تنظیم مجوزها برای یک کاربر یا گروه خاص:

۱. با استفاده از chown

از chown برای تغییر مالکیت فایل استفاده کنید:

chown user:group file.txt

۲. با استفاده از chmod

از chmod برای تغییر مجوزها استفاده کنید:

chmod 755 file.txt

geeksforgeeks

درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی مدیریت فایل در لینوکس
بعدی اطلاعات سیستم و مانیتورینگ در لینوکس

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
    • دواپس
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

شما ممکن است در دو حالت تمایل به نشر ویدئو خود را داشته باشید: یا آن را رایگان در اختیار عموم قرار دهید و یا اینکه در قبال فروش آن از خریدار وجه مربوطه محصول را اخذ نمایید.

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

اما در حالت بعدی طریقه همکاری به روش درآمد از فروش خواهد بود، به گونه‌ای که 70 درصد از کل مبلغ فروش دوره آموزشی متعلق به مدرس دوره بوده و 30 درصد مابقی به رسانه محتوای باز تعلق می‌گیرد.

شرایط کلی ضبط دوره آموزشی

دوره آموزشی مربوطه، صرف نظر از هر محتوایی که دارد می‌بایست در یکی از توزیعات گنو/لینوکسی ضبط شده باشد. (به‌عنوان مثال دوره دروپال در اوبونتو، دوره آموزشی کار با آردوینو در دبیان و امثالهم). اگر دوره آموزشی شما در محیط ویندوز و یا هر پلتفرم/سیستم‌عامل دیگری ضبط شده باشد از همکاری با شما معذوریم.

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

از قرار دادن موسیقی متن، در بک‌گراند دوره آموزشی شدیدا پرهیز کنید. این کار موجب حواس‌پرتی مخاطب و ضعیف شدن صدای مدرس می‌گردد.

دوره آموزشی ضبط شده می‌باید فاقد هر گونه لوگو یا آدرس سایت دیگری (در گوشه تصویر یا بک‌گراند صفحه دسکتاپ و هر جای دیگری) باشد.

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

مدرس، هنگام تدریس نباید تپق زده، سرفه یا عطسه کند یا صدای قورت دادن بزاقش شنیده شود و بایستی با صدای رسا، دوستانه و پرانرژی به تدریس بپردازد.

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری