আমি সম্প্রতি আমার রাস্পবেরি পাই এ 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
কিন্তু এই সিদ্ধান্তটি ভাল কিনা তা আমি জানি না। একটি মন্তব্য করুন দয়া করে।