λμ λͺ¨λ
SELinux λΒ enforce, permissive, disable μΈ κ°μ§ λμ λͺ¨λκ° μμΌλ©° μ€μΉνλ©΄ κΈ°λ³Έμ μΌλ‘ enforce λͺ¨λλ‘ λμν©λλ€.
enforce λͺ¨λμΌ κ²½μ° SELinux μ μ μ± κ³Ό λ£°μ μ΄κΈλλ λμμ λͺ¨λ μ°¨λ¨λλ©° permissive λͺ¨λμ κ²½μ° μ μ± μ μ΄κΈλλ λμμ κ°μ¬ λ‘κ·Έλ₯Ό λ¨κΈ°κ³ νμ©ν©λλ€.
μ΄μ νκ²½μμλ enforce λͺ¨λλ‘ μ΄μνλ κ²μ κΆμ₯νλ©° κ°λ°κ³Ό ν μ€νΈλ νμμλ enforce λͺ¨λλ‘ μ¬μ©νλ€κ° λ°λͺ¬ μλΉμ€κ° μ€μλν κ²½μ° permissive λͺ¨λλ‘ μ ννμ¬ μΌλ¨ μλΉμ€κ° λκ² νκ³ κ°μ¬ λ‘κ·Έλ₯Ό νμΈν΄μ μμΈμ μ°Ύκ³ λ¬Έμ λ₯Ό ν΄κ²°ν νμλ λ€μ enforce mode λ‘ μ ννλ λ°©μμ΄ μ’μ μ΅κ΄μ λλ€.
SELinux μ λμΒ λͺ¨λλ₯Ό λ³κ²½νλ λͺ λ Ήμ΄λΒ setenforceΒ λͺ λ Ήμ΄μ΄λ©° 0 λλ 1μ μ΅μ μΌλ‘ μ€ μ μμΌλ©° 1μΌ κ²½μ° enforce λͺ¨λ, 0 μΌ κ²½μ° permissive λͺ¨λλ‘ μ€μ λ©λλ€.
$ sudo setenforce 1
νμ¬ SELinux μ λμ λͺ¨λλ₯Ό νμΈνλ €λ©΄Β getenforceΒ λͺ λ Ήμ΄λ‘ νμΈν μ μμ΅λλ€.
$ getenforce Enforcing
λμ λͺ¨λ νμΈ
SElinux λμ λͺ¨λμ λν΄ λ μμΈν μ 보λ₯Ό μ»μΌλ €λ©΄Β sestatusΒ λͺ λ Ήμ μ¬μ©ν μ μμ΅λλ€. λ€μμΒ setenforce 0λͺ λ Ήμ΄λ₯Ό μνν νμ sestatus μ€ν κ²°κ³Όλ‘ νμ¬ λμ λͺ¨λλ permissive λͺ¨λμ΄λ©° μ€μ νμΌμλ enforcing μΌ
λ‘ μ€μ λ κ²μ μ μ μμ΅λλ€.
$ sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
TODO :Current mode μ§νκ²
κ²°κ³Όλ₯Ό 보면 νμ¬ enforcing λͺ¨λλ‘ κ΅¬λλλ κ²μ νμΈν μ μμ΅λλ€. λ§μ½ permissive λͺ¨λμΌ κ²½μ° μλμ κ°μ΄ Current mode κ° λ³κ²½λμ΄ νμλ©λλ€.
$ sudo setenforce 0 $ sestatus sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
λͺ¨λ μꡬ μ€μ
permissive λ‘ μ νν νμ sestatusΒ μ κ²°κ³Όλ₯Ό 보면 Current modeλ permissive μ΄μ§λ§Β Mode from config file νλͺ©μ enforcing μΌλ‘ λ κ°κ° λ€λ₯΄λ€λ κ²μ μμ μμ΅λλ€.
setenforce λͺ λ Ήμ΄λ‘ μ€μ ν λͺ¨λλ μꡬμ μ΄μ§ μμΌλ©° μ¬λΆν νλ©΄ μ€μ μ΄ μ΄κΈ°ν λ©λλ€.
λΆν μ κΈ°λ³ΈμΌλ‘ μ€μ ν λͺ¨λλ μ€μ νμΌμ μ΄μ΄μΒ SELINUX=enforcingΒ νλͺ©μΒ μμ νλ©΄ λλ©° μ¬λΆν ν΄μΌ λ°μλ©λλ€.
vi /etc/selinux/config
vi /etc/sysconfig/selinux
λ§μ½ λΆν μΒ permissive λ‘ μ€μ λκΈ°λ₯Ό μνλ€λ©΄ μλμ κ°μ΄ μμ νλ©΄ λ©λλ€.
SELINUX=permissive
μΈν°λ·μ SELinux λ₯Ό μΉλ©΄ "λκΈ°" κ° μλ μμ±λλλ° λΆν μμλ SELinux λ₯Ό ν΄μ νλ €λ©΄ μλμ κ°μ΄ μ€μ νλ©΄ λμ§λ§ 보μμ μν΄μλ κ²°μ½ κΆμ₯νμ§ μμ΅λλ€.
SELINUX=disabled
ν΄μ ν SELinux λ₯Ό λ€μ μ¬μ©νλ €λ©΄ μ¬λΆν μ΄ νμνλ° μ΄λ λ§μ μκ°μ΄ 걸릴 μ μμ΅λλ€. μ΄μ λ SELinux μ ν΅μ¬μΈ 보μ 컨ν μ€νΈλ νμΌ μμ€ν μ κΈ°λ‘νλλ° ν΄μ νλ©΄ 보μ 컨ν μ€νΈλ₯Ό κΈ°λ‘νμ§ μμΌλ―λ‘ μ¬μ¬μ©μΌλ‘ μ€μ λ³κ²½ν 첫 λΆν λ λͺ¨λ νμΌκ³Ό λλ ν°λ¦¬μ λν΄ λ³΄μ 컨ν μ€νΈλ₯Ό λ€μ λΆλ₯ν΄μΌ νκΈ° λλ¬Έμ λλ€.
μ΄λ° μ΄μ λλ¬Έμ λ§μ½ SELinux μ μ± μλ°μΌλ‘ μΈν΄ λ°λͺ¬ μλΉμ€κ° μ λλ‘ κ΅¬λλμ§ μλλ€λ©΄ ν΄μ 보λ€λ permissive λ‘ μ ννλ κ²μ΄ μ’μ΅λλ€.