目次
- 1 ١. المقدمة
- 2 ٢. ما هو chmod؟ 【الفهم الأساسي】
- 3 ٣. فهم بنية -rw-r–r–
- 4 ٤. كيفية تعيين -rw-r–r– باستخدام chmod【تطبيق عملي】
- 5 ٥. كيفية التحقق من الصلاحيات باستخدام أمر ls -l
- 6 ٦. كيفية التحقق وتغيير الصلاحيات باستخدام أدوات GUI (للمبتدئين)
- 7 ٧. ملاحظات مهمة حول إعدادات chmod وحلول المشاكل الشائعة
- 8 ٨. أمثلة واقعية وسيناريوهات استخدام chmod
- 9 ٩. الأسئلة المتكررة (FAQ)
- 9.1 س1. ما الفرق بين chmod 644 و -rw-r--r--؟
- 9.2 س2. ماذا يحدث إذا لم يكن للملف صلاحية تنفيذ؟
- 9.3 س3. هل من المقبول تعيين 644 للمجلدات؟
- 9.4 س4. هل هناك ملاحظات عند استخدام chmod -R؟
- 9.5 س5. كيف أعرف سبب ظهور “Permission denied”؟
- 9.6 س6. أريد مشاركة ملف مع الآخرين بدون السماح بالكتابة. ماذا أفعل؟
- 9.7 س7. أخطأت في تعيين الصلاحيات. كيف أعود للإعداد السابق؟
- 10 ١٠. الخلاصة
١. المقدمة
ما هي “صلاحيات الوصول” في لينكس؟
في أنظمة Linux وUnix، تعتبر إدارة “صلاحيات الوصول” (Permissions) للملفات والمجلدات من الأمور الأساسية لأمان النظام واستقراره التشغيلي. غالباً ما يرى المستخدمون رموزًا مثل-rw-r--r--
عند عرض قائمة الملفات في الطرفية، وقد يتساءلون: “ماذا تعني هذه الرموز؟”العلاقة بين chmod و -rw-r–r–
تُظهر هذه الرموز صلاحيات الوصول للملفات، ويتم تعيينها أو تعديلها باستخدام أمرchmod
. عند استخدامك لـ chmod
وتعيين صلاحيات معينة لملف، سترى رموزًا مثل -rw-r--r--
عند عرض التفاصيل.هدف المقال والجمهور المستهدف
في هذا المقال، سنوضح معنى-rw-r--r--
وكيفية تعيين وتعديل الصلاحيات باستخدام chmod
بشكل مبسط للمبتدئين، مع التنويه لنقاط الأمان وأمثلة عملية واقعية. نستهدف في هذا الدليل المستخدمين الجدد للينكس وأيضاً من لديهم خبرة متوسطة في التعامل مع الطرفية، بهدف بناء معرفة عملية يمكن تطبيقها في بيئة العمل.٢. ما هو chmod؟ 【الفهم الأساسي】
دور أمر chmod
chmod
(تُنطق: تشمود أو “تغيير الوضع”) هي اختصار لـ change mode، وتُستخدم في أنظمة Linux وUnix لتغيير صلاحيات الوصول للملفات والمجلدات. يمكنك من خلال هذا الأمر التحكم الكامل في من يمكنه قراءة أو كتابة أو تنفيذ ملف أو مجلد معيّن. ضبط الصلاحيات بشكل صحيح لا يضمن فقط الأمان، بل يمنع أيضًا المشاكل المتعلقة بمشاركة الملفات أو تشغيلها.الصيغة الأساسية لأمر chmod
chmod [الخيارات] [تحديد الصلاحية] اسم_الملف
مثال عملي:chmod 644 sample.txt
يقوم هذا الأمر بتغيير صلاحيات ملف sample.txt
كما يلي:-rw-r--r-- 1 user group 1234 Apr 13 20:00 sample.txt
- المالك (user): قراءة وكتابة (rw-)
- المجموعة (group): قراءة فقط (r–)
- الآخرون (others): قراءة فقط (r–)
طريقتان لتحديد الصلاحيات: رقمية ورمزية
يمكن تحديد صلاحيات الوصول فيchmod
بطريقتين:- الوضع الرقمي (Numberic Mode)
- مثال:
chmod 755 script.sh
- تحديد صلاحية كل فئة مستخدم برقم.
- الوضع الرمزي (Symbolic Mode)
- مثال:
chmod u=rw,g=r,o=r file.txt
- تحديد الصلاحيات باستخدام الرموز: u (user)، g (group)، o (others)، r (read)، w (write)، x (execute).
تنبيه: الفرق بين chmod وchown
غالبًا ما يتم الخلط بين أمرchmod
وأمر chown
:chmod
: لتغيير صلاحيات (Permissions) الوصول.chown
: لتغيير “المالك” أو “المجموعة” الخاصة بملف أو مجلد.
٣. فهم بنية -rw-r–r–
بنية رموز الصلاحيات
عند تنفيذls -l
في لينكس، تظهر تفاصيل الملف هكذا:-rw-r--r-- 1 user group 1234 Apr 13 2025 sample.txt
أول قسم -rw-r--r--
يمثل صلاحيات الوصول (Permissions). فهم هذه الرموز ضروري لتحديد من يمكنه القيام بأي إجراء.شرح أجزاء الرمز بالتفصيل
① أول رمز: نوع الملفالرمز | المعنى |
---|---|
- | ملف عادي |
d | مجلد (دليل) |
l | رابط رمزي |
b | جهاز كتلي |
c | جهاز حرفي |
-rw-r--r--
، الرمز الأول -
يعني أنه ملف عادي. ② من الرمز الثاني للعاشر: صلاحيات الوصول (ثلاث مجموعات × ٣ أحرف)- المالك (user):
rw-
→ يمكنه القراءة والكتابة، لا يمكنه التنفيذ. - المجموعة (group):
r--
→ قراءة فقط. - الآخرون (others):
r--
→ قراءة فقط.
التوافق مع التمثيل العددي: معنى 644
في لينكس، يمكن تمثيل نفس الصلاحيات بـ أرقام ثمانية (Octal). الصيغة-rw-r--r--
تعادل 644.الفئة | رمز الصلاحية | الرقم | المعنى |
---|---|---|---|
المالك | rw- | 6 | قراءة + كتابة |
المجموعة | r-- | 4 | قراءة فقط |
الآخرون | r-- | 4 | قراءة فقط |
- القراءة (r) = 4
- الكتابة (w) = 2
- التنفيذ (x) = 1
rw-
= 4 + 2 = 6، و r--
= 4، r--
= 4، المجموع 644.لماذا تُستخدم هذه الصلاحية كثيرًا؟
صلاحية-rw-r--r--
(أي 644) تُستخدم غالبًا للملفات العامة وملفات المواقع (HTML, CSS) لأنها:- تسمح فقط للمالك بالتعديل ← تمنع التغيير غير المرغوب فيه
- تسمح للآخرين بالقراءة فقط ← مثالية للنشر والمشاركة
٤. كيفية تعيين -rw-r–r– باستخدام chmod【تطبيق عملي】
تغيير صلاحيات الوصول باستخدام أمر chmod
يمكنك تغيير صلاحيات الملفات والمجلدات بحرية باستخدام أمرchmod
. إذا كنت تريد تعيين الصلاحية -rw-r--r--
، فقط استخدم الرقم “644”.طريقة التعيين باستخدام الوضع الرقمي
استخدم الصيغة التالية:chmod 644 اسم_الملف
chmod 644 document.txt
هذا الأمر يغير صلاحيات document.txt
إلى:-rw-r--r-- 1 user group 1234 Apr 13 20:00 document.txt
- المالك (user): قراءة وكتابة (rw-)
- المجموعة (group): قراءة فقط (r–)
- الآخرون (others): قراءة فقط (r–)
طريقة التعيين باستخدام الوضع الرمزي (Symbolic Mode)
إذا كنت تريد مزيدًا من التحكم، يمكنك استخدام الوضع الرمزي:chmod u=rw,g=r,o=r document.txt
شرح الأمر:u=rw
→ المالك لديه إذن القراءة والكتابةg=r
→ المجموعة لديها إذن القراءة فقطo=r
→ الآخرون لديهم إذن القراءة فقط
644
.ملاحظات عند تعيين الصلاحيات على مجلدات
على عكس الملفات، إذا لم يكن للمجلد صلاحية التنفيذ (x)، فلن تستطيع الدخول إليه أو عرض محتوياته. على سبيل المثال:chmod 644 my_folder
في هذا الوضع، يمكن فقط قراءة أسماء الملفات داخل المجلد لكن لا يمكن فتحه فعليًا. الإعداد الصحيح:chmod 755 my_folder
- المالك: قراءة، كتابة، تنفيذ
- المجموعة والآخرون: قراءة وتنفيذ فقط
تغيير الصلاحيات بشكل متكرر: خيار -R
للتطبيق التكراري
إذا أردت تعيين صلاحيات على جميع الملفات والمجلدات الفرعية دفعة واحدة، استخدم خيار -R
(تكراري):chmod -R 644 my_folder
سيتم تطبيق صلاحية 644 على كل الملفات تحت my_folder
. لكن يوجد ملاحظات مهمة لهذا الاستخدام!٥. كيفية التحقق من الصلاحيات باستخدام أمر ls -l
كيفية التحقق من صلاحيات الملفات والمجلدات؟
أمرls -l
هو الطريقة الأساسية في لينكس لعرض تفاصيل الصلاحيات (permissions) واسم المالك والحجم وتاريخ التعديل الأخير وغيرها.الاستخدام الأساسي
ls -l
يعرض الناتج مثلاً:-rw-r--r-- 1 naoya devs 2048 Apr 13 20:00 index.html
شرح عناصر هذا السطر:العنصر | الوصف |
---|---|
-rw-r--r-- | صلاحيات الوصول |
1 | عدد الروابط الثابتة (غالباً 1) |
naoya | المالك (user) |
devs | المجموعة (group) |
2048 | حجم الملف (بايت) |
Apr 13 20:00 | تاريخ آخر تعديل |
index.html | اسم الملف |
كيفية قراءة عمود الصلاحيات
يرجى التركيز على-rw-r--r--
، وهي تُقسم هكذا:- أول رمز: نوع الملف
-
: ملف عاديd
: مجلد (دليل)l
: رابط رمزي- التسعة رموز التالية: صلاحيات الوصول (٣ مجموعات)
- المالك:
rw-
(قراءة وكتابة) - المجموعة:
r--
(قراءة فقط) - الآخرون:
r--
(قراءة فقط)
التحقق من ملف معين فقط
لتحديد صلاحيات ملف بعينه، استخدم اسمه:ls -l index.html
هذا الأمر يوضح فقط صلاحيات الملف المطلوب في مجلد يضم ملفات عديدة.التحقق من صلاحيات المجلدات أيضًا
يمكن التحقق من صلاحيات المجلد بواسطةls -l
، ولعرض بيانات المجلد فقط استخدم الخيار -d
:ls -ld my_folder
يعرض هذا صلاحيات المجلد نفسه بدون إظهار الملفات داخله.إدارة الصلاحيات بأمان مع المراجعة الدورية
بعد ضبط الصلاحيات باستخدامchmod
، يُنصح دائمًا بالتحقق من النتيجة بواسطة ls -l
لتفادي المشكلات الأمنية. أيضًا، يمكنك تصفية الملفات حسب الامتداد:ls -l | grep '.sh'
يعرض فقط الملفات المنتهية بـ .sh
(ملفات سكريبت شل).٦. كيفية التحقق وتغيير الصلاحيات باستخدام أدوات GUI (للمبتدئين)
خيارات للمستخدمين الذين لا يفضلون الأوامر الطرفية
رغم أن إدارة لينكس تتم غالبًا عبر الطرفية، إلا أن بعض المبتدئين يفضلون الواجهات الرسومية (GUI) لتجنب الأخطاء. لحسن الحظ، يمكنك مراجعة وتعديل الصلاحيات باستخدام أدوات رسومية.إدارة الملفات في Ubuntu باستخدام Nautilus
معظم توزيعات لينكس مثل Ubuntu تأتي بمدير الملفات “Nautilus”، وهو مشابه لـ Windows Explorer. كيفية التحقق:- انقر يمينًا على الملف أو المجلد المطلوب
- اختر “الخصائص (Properties)”
- افتح تبويب “الصلاحيات (Permissions)”
- التحقق أو تغيير المالك والمجموعة (بحاجة لصلاحية إدارية)
- تغيير أذونات القراءة/الكتابة/التنفيذ بسهولة
- رؤية التغييرات فورًا
WinSCP (لمستخدمي Windows للوصول عبر SFTP)
إذا كنت تتصل بسيرفر لينكس من ويندوز، يمكنك استخدام برنامج WinSCP لضبط الصلاحيات عبر واجهة رسومية. الخطوات:- سجّل الدخول إلى الخادم باستخدام WinSCP
- انقر يمينًا على الملف واختر “الخصائص”
- اضبط الأذونات بالقيم الرقمية (مثل 644) أو عن طريق مربعات الاختيار
- اضغط “موافق” لتطبيق التغييرات
- رؤية الصلاحيات بنظامي الرموز والأرقام
- تغيير الصلاحيات بشكل تكراري (Recursive) للمجلدات بسهولة
- بعض الملفات تحتاج لصلاحية root أو sudo لتغييرها
WinSCP - Free SFTP and FTP client
WinSCP is a popular free file manager for Windows supporting…
FileZilla (عميل SFTP متعدد الأنظمة)
يمكنك أيضًا ضبط الصلاحيات باستخدام FileZilla على أنظمة Mac أو Linux. الخطوات:- اتصل بالسيرفر، ثم انقر يمينًا على الملف المطلوب
- اختر “صلاحيات الملف (File Permissions)”
- عيّن الأذونات بالأرقام أو مربعات التحديد، ثم اضغط “موافق”
مزايا واحتياطات استخدام أدوات GUI
المزايا:- أسهل للمبتدئين، يقلل الأخطاء
- رؤية التعديلات مباشرة
- لا حاجة لخبرة في الأوامر الطرفية
- قد لا تعمل بعض التغييرات حسب إعدادات الخادم أو البيئة
- ينصح دائمًا بمراجعة الصلاحيات عبر
ls -l
للتأكد
FileZilla - The free FTP solution for both client and server…
٧. ملاحظات مهمة حول إعدادات chmod وحلول المشاكل الشائعة
هل لا يعمل الأمر بالشكل المتوقع؟ أسباب ذلك
أحيانًا بعد تغيير الصلاحيات باستخدامchmod
، قد لا تعمل الملفات كما تتوقع. السبب غالبًا هو خطأ في إعدادات الصلاحيات أو فهم غير صحيح لها.
هنا سنستعرض أمثلة لمشاكل واقعية في العمل وكيفية حلها.أسباب وحلول خطأ Permission denied
الوصف:bash: ./script.sh: Permission denied
السبب:- الملف الذي تحاول تشغيله لا يملك صلاحية التنفيذ (x)
chmod +x script.sh
أو باستخدام الوضع الرقمي:chmod 755 script.sh
حتى إذا كان الملف قابلًا للقراءة والكتابة، بدون صلاحية التنفيذ لن تتمكن من تشغيله.عدم القدرة على الدخول إلى مجلد بسبب غياب صلاحية التنفيذ
إذا قمت بتعيينchmod 644
لمجلد، لن تستطيع عرض محتوياته. السبب:- في حالة المجلدات، صلاحية التنفيذ (x) ضرورية للدخول أو استعراض الملفات داخله.
chmod 644 my_folder
ls my_folder
→ سيظهر خطأ عند محاولة الدخول. الحل:chmod 755 my_folder
المشاكل الناتجة عن التغيير التكراري (Recursive -R)
استخدامchmod -R
قد يؤدي إلى تعيين نفس الصلاحيات على جميع الملفات والمجلدات، ما يسبب مشاكل غير متوقعة. خطأ شائع:chmod -R 644 /var/www/html
→ لن تستطيع الدخول إلى المجلدات لأن صلاحية التنفيذ أُلغيت! الاستخدام الصحيح:# الصلاحية 755 للمجلدات
find /var/www/html -type d -exec chmod 755 {} ;
# الصلاحية 644 للملفات
find /var/www/html -type f -exec chmod 644 {} ;
مشكلة المالك والمجموعة مع الصلاحيات
لا يكفي فقط استخدامchmod
، بل يجب الانتباه لمن هو مالك الملف (user) أو المجموعة (group).
مثال: إذا كان مستخدم apache يحتاج لقراءة الملف، ولكن المالك شخص آخر والآخرون ليس لديهم صلاحية القراءة، لن يعمل الموقع. الحل:- تغيير المالك:
sudo chown www-data:www-data index.html
- ضبط صلاحية المجموعة:
chmod 640 index.html
(إذا كانت المجموعة صحيحة)
تحذير: تعيين صلاحية 777 خطير جدًا!
يفترض بعض الأشخاص أن تعيين777
سيحل كل المشاكل، لكنه خطير جدًا. الأسباب:- أي شخص يمكنه قراءة، كتابة، أو تنفيذ الملف
- تعرض الملفات لخطر التعديل أو الاستغلال من أطراف خارجية
- الملفات: استخدم 644 أو 600
- المجلدات: استخدم 755 أو 700
- البرمجيات أو السكربتات: استخدم 755 عند الحاجة
٨. أمثلة واقعية وسيناريوهات استخدام chmod
كيف تُستخدم صلاحيات chmod في بيئة العمل؟
صلاحيات chmod و-rw-r--r--
تُستخدم بكثرة في إدارة السيرفرات وتطوير الويب.
فيما يلي ثلاث سيناريوهات عملية مشهورة:١. إدارة ملفات HTML على خادم ويب
الموقف: عند نشر ملفات HTML عبر Apache أو Nginx غالبًا ما تكون صلاحيتها-rw-r--r--
(أي 644).chmod 644 index.html
لماذا 644؟- المدير (مالك الملف) يحتاج للكتابة ← صلاحية الكتابة (w)
- خادم الويب (www-data مثلاً) يحتاج للقراءة فقط ← صلاحية القراءة (r)
- لا حاجة للسماح للآخرين بالكتابة
٢. إضافة صلاحية التنفيذ لملفات السكربتات
الموقف: أنشأت سكربت شل باسمbackup.sh
وعند التنفيذ ظهرت رسالة “Permission denied”.chmod 755 backup.sh
ما معنى 755؟- المالك: قراءة، كتابة، تنفيذ (rwx)
- المجموعة والآخرون: قراءة وتنفيذ فقط (rx)
٣. حماية ملفات سرية (مفاتيح API أو كلمات مرور)
الموقف: لديك ملفsecrets.txt
وتريد أن تكون القراءة والكتابة متاحة فقط لك.chmod 600 secrets.txt
شرح الإعداد:- المالك فقط يمكنه القراءة والكتابة (rw-)
- المجموعة والآخرون: بلا صلاحيات (—)
٤. مشاركة مجلد بأمان بين المطورين
الموقف: أنشأت مجلد مشترك باسمshared_folder
لعدة مطورين.chmod 770 shared_folder
معنى الإعداد:- المالك والمجموعة: جميع الصلاحيات (rwx)
- الآخرون: بلا صلاحيات (—)
chgrp
للتحكم بمن يمكنه الوصول للمجلد.٥. تجنب الأخطاء الشائعة في تعيين الصلاحيات
الموقف: نفذتchmod -R 777 .
بالخطأ، وكل الملفات أصبحت قابلة للتعديل للجميع. طرق الوقاية:- استخدم دائمًا
find
لتعيين الصلاحيات حسب نوع الملف - تحقق من الصلاحيات باستخدام
ls -l
قبل التغيير - جرّب دائمًا في بيئة اختبار قبل التطبيق على النظام الحقيقي
٩. الأسئلة المتكررة (FAQ)
س1. ما الفرق بين chmod 644
و -rw-r--r--
؟
ج: الفرق فقط في طريقة العرض، المعنى متطابق تمامًا.chmod 644
: أمر لتعيين الصلاحيات بالأرقام-rw-r--r--
: شكل الصلاحية كما تظهر بعد الأمرls -l
س2. ماذا يحدث إذا لم يكن للملف صلاحية تنفيذ؟
ج: إذا حاولت تنفيذ سكربت أو ملف ثنائي (مثل .sh أو .py) بدون صلاحية التنفيذ، ستظهر رسالة خطأ.bash: ./script.sh: Permission denied
الحل:chmod +x script.sh
س3. هل من المقبول تعيين 644
للمجلدات؟
ج: عادةً لا ينصح بذلك. المجلدات تحتاج لصلاحية التنفيذ (x) ليستطيع المستخدمون الدخول إليها. الإعداد الصحيح:chmod 755 اسم_المجلد
س4. هل هناك ملاحظات عند استخدام chmod -R
؟
ج: نعم، لأن الأمر سيطبق نفس الصلاحيات على الملفات والمجلدات، وهذا قد يسبب مشاكل في الدخول للمجلدات. مثال:chmod -R 644 my_project/
→ ستفقد المجلدات صلاحية الدخول إليها. الحل الآمن:find my_project/ -type d -exec chmod 755 {} ;
find my_project/ -type f -exec chmod 644 {} ;
س5. كيف أعرف سبب ظهور “Permission denied”؟
ج: تحقق مما يلي:- هل الملف يحتاج صلاحية تنفيذ ولا يملكها؟
- هل تحاول الكتابة وأنت لست المالك؟
- هل المجلد بلا صلاحية تنفيذ؟
- هل ينقصك صلاحية sudo للتغيير؟
ls -l
و whoami
لمراجعة المستخدم الحالي وصلاحياته.س6. أريد مشاركة ملف مع الآخرين بدون السماح بالكتابة. ماذا أفعل؟
ج: استخدم 644 أو 444.chmod 644 share.txt
- 644: الآخرون يمكنهم القراءة فقط
- 444: الجميع قراءة فقط، حتى المالك
س7. أخطأت في تعيين الصلاحيات. كيف أعود للإعداد السابق؟
ج: إذا لم تكن سجلت الإعداد القديم، قارن مع ملف آخر لديه الصلاحية الصحيحة وأعد التعيين.ls -l /path/to/ملف_صحيح
ثم طبق نفس الصلاحية عبر chmod
. من الأفضل توثيق الإعدادات الأصلية دائمًا.١٠. الخلاصة
أهمية فهم chmod والصلاحيات
تناولنا في هذا المقال شرحًا مفصلًا لأمرchmod
المستخدم على نطاق واسع في لينكس/يونيكس، وكذلك دلالة رموز -rw-r--r--
.
هذه ليست مجرد معرفة تقنية، بل أساسيات ضرورية لأمان النظام، وكفاءة التشغيل، وإدارة الملفات بشكل سليم.تلخيص النقاط الأساسية
chmod
لتغيير صلاحيات الملفات والمجلدات-rw-r--r--
تعني: المالك يقرأ ويكتب، الآخرون يقرأون فقط- التمثيل الرقمي
644
والرمزي متكافئان - هناك طريقتان للتعيين: رقمية ورمزية
- استخدم
ls -l
للتحقق من الصلاحيات الحالية - أدوات GUI (مثل Nautilus وWinSCP وFileZilla) متاحة للمبتدئين
- انتبه للأخطاء مثل “Permission denied” عند تعيين الصلاحيات
- اختيار الصلاحية المناسبة مبني على الأمان والغرض المطلوب
لا توجد صيغة صلاحية واحدة تناسب الجميع
الأهم هو أن كل ملف أو مجلد يحتاج لصلاحية تناسب استخدامه وحاجة الأمان، وليس هناك إعداد مثالي واحد للجميع.نصائح أخيرة لمستخدمي صلاحيات الملفات
قد تبدو الأمور معقدة في البداية، لكن مع التعوّد على استخدامchmod
وفهم الصلاحيات ستتمكن من تجنب المشاكل الأمنية والعمل بشكل احترافي. تذكر دائمًا: من يمكنه الوصول؟ لأي غرض؟ وما هو الحد الأدنى اللازم من الصلاحيات؟ الإجابة على هذه الأسئلة أساس الإدارة الذكية والآمنة للملفات في لينكس.