Ivan Gyurdiev wrote:
You have /root on this share? Interesting. I'm not sure you can do what I describe below in /root.
No I don't. That's what the avc output says. I have no idea why it says that - I guess it prints the path relative to the volume mount point, not to the global /.
Try relabeling the portions of /data that you want to have user_home_dir_t and user_home_t:
chcon -t user_home_dir_t /data/smb cd /data/smb chcon -R -r user_home_t ./*
That sounds like a hack. This isn't a home directory so why should I label it as such. It's a bunch of common files. In addition to that I want home directories under /home. Since smbd currently fails to read even those, how would labeling /data user_home_t help?
=============
Part of the problem in my mind is that I do not know what the SElinux types are, which ones I need to do what I want, and how to add new ones to perform this simple task.
Consider traditional UNIX permissions. There's a straightforward procedure for doing what I want. I create a group called data. I put whoever I want in it (user1, user2, user3, httpd..). Then I chgrp /data with that. Nice and simple. I forget what smbd does - I think it checks to see if the UNIX user that you're logged in with has access to that folder.
What's the SElinux equivalent?
I think you want to label them samba_share_t.
chcon -R -t samba_share_t /data