في مجال برمجة Go، يمكن أن يكون تحديد ما إذا كان الملف يمتلك أذونات التنفيذ مهمة مفيدة. تهدف هذه المقالة إلى إلقاء الضوء على هذه العملية من خلال تقديم مراجعة شاملة لكيفية إنشاء وظيفة قادرة على التحقق من الحالة القابلة للتنفيذ للملف.
لتحقيق ذلك، سوف نتعمق في أسرار بتات إذن Unix، الموجودة داخل خاصية os.FileInfo.Mode(). تقوم هذه البتات بتشفير معلومات مهمة تتعلق بامتيازات الوصول إلى الملف للمالك والمجموعة والآخرين.
يتطلب الكشف عن هذه الأسرار فهم بنية قناع البت التالية:
rwxrwxrwx
يكشف تقسيم هذا القناع النقطي عن انهيار أذونات الوصول:
func IsExecutable(mode os.FileMode) bool {
return mode&0111 != 0
}
يقوم هذا التنفيذ بتقييم ما إذا كان أي من المالك أو المجموعة أو الفئات الأخرى يمتلك أذونات التنفيذ.وظائف إضافيةبخلاف وظيفة IsExecutable() الأساسية، يمكننا ابتكار وظائف متخصصة لتحديد قابلية التنفيذ لفئات محددة:
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3