كيف يمكنني استخدام الأمر لينكس القطيع لمنع عملية الجذر آخر من حذف الملف؟

StackOverflow https://stackoverflow.com/questions/1040828

سؤال

وأود أن منع واحدة من عمليات الجذر بلدي من حذف ملف معين. لذلك جئت عبر قيادة القطيع، على ما يبدو لتناسب حاجتي، ولكن لم أحصل على بناء الجملة.

إذا كنت تشير فقط تأمين مشتركة، فإنه لا يعمل:

flock -s "./file.xml"

إذا أضيف معلمة المهلة، فإنه لا يزال لا يعمل:

flock -s -w5 "./file.xml"

ويبدو أن الطريقة، تناسبها في طريقة flock [-sxun][-w #] fd#. (ما هذه المعلمة fd#؟)

وهكذا، حاولت:

flock [-sxon][-w #] file [-c] command

وعن طريق flock -s -w5 "./file.xml" -c "tail -3 ./file.xml" وانها عملت، أعدم قيادة الذيل في ./file.xml.

ولكن أود أن أعرف، هل نهاية القفل بعد الأمر أو أنه لا آخر 5 ثوان بعد نهاية تنفيذ الأمر؟ سؤالي الرئيسي هو، كيف يمكنني منع عملية الجذر آخر من حذف ملف في لينكس؟

هل كانت مفيدة؟

المحلول

لا، أيها القطيع لا يمنع أي شخص من القيام بأي شيء. أقفال يونكس والاستشارية، وهو ما يعني أن تمنع عمليات أخرى عن الدعوة أيضا القطيع (أو في حالة وجود تأمين مشتركة، ومنع عملية أخرى باستخدام واحد الحصري).

والأمور لا تقف عند الجذر، أو أي شخص آخر، من القراءة والكتابة أو حذف الملف.

في أي حال، حتى لو كان قفل إلزامية، انها لن توقف ملف يتم حذفه، كما انها الملف حبسهم ليس إدخال دليل.

نصائح أخرى

وsudo chattr +i ./file.xml

وMarkR هو الصحيح chattr'ing الملف ومنعه من يتم حذف:

-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
risk@DockMaster [2135] --> sudo chattr +i junk.txt
[sudo] password for risk: 
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
risk@DockMaster [2136] --> sudo rm ./junk.txt 
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1     sudo rm ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
risk@DockMaster [2137] --> sudo rm -f ./junk.txt
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1     sudo rm -f ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
risk@DockMaster [2138] --> 

والغنم ليست الأداة المناسبة لهذه المهمة. إذا كان لديك البرنامج الذي يتم حذف الملفات، يجب أن يتم تشغيل هذا البرنامج كما الجذر. يجب تشغيل أنها مستخدم آخر. يونكس ديه دعم جيد جدا للحصول على أذونات الملف، ولكن الجذر هو حساب الله. الجذر يمكن أن تفعل كل شيء، وليس هناك أي أذونات الجذر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top