لقد قمت بتثبيت Apache2 على أوبونتو الآن ، ولاحظت أن المجلد/var/www محمي. يمكنني فقط Sudo
كل شيء ولكني أفضل فقط منح حق الوصول للكتابة.
كيف يمكنني أن أفعل هذا؟
جربت Sudo chmod 7777 /var/www
لكنها لم تنجح.
للمشاركة بشكل أفضل مع العديد من المستخدمين الذين يجب أن يكونوا قادرين على الكتابة في /var/www
، يجب تعيين مجموعة مشتركة. على سبيل المثال ، المجموعة الافتراضية لمحتوى الويب على Ubuntu و Debian هي www-data
. تأكد من أن جميع المستخدمين الذين يحتاجون إلى حق الوصول للكتابة إلى /var/www
في هذه المجموعة.
Sudo usermod -a -G www-data <some_user>
ثم قم بتعيين الأذونات الصحيحة على/var/www.
Sudo chgrp -R www-data /var/www
Sudo chmod -R g+w /var/www
بالإضافة إلى ذلك ، يجب أن تجعل الدليل وجميع الأدلة أدناه "تعيين GID" ، بحيث تكون جميع الجديد الملفات والدلائل التي تم إنشاؤها تحت /var/www
مملوكة لمجموعة www-data
.
Sudo find /var/www -type d -exec chmod 2775 {} \;
ابحث عن جميع الملفات في /var/www
وأضف إذن القراءة والكتابة للمالك والمجموعة:
Sudo find /var/www -type f -exec chmod ug+rw {} \;
قد تضطر إلى تسجيل الخروج وتسجيل الدخول مرة أخرى لتتمكن من إجراء التغييرات إذا كنت تقوم بتحرير إذن لحسابك الخاص.
هناك طريقة أبسط للقيام بذلك ، حاول تنفيذ هذا الأمر.
Sudo chmod -R 757 /var/www
بشكل أساسي ، يغير الأمر chmod
الأذونات ويؤثر رمز التبديل -R
على جميع المستخدمين. ثم يعطي ببساطة الأذونات الصحيحة للاستخدام.
قراءة + كتابة:
Sudo chmod -R a+rw /var/www
قراءة + كتابة + تنفيذ:
Sudo chmod -R a+rwx /var/www
يمكنك أيضًا تكرار ما اقترحه jtimberman باستخدام قوائم التحكم في الوصول . يقبل الأمر setfacl الأمر لاستبدال ACL أو -m موجود لتعديله ؛ -R لجعل قوائم ACL الدليل متكررة ؛ و- لجعل الإعدادات المحددة هي الإعداد الافتراضي ، وهو أمر مفيد إذا كنت تتوقع حسابات المستخدمين القادمة.
هذه مجرد تعيين الأذونات كما تفعل للمستخدم ، المجموعة ، وغيرها ، والقناع باستخدام chmod:
setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
وقد يكون هذا هو كيفية القيام بذلك لمستخدم محدد أو مجموعته/مجموعتها:
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY
وبالطبع ، فإن القوة تكمن في أنه يمكنك تعيين أي مستخدم معين ، أو عدة مستخدمين ، وما إلى ذلك ، كل ذلك دون الحاجة إلى تعديل إعدادات مجموعتك. وعلى عكس chmod ، إذا كنت تريد أن تتمكن بعض المجموعات من الوصول إلى دليل واحد وأن تتمكن المجموعات الأخرى من الوصول إلى آخر فقط ، فمن الممكن فعلاً باستخدام setfacl. أخيرًا ، لعرض قوائم ACL للدليل ، قم بتشغيل getfacl :
getfacl DIRECTORY
ويمكنك تحديد -R لرؤية قوائم ACL للدلائل الفرعية أو -d لرؤية الإعدادات الافتراضية.
الجواب السريع والسهل -
ا. أضف ( -a ) مستخدمك ( اسم المستخدم ) إلى المجموعة ( -G ) www-data .
Sudo usermod -a -G www-data user_name
ب. أعط المجموعة ( g ) نفس أذونات ( = ) مثل المستخدم المالك ( u ) من/var/www بشكل متكرر ( -R ).
Sudo chmod -R g=u /var/www
Explanation: يقوم Apache 2 على Debian/Ubuntu بتعيين User & Group www-data as the owner/var/www . الأذونات الافتراضية للمستخدم هي "عرض وتعديل المحتوى" ، ولكن لا يمكن للمجموعة سوى "عرض المحتوى". لذلك ، تعد إضافة نفسك إلى مجموعة www-data ومنحها نفس أذونات مستخدم wwww-data ، طريقة سريعة وسهلة للتطوير. أفعل ذلك مع كل بيئات تطوير ويب المضيف المحلي (الكمبيوتر/الكمبيوتر المحمول).
أنا استخدام typicall
chmod g+w /folder/ -R
انها شبه ذاتية.
يضيف كل شخص في g
roup من /folder/
ليكون لديه w
rite حق الوصول (+w
) ، -R
مخصص للتكرار في المجلدات الفرعية.