tldr/pages/linux/semanage.md

30 lines
1.3 KiB
Markdown
Raw Normal View History

2020-10-17 10:41:23 +01:00
# semanage
2024-05-25 02:23:06 +01:00
> SELinux persistent policy management tool.
> Some subcommands such as `boolean`, `fcontext`, `port`, etc. have their own usage documentation.
> More information: <https://manned.org/semanage>.
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
- Set or unset a SELinux boolean. Booleans allow the administrator to customize how policy rules affect confined process types (a.k.a domains):
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
`sudo semanage boolean {{-m|--modify}} {{-1|--on|-0|--off}} {{haproxy_connect_any}}`
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
- Add a user-defined file context labeling rule. File contexts define what files confined domains are allowed to access:
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
`sudo semanage fcontext {{-a|--add}} {{-t|--type}} {{samba_share_t}} '/mnt/share(/.*)?'`
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
- Add a user-defined port labeling rule. Port labels define what ports confined domains are allowed to listen on:
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
`sudo semanage port {{-a|--add}} {{-t|--type}} {{ssh_port_t}} {{-p|--proto}} {{tcp}} {{22000}}`
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
- Set or unset permissive mode for a confined domain. Per-domain permissive mode allows more granular control compared to `setenforce`:
2020-10-17 10:41:23 +01:00
`sudo semanage permissive {{-a|--add|-d|--delete}} {{httpd_t}}`
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
- Output local customizations in the default store:
2020-10-17 10:41:23 +01:00
2024-05-25 02:23:06 +01:00
`sudo semanage export {{-f|--output_file}} {{path/to/file}}`
- Import a file generated by `semanage export` into local customizations (CAREFUL: may remove current customizations!):
`sudo semanage import {{-f|--input_file}} {{path/to/file}}`