نواصل إخبارك بالتفصيل عن المستخدمين والمجموعات في Linux واليوم سنتحدث عن كيفية استخدام أوامر chown وchmod.
تشاون - من اللغة الإنجليزية تغيير الخاصة. وهكذا، كما تعلم، لدى Linux مستخدمون ومجموعات. كل مستخدم لديه ملفاته الخاصة التي تم إنشاؤها أو تحميلها. كل مستخدم موجود في مجموعته الخاصة ويمكن دمجه مع مستخدمين آخرين في مجموعات أخرى.
لمعرفة مالك الملف والمجموعة التي ينتمي إليها، استخدم الأمر:
إذا كنت تريد تغيير أو تغيير مالك (مستخدم) الملف، فسيساعدك الأمر:
سودو chown اسم المستخدم text.txt
في في هذا المثالقمنا بتعيين ملف text.txt إلى اسم المستخدم.
إذا كنت تريد تغيير المجموعة فقط، فيمكنك استخدام الأمر chgrp:
Sudo chgrp اسم المجموعة text.txt
لكي لا تدخل أمرين مختلفين، قم بما يلي:
Sudo chown userName:groupName text.txt
تتم الإشارة إلى مالك الملف أولاً، ثم المجموعة:
سودو تشاونOwner_name : اسم المجموعة text.txtإذا كنت بحاجة إلى تغيير المالك والمجموعة في الدليل، وهناك العديد من الملفات والمجلدات هناك، فاستخدم المفتاح -R:
سودو تشاون -راسم المستخدم:اسم المجموعة /var/www/site/
ولذا فإننا نعلم أن هناك مستخدمين ومجموعات. الآن دعونا نتحدث عن حقوق الوصول. لماذا هذا ضروري؟ على سبيل المثال، لديك دليل يحتوي على الملفات الشخصية. حتى تتمكن مالك على سبيل المثال، يمكنهم تحرير الملفات وعرضها مجموعة ، راجع فقط البيانات والملفات و استراحة لا يمكن للمستخدمين الذين ليسوا أعضاء في أي من المجموعات وليسوا مالكين فعل أي شيء على الإطلاق، ولهذا السبب هناك حاجة إلى حقوق الوصول.
يمكن الإشارة إلى أذونات الملف بالأرقام والحروف:
وتتلخص قيم الحقوق بالأرقام في:
لكل ملف ودليل، يتم تعيين الحقوق بشكل منفصل للمالك والمجموعة والمستخدمين الآخرين.
مالك | مجموعة | استراحة | ||
ش | ز | س | ||
خطابات الأذونات | أرقام حقوق الوصول | |||
com.rwxrwxrwx | 777 | اقرأ، اكتب، افعل كل شيء | ||
rwxr-xr-x | 755 | يقرأ، يكتب، ينفذ | قراءة وتشغيل | |
ص-ص-ص- | 644 | القراءة والكتابة | يسوي فقط | |
ص ——— | 400 | ولا يقرأه إلا صاحبه | — | — |
تغيير الأذونات على ملف أو دليل أمر شموديمكنك استخدام كل من الأرقام والحروف.
لتغيير أذونات ملف أو دليل باستخدام الأمر chmod باستخدام الأرقام، أدخل الأمر:
سودو شمود 755 نص.txt
بالنسبة للأدلة، تحتاج إلى إضافة مفتاح -R بعد chmod.
فقط أدناه أمر مفيدكيفية تغيير الأذونات بشكل مجمّع في جميع المجلدات والمجلدات الفرعية.
للمجلدات:
يجد/ your_way -نوع d -exec chmod 755 ()\;
للملفات:
يجد/ your_way -نوع f -exec chmod 644 () \;
بالنسبة للمبتدئين، سيكون تغيير حقوق الوصول بالأحرف أكثر صعوبة بعض الشيء، لكن هذه المعرفة ستكون مفيدة.
وكما تعلم أن هناك مالكًا ومجموعة ومستخدمين آخرين، فقد تم تحديدهم على النحو التالي:
ش | مستخدم | مالك |
ز | مجموعة |
في Linux، ترتبط كافة الملفات بمالك والمجموعة. يتم استخدام الأمر chown لتغيير إذن المستخدم والمجموعة إلى ملف أو دليل أو رابط محدد.
سنوضح لك في هذه المقالة كيفية استخدام الأمر chown مع أمثلة بسيطة.
قبل أن ننتقل إلى استخدام الأمر chown، دعونا نبدأ بمراجعة بناء الجملة الأساسي.
تبدو تعبيرات أمر Chown كما يلي:
ملف (ملفات) المستخدم[:GROUP]
استخدم الأمر ls -l لمعرفة من يملك الملف أو المجموعة.
لتتمكن من تغيير ملكية الملف، يجب أن يكون لدى المستخدم الذي ينفذ أمر chown .
لتغيير مالك الملف، استخدم الأمر chown متبوعًا باسم المستخدم للمالك الجديد والملف الهدف.
ملف المستخدم تشاون
على سبيل المثال، سيؤدي الأمر التالي إلى تغيير ملكية ملف اسمه file1 إلى مالك جديد اسمه andreyex:
تشاون أندريكس file1
لتغيير ملكية ملفات أو أدلة متعددة، حددها كقائمة مفصولة بمسافات. على سبيل المثال، يقوم الأمر التالي بتغيير ملكية الملف المسمى file1 والدليل dir1 إلى مالك جديد يسمى andreyex:
تشاون أندريكس file1 dir1
يمكنك استخدام معرف مستخدم رقمي (UID) بدلاً من اسم المستخدم. سيؤدي المثال التالي إلى تغيير ملكية الملف المسمى file2 إلى مالك جديد بـ UID 1000:
تشاون 1000 ملف2
إذا كان المالك الرقمي موجودًا كاسم مستخدم، فسيتم نقل الملكية إلى اسم المستخدم.
لتغيير مالك الملف والمجموعة، استخدم الأمر chown، متبوعًا بالمالك الجديد والمجموعة، مفصولة بنقطتين (بدون مسافات متداخلة ولا ملف هدف.
المستخدم تشاون: ملف المجموعة
سيؤدي الأمر التالي إلى تغيير ملكية الملف المسمى file1 إلى مالك جديد يُدعى andreyex ومجموعة المستخدمين:
تشاون أندريكس: ملف المستخدمين 1
إذا قمت بحذف اسم المجموعة بعد النقطتين (، فسيتم تغيير مجموعة الملف إلى مجموعة المستخدمين المحددة.
تشاون أندريكس: file1
يمكن للأمر chown أن يؤدي نفس الوظيفة، أي أنه يمكنه تغيير مجموعة من الملفات.
لتغيير مجموعة ملف فقط، استخدم الأمر chown متبوعًا بنقطتين (، واسم المجموعة الجديد والملف الهدف.
تشاون: ملف المجموعة
سيقوم الأمر التالي بتغيير المجموعة المالكة للملف المسمى file1 إلى www-data:
تشاون: www-data file1
للعمل بشكل متكرر على جميع الملفات والأدلة في دليل الإدخال، استخدم الخيار -r (–recursive):
مستخدم Chown -R: دليل المجموعة
على سبيل المثال، سيؤدي الأمر التالي إلى تغيير ملكية كافة الملفات والأدلة في الدلائل الفرعية /var/www إلى مالك جديد ومجموعة جديدة تسمى www-data:
تشاون www-data: /var/www
الآن يجب أن يكون لديك فهم جيد لكيفية استخدام الأمر chown في Linux. إذا كنت تريد معرفة المزيد عن أمر chown، قم بزيارة صفحة chown man.
تشاون [-fhv] [-R [-H | -ل | -ف]] مالك [:مجموعة ] ملف... chown [-fhv] [-R [-H | -ل | -ف]] : ملف المجموعة... يقوم البرنامج بتغيير مالك و/أو مجموعة الملف أو الدليل، أي معرف المستخدمو معرف المجموعةللملف المحدد. إذا لم يتم تحديد الخيار -ح، لا يتم تغيير الروابط الرمزية التي تم تمريرها كوسائطيمكن استخدام الخيارات التالية: -H إذا تم ضبط الخيار -ر، اتبع الروابط من سطر الأوامر. (لم يتم اتباع الروابط التي تم العثور عليها أثناء اجتياز شجرة الدليل) -L إذا كان الخيار -رتم التثبيت، اتبع جميع الروابط الرمزية. -ر-P إذا كان الخيار معرف المستخدمتم التثبيت، لا تتبع الروابط. السلوك الافتراضي. معرف المجموعة-R العودية. يتغير معرف المستخدمتم التثبيت، لا تتبع الروابط. السلوك الافتراضي. معرف المجموعةفقط على الرابط نفسه -v وضع لعرض الرسائل الخاصة بتنفيذ البرنامج. إذا تم تحديد الخيار أكثر من مرة، chown سيتم إخراج اسم الملف متبوعًا بالقديم والجديدمعرف المستخدم/معرف المجموعة . خيارات, -حو -ل-ص -ر، سيتم تجاهله إذا كان الخيار -v وضع لعرض الرسائل الخاصة بتنفيذ البرنامج. إذا تم تحديد الخيار أكثر من مرة،غير مثبت. بالإضافة إلى ذلك، فإن كل هذه الخيارات تلغي بعضها البعض، وتتجاوز سلوك الأمر مالكو مجموعة، سيتم تحديده بواسطة الخيار الأخير المحدد. خيارات مجموعةليست إلزامية، ولكن يجب تحديد واحد منها على الأقل. لو فقط : ، يتم وضع علامة أمامه مالك(القولون). المعلمة مجموعةيمكن تمثيل الملف إما كتعبير رقمي معرف المستخدم أو كاسم رمزي. إذا كان اسم المستخدم يطابق معرف المستخدم الخاص به، فسيتم استخدام المعامل كـ "اسم المستخدم". الأمر نفسه ينطبق على المعلمة -v وضع لعرض الرسائل الخاصة بتنفيذ البرنامج. إذا تم تحديد الخيار أكثر من مرة،. لا يمكن تغيير ملكية الملف إلا بواسطة المستخدم المتميز، وذلك لأسباب أمنية. برنامج >0 يعود 0 على النجاح و في حالة حدوث خطأ. انظر أيضا
chgrp(1)، العثور على(1)، chown(2)، fts(3)، الارتباط الرمزي(7)
كل ملف أو مجلد في Linux له أذوناته الخاصة.
هناك ثلاثة أنواع من الحقوق:
قراءة (ص)، الكتابة (ث)، تنفيذ (خ)
يتم تعريف الحقوق لثلاثة أنواع من المستخدمين:
المالك (u)، المجموعة (ز)، جميع الآخرين (س)
لذا، فإن حقوق كل ملف هي 9 بتات من المعلومات (3 أنواع من الحقوق * 3 أنواع من المستخدمين)، على التوالي، يمكن تعيين كل بت (=1) السماح بالوصول، أو إعادة التعيين (=0) رفض الوصول.
عند تعيين الحقوق، من المعتاد استخدام نظام الأرقام الثماني.
تمثيل النص للحقوق (10 أحرف):
0123456789
- روكسر- - ص - -
الحرف في الموضع 0:
"-" - ملف عادي، "d" - مجلد، "l" - رابط
الرموز في الموضع 1-3:
"rwx" - حقوق المالك
الرموز في المواضع 4-6:
"ص - -" - حقوق المجموعة
الرموز في الموضع 7-9:
"ص - -" - حقوق لأي شخص آخر
جدول تحديد الحقوق:
وكما يتبين من الجدول، يتم حساب الحقوق بسهولة
جمع بسيط. 1=تنفيذ، 2=كتابة، 4=قراءة.
على سبيل المثال، التنفيذ (1) والقراءة (4) مطلوبان، نحصل على 1+4=5
مثال 644:
- المالك (ش) القراءة والكتابة
- المجموعة (ز) للقراءة فقط
- الآخرين(س) للقراءة فقط
مثال 755:
- مالك (أصحاب) جميع الحقوق
- المجموعة (ز) القراءة والتنفيذ
- أخرى (س) القراءة والتنفيذ
وفي لغات البرمجة مثل C،
يتم إضافة 0 إلى الحقوق في بداية كل رقم، مما يعني أن الرقم ثماني، أي. اكتب 0644 بدلاً من 644. عند تغيير الحقوق من سطر الأوامر، لا يكون هذا مطلوبًا عادةً.
تمثيل الحقوق بأربعة أرقام (4755)، الحقوق الإضافية
أمثلة:
مجموعة SUID:
- r w s - - - - - - تعيين وحدات بت SUID وتنفيذها للمالك
- r - S - - - - - - تم تعيين بت SUID، ولم يتم تعيين بت التنفيذ
مجموعة SGID:
- r w x r w s - - - تعيين بتات SGID وتنفيذ المجموعة
- r w x r - S - - - مجموعة بتات SGID، غير مضبوطة. التنفيذ للمجموعة
مجموعة بت لزجة:
- rwxrwxrwt مجموعة البتات اللاصقة وتنفيذها للآخرين
- r w x r w x r - تم ضبط T، ولكن لم يتم ضبطه. أداء للآخرين
الاختلافات في تأثير الحقوق عند التثبيت على الملفات والمجلدات:
حقوق | ملفات | المجلدات |
---|---|---|
قراءة | محتوى القراءة | الحصول على قائمة الملفات |
سِجِلّ | تسجيل المحتوى | تغيير قائمة الملفات (إنشاء، حذف، إعادة تسمية) |
تنفيذ | يمكن تنفيذ الملف | يمكن للمستخدم أو العملية جعل المجلد "حاليًا/عاملاً" |
سويد | اضبط "معرف المستخدم" عند التنفيذ | تجاوز معرف المستخدم عند إنشاء ملف/مجلد (استخدم معرف مالك المجلد الجذر) |
SGID | اضبط "معرف المجموعة" عند التنفيذ | تجاوز معرف المجموعة عند إنشاء ملف/مجلد (استخدم معرف المجموعة للمجلد الجذر) |
لزجة | منع الحذف من قبل الجميع باستثناء المالك |
يقوم "-R" بتطبيق الأذونات بشكل متكرر على كافة الملفات والمجلدات الفرعية
أمثلة:
مجلد شمود-R 755/
ملف شمود 644
إلخ.
من الممكن تغيير الحقوق ليس بالكامل، ولكن فقط لإضافة أو إلغاء الحقوق لمجموعات معينة من المستخدمين فقط
باستخدام الرموز بدلا من الأرقام الثمانية.
"u" - المستخدم/المالك
"ز" - مجموعة المستخدمين
"س" - مستخدمون آخرون
"أ" - كافة مجموعات المستخدمين
تنسيق الإذن [[+-=]، ...
أمثلة:
chmod -R a+x مجلد/ يتم تنفيذه لجميع المجموعات بشكل متكرر
قراءة ملف chmod a+rx وتنفيذه للجميع
إضافة ملف chmod u+rx,g-rx للقراءة والتنفيذ للمالك، و
إلغاء الأذونات لمجموعة
chmod a+r,o= file إضافة قراءة لجميع أنواع المجموعات وإبطالها
جميع الحقوق لجميع المستخدمين الآخرين
أمر تغيير مالك chown:
Chown [-R] المالك: ملف/مجلد المجموعة
أمثلة:
chown -R 0:0 مجلد/مجموعة المالك/المجموعة = الجذر بشكل متكرر
chown myuser: ملف mygroup قم بتعيين myuser/mygroup للملف
قم بتغيير ملكية وأذونات الملفات والمجلدات على أنظمة Linux و*BSD
المعلومات الواردة أدناه ستكون مفيدة للمبتدئين لينكسو * بي إس دي مسؤولي النظام. على العموم، في أي نظام التشغيلسواء كان Linux أو Windows أو FreeBSD، فإن التشغيل الصحيح للتطبيقات والخدمات وأمن النظام ككل يعتمد بشكل مباشر على حقوق الوصول إلى الملفات والمجلدات. باستخدام الأدوات الموضحة أدناه، يمكنك حل ما يقرب من 90% من المشكلات التي تنشأ عند تعيين حقوق الوصول.
تغيير المالك لجميع المجلدات والملفات. لهذه الأغراض، يستخدم يونكس الأمر -v وضع لعرض الرسائل الخاصة بتنفيذ البرنامج. إذا تم تحديد الخيار أكثر من مرة،. لديها عدد من المعلمات:
وبالتالي، فإن أمر تغيير المالك (ومجموعة المالكين) للأدلة وجميع المجلدات الفرعية والملفات سيبدو كما يلي:
Sudo chown -R المستخدم: المجموعة /الصفحة الرئيسية/المستخدم/دير/
تغيير الأذونات على ملف أو مجلدفي أنظمة Linux و*BDS يمكنك استخدام الأمر chmod. ومن الجدير بالذكر أن يونكس له خصائصه الخاصة في تشغيل هذا الأمر ومبدأ الفصل بين الحقوق. لذلك، بالإضافة إلى مالك الملف أو المجلد، يمكنك تكوين العمليات التي يمكن أن يقوم بها نفس المالك والمجموعة، بالإضافة إلى كافة المستخدمين الآخرين. في Unix، يتم تقسيم القدرات بالطريقة التالية - المالك، ومجموعة المالكين، وغيرهم. هناك أيضًا تقسيم الحقوق التالي:
ولتسهيل الاستخدام والحفظ يتم استخدام الترميز التالي:
وبإضافة هذه الرموز الرقمية نحصل على مجموعة من الحقوق الممنوحة للمالك/المجموعة/الآخرين. دعونا فرزها هذه المعلوماتعلى سبيل المثال:
يحق للمالك فقط تغيير الملف، ويمكن لمجموعة المالكين القراءة، أما الباقي فلا يمكنهم فعل أي شيء، لذلك سيكون الأمر كالتالي:
شمود 640 /media/fileshare/file.txt
يمكن للجميع إنشاء ملفات في المجلد، ولكن يمكن للمالك فقط رؤيتها:
شمود 622 /الوسائط/مشاركة الملفات/الرسائل/
بحيث يتمكن الجميع من تشغيل البرنامج، ولكن لا يمكن لأحد باستثناء المالك تعديله:
شمود 711 /media/share/exec
لتغيير الحقوق لجميع الملفات والمجلدات المرفقة (أي بشكل متكرر)، يتم استخدام المفتاح "-R" مرة أخرى.
عند إجراء هذه العمليات، من المفيد أن نفهم أن المسؤولين ومالك هذه المجلدات والملفات فقط هم الذين يمكنهم تغيير حقوق الملفات والدلائل.
تغيير الأذونات على الملفات فقط أو المجلدات فقط- فريق يجد. في هذه الحالة، يتم تعيين الملفات كملف (f)، والأدلة، على التوالي، باسم d. على سبيل المثال: