SELinux blocking Samba share mounting?
Daniel J Walsh
dwalsh at redhat.com
Fri Feb 13 13:11:49 UTC 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Steven Stromer wrote:
>
> On Feb 12, 2009, at 4:43 PM, Daniel J Walsh wrote:
>
> Paul Howarth wrote:
>>>> On Thu, 12 Feb 2009 14:20:34 -0500
>>>> Steven Stromer <filter at stevenstromer.com> wrote:
>>>>
>>>>> Hopefully posting to the right list!
>>>>>
>>>>> I'm starting to migrate a few Fedora boxes over to the latest version
>>>>> of CentOS 5 running the latest version of samba:
>>>>>
>>>>> [~]# smbstatus
>>>>> Samba version 3.0.28-1.el5_2.1
>>>>>
>>>>>
>>>>> However, I am having a hard time getting SELinux to permit the
>>>>> mounting of shares on the first CentOS box. Disabling SELinux permits
>>>>> the shares to mount without problem:
>>>>>
>>>>> [~]# setenforce 1
>>>>> [~]# mount -t cifs //192.168.10.3/PHFiles /mnt/samba -o
>>>>> username=****,password=****,rw retrying with upper case share name
>>>>> mount error 6 = No such device or address
>>>>> [~]# setenforce 0
>>>>> [~]# mount -t cifs //192.168.10.3/PHFiles /mnt/samba -o
>>>>> username=****,password=****,rw [~]# ls -la /mnt/samba/
>>>>> total 8
>>>>> d---rws---+ 6 samba samba 0 Feb 10 11:17 .
>>>>> drwxr-xr-x 3 root root 4096 Feb 12 11:13 ..
>>>>> d---rws---+ 2 technology technology 0 Feb 10 11:14 Computing
>>>>> d---rws---+ 2 development development 0 Feb 10 11:17 Development
>>>>> d---rws---+ 2 root public 0 Feb 10 11:16 Marketing &
>>>>> Design d---rws---+ 2 root public 0 Feb 10 11:14 Public
>>>>> Computing [~]# umount /mnt/samba/
>>>>> [~]# setenforce 1
>>>>>
>>>>>
>>>>> Installed policy version is:
>>>>> selinux-policy.noarch 2.4.6-137.1.el5
>>>>> selinux-policy-targeted.noarch 2.4.6-137.1.el5
>>>>>
>>>>>
>>>>> The two shared directories are:
>>>>>
>>>>> [~]# ls -laZ /home/server1/PHFiles/
>>>>> d---rws---+ samba samba system_u:object_r:samba_share_t .
>>>>> drwxr-xr-x root root root:object_r:user_home_dir_t
>>>>> .. d---rws---+ technology technology root:object_r:samba_share_t
>>>>> Computing d---rws---+ development development
>>>>> root:object_r:samba_share_t Development d---rws---+ root
>>>>> public root:object_r:samba_share_t Marketing &
>>>>> Design d---rws---+ root public
>>>>> root:object_r:samba_share_t Public Computing
>>>>>
>>>>> and
>>>>>
>>>>> [~]# ls -laZ /var/www/html
>>>>> d---rwsr-x+ development development
>>>>> system_u:object_r:public_content_rw_t . drwxr-xr-x root root
>>>>> system_u:object_r:httpd_sys_content_t .. ----rwxr-x+
>>>>> development development root:object_r:public_content_rw_t .DS_Store
>>>>> d---rwsr-x+ development development root:object_r:public_content_rw_t
>>>>> private d---rwsr-x+ development development
>>>>> root:object_r:public_content_rw_t public
>>>>>
>>>>> (I am aware that my permissions seem a bit untraditional. I am
>>>>> running an experiment with extended ACL configuration on samba
>>>>> shares. However, I do not believe this to have any bearing on my
>>>>> present problems, as I have numerous other production servers running
>>>>> with these permissions under SELinux, and, again, turning SELinux off
>>>>> resolves my problems instantly.)
>>>>>
>>>>>
>>>>> The following has been executed with no apparent effect:
>>>>> setsebool -P allow_smbd_anon_write=1
>>>>>
>>>>>
>>>>> The following have been executed with no apparent effect (so these
>>>>> have been turned back off): setsebool -P smbd_disable_trans=1
>>>>> setsebool -P nmbd_disable_trans=1
>>>>>
>>>>>
>>>>> I've added the new contexts to file_contexts, and executed
>>>>> 'restorecon -R' to the two shared
>>>>> directories: /home/server1/PHFiles(/.*)? --
>>>>> system_u:object_r:samba_share_t /var/www/html(/.*)? --
>>>>> system_u:object_r:public_content_rw_t
>>>>>
>>>>>
>>>>> setroubleshoot-server is installed, but no AVC denials are reported
>>>>> to /var/log/messages. Instead, when SELinux is enforcing, I get the
>>>>> error: smbd[11852]: '/home/server1/PHFiles' does not exist or
>>>>> permission denied when connecting to [PHFiles] Error was Permission
>>>>> denied
>>>>>
>>>>>
>>>>> And, finally, I've rebooted. All to no avail. Any assistance would be
>>>>> much appreciated!
>>>>
>>>> If the audit daemon is running, the AVC denials will be
>>>> in /var/log/audit/audit.log rather than /var/log/messages.
>>>>
>>>> fedora-selinux-list would probably be more appropriate for this by the
>>>> way.
>>>>
>>>> Paul.
>>>>
>>>>
>>>> --
>>>> This message was distributed to subscribers of the selinux mailing list.
>>>> If you no longer wish to subscribe, send mail to
>>>> majordomo at tycho.nsa.gov with
>>>> the words "unsubscribe selinux" without quotes as the message.
>
> setsebool -P use_samba_home_dirs 1
>>
> Daniel, thanks for the reply. No success. I omitted mentioning that I
> had tried this, as well. However, I just confirmed again that this is
> not the fix. I'm not even sure why home directories would need to be
> permitted, as I am not using them. I even have [homes] commented out in
> smb.conf, which I'll include for reference:
> # Samba config file
> [global]
> # WINS
> wins support = yes
> local master = yes
> os level = 99
> domain master = yes
> preferred master = yes
> workgroup = 478FIRST
> # NETBIOS/DNS
> netbios name = server1
> name resolve order = wins lmhosts hosts bcast
> dns proxy = yes
> # SMB/CIFS
> smb ports = 139
> server string = server1
> # AUTHENTICATION
> interfaces = eth0
> security = user
> passdb backend = tdbsam
> encrypt passwords = yes
> # LOGGING
> log file = /var/log/samba/%m.log
> max log size = 50
> # CUPS
> load printers = yes
> cups options = raw
> #[homes]
> # comment = Home Directories
> # read only = No
> # browseable = No
> # [printers]
> # comment = All Printers
> # path = /usr/spool/samba
> # printable = Yes
> # browseable = No
> [PHFiles]
> path = /home/server1/PHFiles
> writable = yes
> browseable = yes
> available = yes
> create mask = 0660
> force create mode = 0660
> directory mask = 0770
> force directory mode = 0770
> inherit acls = yes
> inherit owner = yes
> hosts allow = 127. 192.168.5.
> map archive = no
> map readonly = no
> map acl inherit = yes
> [html]
> path = /var/www/html
> writable = yes
> browseable = yes
> available = yes
> create mask = 0660
> force create mode = 0660
> directory mask = 0770
> force directory mode = 0770
> inherit acls = yes
> inherit owner = yes
> hosts allow = 127. 192.168.5.
> map archive = no
> map readonly = no
> map acl inherit = yes
You still have not attached the avc messages from /var/log/audit/audit.log
You have these booleans to allow samba to share any dir read/only or
read/write
samba_export_all_ro --> off
samba_export_all_rw --> off
You also seem to be using public_content_rw_t, so you might want to turn on
allow_smbd_anon_write --> off
Which allows it to write to public_content_rw_t.
You could just add a custom module with
# grep smb /var/log/audit/audit.log | audit2allow -M mysmb
# semodule -i mysmb.pp
Without the audit.log we can not help you.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iEYEARECAAYFAkmVcZUACgkQrlYvE4MpobMShgCfaZ08o5LoZxMUeoN7BkxlcEfI
QPAAoKPWMn5EOcVicEPubt6d95PCKkl5
=/HDJ
-----END PGP SIGNATURE-----
More information about the fedora-selinux-list
mailing list