हम CentOS सर्वर पर उपयोगकर्ताओं को प्रमाणित करने के लिए SSSD का उपयोग कर रहे हैं। ऑड-ईवन होम डिरेक्ट्री / होम होने पर ऑडोजोबड-मखोमेडिर पूरी तरह से ठीक काम करता है, लेकिन एक विशेष सर्वर पर, हमें डिफॉल्ट होम डायरेक्टरी को / डेटा में बदलना पड़ता है, जो कि SAN माउंट पर है।
अब, जब भी कोई उपयोगकर्ता लॉग इन करने का प्रयास करता है, तो उन्हें निम्न संदेश के साथ बैश शेल में छोड़ दिया जाता है।
Creating home directory for first.last.
Could not chdir to home directory /data/X.Y.local/first.last: No such file or directory
-bash-4.1$
मैं हर प्रयास के लिए निम्नलिखित AVC इनकार संदेश देखता हूं:
type=AVC msg=audit(1492004159.114:1428): avc: denied { create } for pid=2832
comm="mkhomedir" name="x.y.local"
scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
tcontext=system_u:object_r:default_t:s0 tclass=dir
के लिए / डेटा के संदर्भ को बदलना सुनिश्चित किया है।
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 data
यदि / डेटा का एक ही संदर्भ / घर है, तो SELinux, oddjobd को /data/XYlocal/first.last बनाने के लिए प्रतिबंधित क्यों कर रहा है?
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
[अपडेट करें]
निश्चित नहीं है कि यह इसे हल करने का सही तरीका है, लेकिन निम्नलिखित तीन प्रविष्टियों को जोड़ने के बाद उपयोगकर्ता अब लॉग इन कर सकते हैं और अपने घर निर्देशिकाओं में जा सकते हैं। नए उपयोगकर्ता निर्देशिका के लिए नीचे दिए गए संदर्भ के आधार पर बनाए जा रहे हैं।
semanage fcontext -a -t home_root_t /data
semanage fcontext -a -t user_home_dir_t /data/x.y.local
semanage fcontext -a -t user_home_t "/data/x.y.local(/.*)?"
क्या इस समस्या को दूर करने का यह सही तरीका है?