Add selinux rule for swift host.
allow some selinux rules to allow swift-rings to be retreived from the host. Closes-Bug: #1646124 Change-Id: I64955a4616b08bba6a4efd22c5e35180388db4a2
This commit is contained in:
parent
0e45afbd91
commit
06b3a4837f
36
files/osa_swift.te
Normal file
36
files/osa_swift.te
Normal file
@ -0,0 +1,36 @@
|
||||
# Copyright 2017, Rackspace US, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
module osa_swift 1.0;
|
||||
|
||||
require {
|
||||
type sshd_t;
|
||||
type swift_data_t;
|
||||
type syslogd_t;
|
||||
type default_t;
|
||||
type postfix_local_t;
|
||||
class file { getattr open read };
|
||||
class dir { search write };
|
||||
}
|
||||
|
||||
#============= postfix_local_t ==============
|
||||
allow postfix_local_t swift_data_t:dir search;
|
||||
|
||||
#============= sshd_t ==============
|
||||
allow sshd_t swift_data_t:file { getattr open read };
|
||||
|
||||
#============= syslogd_t ==============
|
||||
|
||||
#!!!! WARNING: 'default_t' is a base type.
|
||||
allow syslogd_t default_t:dir write;
|
||||
|
@ -13,6 +13,11 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- include: swift_rings_selinux.yml
|
||||
when:
|
||||
- ansible_selinux.status is defined
|
||||
- ansible_selinux.status == "enabled"
|
||||
|
||||
- include: swift_rings_md5sum.yml
|
||||
|
||||
- include: swift_rings_check.yml
|
||||
|
45
tasks/swift_rings_selinux.yml
Normal file
45
tasks/swift_rings_selinux.yml
Normal file
@ -0,0 +1,45 @@
|
||||
---
|
||||
# Copyright 2017, Rackspace US, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
- name: Create directory for compiling SELinux rule
|
||||
file:
|
||||
path: "/tmp/osa_swift-selinux/"
|
||||
state: 'directory'
|
||||
mode: '0755'
|
||||
when:
|
||||
- ansible_selinux.status == "enabled"
|
||||
|
||||
- name: Drop SELinux config
|
||||
copy:
|
||||
src: "osa_swift.te"
|
||||
dest: "/tmp/osa_swift-selinux/osa_swift.te"
|
||||
owner: "root"
|
||||
group: "root"
|
||||
mode: "0755"
|
||||
when:
|
||||
- ansible_selinux.status == "enabled"
|
||||
|
||||
- name: Compile and load SELinux module
|
||||
command: '{{ item }}'
|
||||
args:
|
||||
creates: '/etc/selinux/targeted/active/modules/400//osa_swift/cil'
|
||||
chdir: "/tmp/osa_swift-selinux/"
|
||||
with_items:
|
||||
- make -f /usr/share/selinux/devel/Makefile
|
||||
- semodule -i /tmp/osa_swift-selinux/osa_swift.pp
|
||||
when:
|
||||
- ansible_selinux.status == "enabled"
|
||||
|
||||
|
@ -20,6 +20,8 @@ swift_distro_packages:
|
||||
- liberasurecode
|
||||
- liberasurecode-devel
|
||||
- libffi-devel
|
||||
- libselinux
|
||||
- libselinux-devel
|
||||
- openssh-server
|
||||
- python-devel
|
||||
- rsync
|
||||
|
Loading…
x
Reference in New Issue
Block a user