SELinux
Fedora CoreOS ມາພ້ອມກັບການເປີດໃຊ້ SELinux ໃນໂໝດບັງຄັບໃຊ້ (enforcing mode).
ການປ່ຽນແປງນະໂຍບາຍ
Fedora CoreOS ຮອງຮັບການປ່ຽນແປງຄ່າບູລີນຂອງນະໂຍບາຍ ແລະ ການເພີ່ມໂມດູນ SELinux. ເຖິງຢ່າງໃດກໍຕາມ, ພວກເຮົາບໍ່ໄດ້ລວມເອົາ semanage ແລະ ບໍ່ມີວິທີງ່າຍໆໃນ Butane ຫຼື ການຮອງຮັບໂດຍກົງໃນ Ignition ສຳລັບການປະຕິບັດການເຫຼົ່ານັ້ນ. ເບິ່ງ fedora-coreos-tracker#701 ສຳລັບລາຍລະອຽດເພີ່ມເຕີມ.
ນີ້ແມ່ນຕົວຢ່າງການຕັ້ງຄ່າບູລີນຂອງ SELinux ຜ່ານຢູນິດ systemd ທີ່ຈະເຮັດວຽກທຸກຄັ້ງທີ່ເປີດເຄື່ອງ:
variant: fcos
version: 1.7.0
systemd:
units:
- name: setsebool.service
enabled: true
contents: |
[Service]
Type=oneshot
ExecStart=setsebool container_manage_cgroup true
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
ການຕັ້ງຄ່ານະໂຍບາຍ SELinux ກັບຄືນເປັນຄ່າເລີ່ມຕົ້ນ
ຫາກທ່ານພົບກັບບັນຫາ SELinux ທີ່ບໍ່ຄາດຄິດ, ມັນອາດຈະເກີດຈາກການປ່ຽນແປງນະໂຍບາຍພາຍໃນເຄື່ອງ.
systemd-resolved[755]: Failed to symlink /run/systemd/resolve/stub-resolv.conf: Permission denied
audit[755]: AVC avc: denied { create } for pid=755 comm="systemd-resolve" name=".#stub-resolv.confc418434d59d7d93a" scontext=system_u:system_r:systemd_resolved_t:s0 tcontext=system_u:object_r:systemd_resolved_var_run_t:s0 tclass=lnk_file permissive=0
ທ່ານສາມາດກວດສອບສະຖານະຂອງນະໂຍບາຍ SELinux ໄດ້ດ້ວຍຄຳສັ່ງ:
$ sudo ostree admin config-diff | grep -E 'selinux/.*/policy'
M selinux/targeted/active/policy.linked
M selinux/targeted/active/policy.kern
M selinux/targeted/policy/policy.31
A selinux/targeted/policy/policy.30
ຫາກຄຳສັ່ງນີ້ສົ່ງຄືນລາຍການຕ່າງໆອອກມາ, ສະແດງວ່ານະໂຍບາຍ SELinux ຂອງທ່ານໄດ້ຖືກປ່ຽນແປງໄປຈາກຄ່າເລີ່ມຕົ້ນ.
ທ່ານມີສອງທາງເລືອກໃນການຕັ້ງຄ່ານະໂຍບາຍ SELinux ກັບຄືນເປັນຄ່າເລີ່ມຕົ້ນ:
-
ຕິດຕັ້ງລະບົບໃໝ່ (Re-deploy) ຈາກໄຟລ໌ artifacts ຫຼ້າສຸດຂອງ Fedora CoreOS.
-
ກູ້ຄືນນະໂຍບາຍເລີ່ມຕົ້ນດ້ວຍຕົນເອງ
ເພື່ອກູ້ຄືນນະໂຍບາຍເລີ່ມຕົ້ນ:
-
ສຳຮອງຂໍ້ມູນນະໂຍບາຍປັດຈຸບັນຂອງທ່ານ:
sudo cp -al /etc/selinux{,.bak} -
ກູ້ຄືນນະໂຍບາຍ SELinux ເລີ່ມຕົ້ນ:
sudo rsync --archive --links --verbose --delete /usr/etc/selinux/ /etc/selinux/ຫຼັງຈາກໃຊ້ຄຳສັ່ງນີ້, ຜົນທີ່ໄດ້ຈາກ
sudo ostree admin config-diff | grep -E 'selinux/.*/policy'ຄວນຈະບໍ່ສະແດງວ່ານະໂຍບາຍຖືກປ່ຽນແປງອີກຕໍ່ໄປ. -
ສຸດທ້າຍ, ໃຫ້ໂຫຼດນະໂຍບາຍ SELinux ໃໝ່ ຫຼື ເລີ່ມຕົ້ນລະບົບໃໝ່:
sudo semodule -R
ການປິດການໃຊ້ງານ SELinux
ພວກເຮົາບໍ່ຮອງຮັບການປິດການໃຊ້ງານ SELinux ໃນ Fedora CoreOS. ເບິ່ງ rpm-ostree#971. ເບິ່ງການສົນທະນາເພີ່ມເຕີມໄດ້ທີ່ fedora-coreos-docs#439.
ການຕັ້ງຄ່າ SELinux ໃນໂໝດຜ່ອນຜັນ (permissive mode)
ພວກເຮົາບໍ່ແນະນຳໃຫ້ຕັ້ງຄ່າທັງໝົດຂອງລະບົບເປັນໂໝດຜ່ອນຜັນ (ເຊັ່ນ: set enforce 0). ແຕ່ທ່ານສາມາດຕັ້ງຄ່າ SELinux ໃຫ້ເປັນໂໝດຜ່ອນຜັນສຳລັບແອັບພລິເຄຊັນດຽວໄດ້ ໂດຍການສ້າງ ໂມດູນນະໂຍບາຍ CIL.
ຕົວຢ່າງສຳລັບໂດເມນ wireguard_t:
$ cat permissive-wireguard.cil
(typepermissive wireguard_t)
ຈາກນັ້ນທ່ານສາມາດໂຫຼດໂມດູນນີ້ໄດ້ດ້ວຍ:
sudo semodule -i permissive-wireguard.cil
ແລະ ລຶບມັນອອກເມື່ອບໍ່ຕ້ອງການໃຊ້ແລ້ວດ້ວຍ:
sudo semodule -r permissive-wireguard
ເບິ່ງການສົນທະນາເພີ່ມເຕີມໄດ້ທີ່ fedora-coreos-docs#439.
Want to help? Learn how to contribute to Fedora Docs ›