রিপাবলিকানে ifplugd এবং udev এর জন্য SELinux নীতি


0

আমি সম্প্রতি আমার রাস্পবেরি পাই এ SELinux সক্ষম করেছি এবং কিছু AVC অস্বীকার অস্বীকার করেছি।

আমি এসএল ডকুমেন্টেশন পড়ছি এবং তাদের কয়েক সমাধান করেছি। কিন্তু আমি নিশ্চিত নই যদি আমি এটা সঠিকভাবে করি। তাই আমার সিদ্ধান্ত পর্যালোচনা করুন।

অধীনে লাইসেন্সীকৃত:

type=AVC msg=audit(1441426438.990:26): avc:  denied { read write } for  pid=2176
 comm="ifplugd" name="ifplugd.eth0.pid" dev="tmpfs" ino=6593
 scontext=system_u:system_r:ifplugd_t:s0
 tcontext=system_u:object_r:udev_var_run_t:s0
 tclass=file permissive=1
type=AVC msg=audit(1441426438.990:27): avc:  denied  { open } for  pid=2176
 comm="ifplugd" path="/run/ifplugd.eth0.pid" dev="tmpfs" ino=6593
 scontext=system_u:system_r:ifplugd_t:s0
 tcontext=system_u:object_r:udev_var_run_t:s0
 tclass=file permissive=1
type=AVC msg=audit(1441426438.990:28): avc:  denied  { lock } for  pid=2176
 comm="ifplugd" path="/run/ifplugd.eth0.pid" dev="tmpfs" ino=6593
 scontext=system_u:system_r:ifplugd_t:s0
 tcontext=system_u:object_r:udev_var_run_t:s0
 tclass=file permissive=1
type=AVC msg=audit(1441426438.990:29): avc:  denied  { signull } for  pid=2176
 comm="ifplugd"
 scontext=system_u:system_r:ifplugd_t:s0
 tcontext=system_u:system_r:udev_t:s0-s0:c0.c1023
 tclass=process permissive=1

সিস্টেম বুট আপ করার সময়, udev দ্বারা স্ক্রিপ্ট executes /lib/udev/ifplugd.agent যেখানে এটি শুরু হয় ifplugd ডেমন। কখন ifplugd শুরু হয়, এটি ফাইল তৈরি করে প্রথমেই / var / রান / ifplugd। ইন্টারফেস .pid ( প্রথমেই / var / রান একটি symlink হয় / চালানোর )। কিন্তু স্ক্রিপ্ট /lib/udev/ifplugd.agent চলমান হয় udev_t এসইএল ডোমেইন। সুতরাং ফলে ফাইল ভুল প্রসঙ্গ আছে:

$ ls -lZ /run/ifplugd.eth0.pid
-rw-r--r--. 1 root root system_u:object_r:udev_var_run_t:s0 5 Sep  5 07:13 /run/ifplugd.eth0.pid

সঠিক প্রসঙ্গ হওয়া উচিত: system_u: object_r: ifplugd_var_run_t: s0

আমি যে সিদ্ধান্ত নিয়েছে udev দ্বারা এটি সঞ্চালিত যখন ডোমেইন সংক্রমণ জন্য অনুমতি থাকতে হবে ifplugd । তাই আমি একটি নীতি তৈরি করেছি:

module rpi-ifplugd 1.0.0;
require {
   type ifplugd_t;
   type udev_t;
   type ifplugd_exec_t;
   class process transition;
}
type_transition udev_t ifplugd_exec_t : process ifplugd_t;

এবং এটা কাজ করে!

$ ls -lZ /run/ifplugd.eth0.pid
-rw-r--r--. 1 root root system_u:object_r:ifplugd_var_run_t:s0 5 Sep  5 08:09 /run/ifplugd.eth0.pid

কিন্তু এই সিদ্ধান্তটি ভাল কিনা তা আমি জানি না। একটি মন্তব্য করুন দয়া করে।


আমি মনে করি এটি সুপার ইউজারের জন্য একটি উপযুক্ত প্রশ্ন নয়, নিরাপত্তা নয়। আমি সেখানে স্থানান্তর ভোট করছি।
ThoriumBR

@ তোরিয়ামBR: SELinux সম্পর্কিত উন্নত প্রশ্নগুলিতেও একটি ভাল জায়গা খুঁজে পেতে পারে ইউনিক্স & amp; লিনাক্স
WhiteWinterWolf
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.