|
|
@ -15,12 +15,12 @@ DOCUMENTATION = '''
|
|
|
|
module: seport
|
|
|
|
module: seport
|
|
|
|
short_description: Manages SELinux network port type definitions
|
|
|
|
short_description: Manages SELinux network port type definitions
|
|
|
|
description:
|
|
|
|
description:
|
|
|
|
- Manages SELinux network port type definitions.
|
|
|
|
- Manages SELinux network port type definitions.
|
|
|
|
version_added: "2.0"
|
|
|
|
version_added: "2.0"
|
|
|
|
options:
|
|
|
|
options:
|
|
|
|
ports:
|
|
|
|
ports:
|
|
|
|
description:
|
|
|
|
description:
|
|
|
|
- Ports or port ranges, separated by a comma.
|
|
|
|
- Ports or port ranges. Can be a list (since 2.6) or comma separated string.
|
|
|
|
required: true
|
|
|
|
required: true
|
|
|
|
proto:
|
|
|
|
proto:
|
|
|
|
description:
|
|
|
|
description:
|
|
|
@ -73,6 +73,15 @@ EXAMPLES = '''
|
|
|
|
proto: tcp
|
|
|
|
proto: tcp
|
|
|
|
setype: memcache_port_t
|
|
|
|
setype: memcache_port_t
|
|
|
|
state: present
|
|
|
|
state: present
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Allow memcached to listen on tcp ports 10000-10100 and 10112
|
|
|
|
|
|
|
|
seport:
|
|
|
|
|
|
|
|
ports:
|
|
|
|
|
|
|
|
- 10000-10100
|
|
|
|
|
|
|
|
- 10112
|
|
|
|
|
|
|
|
proto: tcp
|
|
|
|
|
|
|
|
setype: memcache_port_t
|
|
|
|
|
|
|
|
state: present
|
|
|
|
'''
|
|
|
|
'''
|
|
|
|
|
|
|
|
|
|
|
|
import traceback
|
|
|
|
import traceback
|
|
|
@ -231,7 +240,7 @@ def semanage_port_del(module, ports, proto, setype, do_reload, sestore=''):
|
|
|
|
def main():
|
|
|
|
def main():
|
|
|
|
module = AnsibleModule(
|
|
|
|
module = AnsibleModule(
|
|
|
|
argument_spec=dict(
|
|
|
|
argument_spec=dict(
|
|
|
|
ports=dict(type='str', required=True),
|
|
|
|
ports=dict(type='list', required=True),
|
|
|
|
proto=dict(type='str', required=True, choices=['tcp', 'udp']),
|
|
|
|
proto=dict(type='str', required=True, choices=['tcp', 'udp']),
|
|
|
|
setype=dict(type='str', required=True),
|
|
|
|
setype=dict(type='str', required=True),
|
|
|
|
state=dict(type='str', required=True, choices=['absent', 'present']),
|
|
|
|
state=dict(type='str', required=True, choices=['absent', 'present']),
|
|
|
@ -249,7 +258,7 @@ def main():
|
|
|
|
if not selinux.is_selinux_enabled():
|
|
|
|
if not selinux.is_selinux_enabled():
|
|
|
|
module.fail_json(msg="SELinux is disabled on this host.")
|
|
|
|
module.fail_json(msg="SELinux is disabled on this host.")
|
|
|
|
|
|
|
|
|
|
|
|
ports = [x.strip() for x in str(module.params['ports']).split(',')]
|
|
|
|
ports = module.params['ports']
|
|
|
|
proto = module.params['proto']
|
|
|
|
proto = module.params['proto']
|
|
|
|
setype = module.params['setype']
|
|
|
|
setype = module.params['setype']
|
|
|
|
state = module.params['state']
|
|
|
|
state = module.params['state']
|
|
|
|