متوسط · ۱۰ دقیقه مطالعه · بهروزرسانی ۲۰۲۶-۱۱
درک مجوزهای فایل
آن رشتهی rwxr-xr-x کنار هر فایل بیمعنی نیست — یعنی چه کسی میتواند آن را بخواند، بنویسد و اجرا کند. خواندن و تغییرش را یاد بگیر.
لینوکس از همان روز اول برای استفادهی همزمان چند نفر ساخته شد، بنابراین هر فایل مجوزهایی را با خود دارد: چه کسی اجازه دارد آن را بخواند، تغییر دهد، یا اجرا کند. درست انجام دادن این کار، تفاوت بین یک سرور امن و سروری است که هرکسی میتواند دستکاریاش کند.
خواندن آن ده کاراکتر
در خروجی ls -l، ستون اول چیزی شبیه -rw-r--r-- است. کاراکتر اول نوع است (- فایل، d پوشه). نُه کاراکتر بعدی سه گروهِ سهتاییاند: مالک، گروه، و بقیهی کاربران. در هر گروه، r یعنی خواندن، w یعنی نوشتن، x یعنی اجرا، و خط تیره یعنی «مجاز نیست».
$ ls -l app.py -rwxr-xr-x 1 root root 128 Nov 2 12:01 app.py │└┬┘└┬┘└┬┘ │ │ │ └ others: read + execute │ │ └──── group: read + execute │ └─────── owner: read + write + execute └───────── type: regular file
تغییر مجوزها: chmod
دستور chmod مجوزها را تغییر میدهد. شکل سادهاش یک مجوز را برای مالک (u)، گروه (g)، بقیه (o) یا همه (a) اضافه (+) یا حذف (-) میکند. مثلاً یک اسکریپت را قابلاجرا کن:
chmod +x app.py # anyone can now run it
chmod go-w notes.txt # group & others cannot write
chmod u+rw,go-rwx key # owner read/write, nobody else anythingمیانبُر عددی
اغلب chmod 755 یا chmod 644 را میبینی. هر رقم یک گروه است (مالک، گروه، بقیه)، و در آن خواندن=۴، نوشتن=۲، اجرا=۱ با هم جمع میشوند. پس ۷ یعنی rwx، ۶ یعنی -rw، ۵ یعنی r-x، ۴ یعنی --r. عددِ ۷۵۵ یعنی مالک همهکاری میتواند بکند و بقیه فقط میخوانند و اجرا میکنند — استاندارد یک برنامه.