আমি একটি পরিষেবা / একক বাইনারি অ্যাপ্লিকেশন লিখেছি যা আমি ফেডোরা 24 এ চালানোর চেষ্টা করছি, এটি সিস্টেমড ব্যবহার করে চলবে, বাইনারিটি স্থাপন করা হয়েছে /srv/bot
আমি যে পরিষেবাটি / অ্যাপটি লিখেছি সেগুলির এই ডিরেক্টরিতে ফাইলগুলি তৈরি / খোলার / পঠন এবং পুনরায় নামকরণের প্রয়োজন।
আমি প্রথম সেলইনাক্সের উপর ভিত্তি করে একটি নতুন নীতি তৈরি শুরু করেছি : একটি ডিরেক্টরিকে কোনও নির্দিষ্ট ডিরেক্টরিতে কোনও ফাইল তৈরি করার অনুমতি দেয় allow
তবে যখন আমার অ্যাপটির নতুন নামকরণের প্রয়োজন হয়েছিল, তখন আউটপুটটিতে একটি সতর্কতা ছিল:
#!!!! WARNING: 'var_t' is a base type.
allow init_t var_t:file rename;
আমি আশেপাশে গুগল করেছিলাম এবং জানতে পেরেছিলাম যে বেসের ধরণের চেয়ে আমার আরও নির্দিষ্ট এসইএলিনাক্স লেবেল ব্যবহার করা উচিত তবে অনলাইনে সমস্ত উদাহরণ আপনাকে httpd / nginx / ইত্যাদি থেকে বিদ্যমান লেবেলগুলি দেখায়।
আমি কি কেবল নিজের অ্যাপের জন্য কাস্টম লেবেল তৈরি করতে পারি?
আমার ধারণাটি মাইয়াপ_ভর_টি, ব্যবহারের মতো কিছু তৈরি করা use
semanage fcontext -a -t my_app_var_t '/srv/bot(/.*)?'
restorecon -R -v /srv/bot
এবং একটি কাস্টম .pp
ফাইল যা এই কাস্টম প্রকারটি ব্যবহার করবে
এটির সমাধানের আরও ভাল উপায় যদি হয় তবে তাও কার্যকর।
ধন্যবাদ
হালনাগাদ
আরও অনুসন্ধান করার পরে আমি মনে করি আমি যা করতে চাই তার জন্য উপযুক্ত শব্দটি নতুন তৈরি করা types
যা আমাকে
https://docs.fedoraproject.org/en-US/Fedora/13/html/SELinux_FAQ/index.html#id3036916 এ নিয়েছে
যা মূলত বলে, চালাও
sepolgen /path/to/binary
এবং আমি একটি টেমপ্লেট পেতে সক্ষম হয়েছি যা আমি তারপরে একটি পিপি ফাইল এবং লোডের মধ্যে সংকলন করতে পারি, এখনও কিছু ত্রুটি পেতে পারি তবে মনে হয় আমি যা করতে চাই তার কাছাকাছি।
যদি আমি এটি কাজ করতে পাই তবে আমি এই পোস্টটি আপডেট করব