سؤال تعذر تحديد أذونات الملفات والمجلدات الرئيسية


كنت أحاول إنشاء ملف تكوين افتراضي لـ activemq باستخدام الأمر

sudo ./activemq setup [ /etc/default/activemq | /home/leo/.activemqrc ]`

ثم تلقي هذه الرسالة:

INFO: It's recommend to limit access to '/etc/default/activemq' to the priviledged user
INFO: (recommended: chown 'root':nogroup '/etc/default/activemq'; chmod 600 '/etc/default/activemq')

ثم قمت بتغيير المالك والأذونات لكليهما /etc/default/activemq و /home/leo/.activemqrc مع

chown root:nogroup ~/activemqrc; chmod 600 ~/.activemqrc


 تغيير أذونات ~ /. ActiveMQRC كان بلا شك خطأ كبيرا. لقد ألقيت نظرة على الأذونات الموجودة على كل ملف ومجلد في الصفحة الرئيسية ، وتقول:

The permissions of "Everything" could not be determined

لم يعد بإمكاني الوصول إلى الدلائل والملفات في المنزل.


بعد الجواب من تم رفض الإذن على ~ على الرغم من أن المالك مدرج كـ أنا ركضت الأمر التالي:

find ~ -type d -exec chmod 750 \;

وحصلت على هذا الإخراج:

find: pred.c:1932: launch: Assertion `starting_desc >= 0' failed.

هل هناك أي طريقة لاستعادة تهيئاتي الافتراضية؟

تصحيح

ثم جربت هذا:

sudo chown root:root ~/

حصلت على أي إخراج وثم

sudo chmod -R  777 ~/

هذا إلى حد كبير حل مشكلتي ولكن لاثنين من الملفات التي عادت

chmod: cannot access `/home/leo/.gvfs': Permission denied
chmod: cannot access `/home/leo/.config/google-chrome/.com.google.Chrome.Z07tM9': No    such file or directory.

كان هذا مجرد فكرة سيئة.


2
2017-08-25 18:11


الأصل


@ أليكس ، لا ، لا تستخدم RT * M ، نحن لا نقبل لغة سيئة بأي شكل من الأشكال ، متخفية أم لا. meta.stackexchange.com/questions/23628/... - Tim


الأجوبة:


كنت في محاولة لإصلاح لأول مرة كان في عداد المفقودين '{}' ولكن بعد ذلك جعلت الأمور أسوأ بكثير ...

لا يكاد يوجد أي سبب على الإطلاق لأي ملف 777 أذونات ، وهناك بالكاد حتى حالة الاستخدام الجيد لل -R علم عند استخدام chmodلأننا نحتاج إلى أن تكون الدلائل قابلة للتنفيذ من أجل إدخالها أو إحصائها ، ولكننا نادرًا ما نريد أن تكون جميع الملفات قابلة للتنفيذ.

أول، chown دليل منزلك. سجلت في نفسك ، تشغيل

sudo chown -R $USER: ~

إذا كان لديك ببساطة تشغيل شيء من هذا القبيل

chmod 600 ~

ثم أعده:

chmod 755 ~

ومع ذلك ، إذا قمت بتشغيل شيء غير حكيم حقا مثل (لا تنفذ) chmod -R 777 ~، ثم إصلاح الأذونات ستكون أكثر صعوبة.

find مفيد جدا لهذا. تختلف أذونات الدليل في منزلك ، ويمكن أن تكون 700، 775، 755 أو 750. لكي أخطئ من جانب الحذر ، سأفعل هذا:

find ~ -type d -exec chmod 700 '{}' +

لذلك فقط يمكنك الوصول إلى الدلائل. يمكنك بدلا من ذلك استخدام 755 ثم قم بتصحيح هذه الأوضاع:

chmod 700 ~/.local ~/.cache ~/.dbus ~/.thumbnails ~/.gconf ~/.thunderbird

ثم الملفات. قد يكون لديك بعض البرامج النصية القابلة للتنفيذ في منزلك ولكن في الملفات العامة لا ينبغي أن تكون قابلة للتنفيذ. معظم الملفات في منزلك ربما كان 664 أو 644 إذن ، ولكن مرة أخرى لتكون آمنة قد ترغب في الذهاب معها

find ~ -type f -exec chmod 600 '{}' +

هذا يجعل الأمر كذلك فقط يمكنك الوصول إلى الملفات والدلائل في منزلك. إذا كنت تفضل ذلك ، استخدم 644 بدلاً من ذلك ، ثم قم بتصحيح وضع Xauthority ملف وعدد قليل من الآخرين:

chmod 600 ~/.Xauthority ~/.ICEauthority ~/.bash_history ~/.local/share/keyrings/* ~/.xsession-errors ~/.lesshst

إذا كنت تريد أن تكون دقيقًا تمامًا ، فيمكنك تثبيت Ubuntu VM أو التحقق من أذونات ~ على جهاز آخر ... شيء من هذا القبيل

find ~ -type d -not -perm 700 -exec stat -c "%n %a" {} \; | tee dirperms

و

find ~ -type f -not -perm 600 -exec stat -c "%n %a" {} \; | tee fileperms

سيتم إنشاء قوائم يمكنك استخدامها لإجراء تصحيحات.


2
2017-11-28 12:50