SELinux เจฒเจˆ เจ‡เฉฑเจ• เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ—เจพเจˆเจก

SELinux เจฒเจˆ เจ‡เฉฑเจ• เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจ—เจพเจˆเจก

เจ•เฉ‹เจฐเจธ เจฆเฉ‡ เจตเจฟเจฆเจฟเจ†เจฐเจฅเฉ€เจ†เจ‚ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจฒเฉ‡เจ– เจฆเจพ เจ…เจจเฉเจตเจพเจฆ "เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ†"

SELinux เจœเจพเจ‚ เจธเจ•เจฟเจ“เจฐเจฟเจŸเฉ€ เจเจจเจนเจพเจ‚เจธเจก เจฒเฉ€เจจเจ•เจธ เจ‡เฉฑเจ• เจตเจฟเจธเจคเฉเจฐเจฟเจค เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจตเจฟเจงเฉ€ เจนเฉˆ เจœเฉ‹ เจฏเฉ‚เจเจธ เจจเฉˆเจธเจผเจจเจฒ เจธเจ•เจฟเจ‰เจฐเจฟเจŸเฉ€ เจเจœเฉฐเจธเฉ€ (NSA) เจฆเฉเจ†เจฐเจพ เจ–เจคเจฐเจจเจพเจ• เจ˜เฉเจธเจชเฉˆเจ  เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจ‡เจน เจฎเฉŒเจœเฉ‚เจฆเจพ เจ…เจ–เจคเจฟเจ†เจฐเฉ€ (เจœเจพเจ‚ เจšเฉ‹เจฃเจตเฉ‡เจ‚) เจฎเจพเจกเจฒ (เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจ…เจ–เจคเจฟเจ†เจฐเฉ€ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ, เจกเฉ€เจเจธเฉ€) เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจœเจผเจฌเจฐเจฆเจธเจคเฉ€ (เจœเจพเจ‚ เจฒเจพเจœเจผเจฎเฉ€) เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฎเจพเจกเจฒ (เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจฒเจพเจœเจผเจฎเฉ€ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ, MAC) เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจฐเจฅเจพเจค, เจชเฉœเฉเจนเจจ, เจฒเจฟเจ–เจฃ, เจšเจฒเจพเจ‰เจฃ เจฆเฉ€เจ†เจ‚ เจ‡เจœเจพเจœเจผเจคเจพเจ‚เฅค

SELinux เจฆเฉ‡ เจคเจฟเฉฐเจจ เจฎเฉ‹เจก เจนเจจ:

  1. เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ - เจจเฉ€เจคเฉ€ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐเฅค
  2. เจ†เจ—เจฟเจ†เจ•เจพเจฐเฉ€ - เจจเฉ€เจคเฉ€ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจ•เจฐเจจ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจฒเฉŒเจ— เจฐเฉฑเจ–เจฃเจพ, เจœเฉ‹ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฎเจจเจพเจนเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค
  3. เจ…เจฏเฉ‹เจ— - SELinux เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจเจพเฅค

เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจนเจจ /etc/selinux/config

SELinux เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ

เจฎเฉŒเจœเฉ‚เจฆเจพ เจฎเฉ‹เจก เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ, เจšเจฒเจพเจ“

$ getenforce

เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจ…เจจเฉเจฎเจคเฉ€ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฒเจˆ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“

$ setenforce 0

เจœเจพเจ‚, เจคเฉ‹เจ‚ เจฎเฉ‹เจก เจฌเจฆเจฒเจฃ เจฒเจˆ เจฐเจตเจพเจ‡เจคเฉ€ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจšเจฒเจพเจ“

$ setenforce 1

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ SELinux เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ•เฉ‡เจตเจฒ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจ‡เจฒ เจฐเจพเจนเฉ€เจ‚ เจนเฉ€ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ

$ vi /etc/selinux/config

เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ, SELINUX เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฌเจฆเจฒเฉ‹:

SELINUX=disabled

SELinux เจฆเฉ€ เจธเจฅเจพเจชเจจเจพ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ

เจนเจฐเฉ‡เจ• เจซเจพเจˆเจฒ เจ…เจคเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจ‡เฉฑเจ• SELinux เจธเฉฐเจฆเจฐเจญ เจจเจพเจฒ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจพเจงเฉ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ, เจญเฉ‚เจฎเจฟเจ•เจพ, เจ•เจฟเจธเจฎ, เจ†เจฆเจฟเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ SELinux เจจเฉ‚เฉฐ เจฏเฉ‹เจ— เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจธเฉฐเจฆเจฐเจญ เจ…เจคเฉ‡ เจฒเฉ‡เจฌเจฒเจพเจ‚ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€เฅค เจฒเฉ‡เจฌเจฒ เจ…เจคเฉ‡ เจธเฉฐเจฆเจฐเจญ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจŸเฉˆเจ—เจฟเฉฐเจ— เจตเจœเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฎเจพเจฐเจ• เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเฉ‡ เจนเจพเจ‚ เจฐเจตเจพเจ‡เจคเฉ€.

$ vi /etc/selinux/config
SELINUX=permissive

เจฎเฉ‹เจก เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฐเจตเจพเจ‡เจคเฉ€, เจจเจพเจฎ เจจเจพเจฒ เจฐเฉ‚เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฒเฉเจ•เจตเฉ€เจ‚ เจซเจพเจˆเจฒ เจฌเจฃเจพเจ“ autorelabel

$ touch /.autorelabel

เจ…เจคเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเฉ‹

$ init 6

เจจเฉ‹เจŸ: เจ…เจธเฉ€เจ‚ เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจฐเจตเจพเจ‡เจคเฉ€ เจฎเจพเจฐเจ• เจ•เจฐเจจ เจฒเจˆ, เจฎเฉ‹เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฒเจพเจ—เฉ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจฐเฉ€เจฌเฉ‚เจŸ เจฆเฉŒเจฐเจพเจจ เจธเจฟเจธเจŸเจฎ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจšเจฟเฉฐเจคเจพ เจจเจพ เจ•เจฐเฉ‹ เจœเฉ‡เจ•เจฐ เจกเจพเจ‰เจจเจฒเฉ‹เจก เจ•เจฟเจธเฉ‡ เจซเจพเจˆเจฒ 'เจคเฉ‡ เจ…เจŸเจ• เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจฎเจพเจฐเจ• เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เฉเจ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจตเจพเจฐ เจฎเจพเจฐเจ• เจ•เจฐเจจเจพ เจชเฉ‚เจฐเจพ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเจพ เจธเจฟเจธเจŸเจฎ เจฌเฉ‚เจŸ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒ เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจฎเฉ‹เจก เจธเฉˆเจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจฒเจพเจ—เฉ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเจ…เจคเฉ‡ เจ‡เจน เจตเฉ€ เจšเจฒเจพเจ“:

$ setenforce 1

เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจ†เจชเจฃเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจ‰เฉฑเจคเฉ‡ SELinux เจจเฉ‚เฉฐ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจฏเฉ‹เจ— เจ•เจฐ เจฒเจฟเจ† เจนเฉˆเฅค

เจฒเจพเจ— เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเจพเจฐเจ• เจ•เจฐเจจ เจฆเฉŒเจฐเจพเจจ เจœเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจšเฉฑเจฒเจฃ เจฆเฉŒเจฐเจพเจจ เจ•เฉเจ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเฉˆ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจ•เจฟ เจ•เฉ€ เจคเฉเจนเจพเจกเจพ SELinux เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ‡เจน เจ•เจฟเจธเฉ‡ เจชเฉ‹เจฐเจŸ, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ†เจฆเจฟ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจฐเฉ‹เจ• เจจเจนเฉ€เจ‚ เจฐเจฟเจนเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค SELinux เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉˆ /var/log/audit/audit.log, เจชเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฒเฉฑเจญเจฃ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ audit2why เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฒเฉฑเจญเจฃ เจฒเจˆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ“:

$ audit2why < /var/log/audit/audit.log

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจœเฉ‡เจ•เจฐ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ•เฉ‹เจˆ เจธเฉเจจเฉ‡เจนเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเจ—เฉ‡เฅค

SELinux เจจเฉ€เจคเฉ€ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ

เจ‡เฉฑเจ• SELinux เจชเจพเจฒเจฟเจธเฉ€ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจนเฉˆ เจœเฉ‹ SELinux เจธเฉเจฐเฉฑเจ–เจฟเจ† เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจ• เจจเฉ€เจคเฉ€ เจ‡เฉฑเจ• เจ–เจพเจธ เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจˆ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจธเจฟเฉฑเจ–เจพเจ‚เจ—เฉ‡ เจ•เจฟ เจตเจฐเจœเจฟเจค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡เจฃ เจฒเจˆ เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค

1. เจฒเจพเจœเจผเฉ€เจ•เจฒ เจฎเฉเฉฑเจฒ (เจธเจตเจฟเฉฑเจš)

เจธเจตเจฟเฉฑเจšเจพเจ‚ (เจฌเฉ‚เจฒเฉ€เจ…เจจเจœเจผ) เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฐเจจเจŸเจพเจˆเจฎ 'เจคเฉ‡ เจจเฉ€เจคเฉ€ เจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจฌเจฟเจจเจพเจ‚ เจจเจตเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฌเจฃเจพเจเฅค เจ‰เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ SELinux เจชเจพเจฒเจฟเจธเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค

เจ‰เจฆเจพเจนเจฐเจจ:
เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจธเฉ€เจ‚ FTP เจฐเฉ€เจก/เจฐเจพเจˆเจŸ เจฐเจพเจนเฉ€เจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ€ เจนเฉ‹เจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจธเจพเจ‚เจเจพ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจพเจ‚เจเจพ เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚, เจชเจฐ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพเฅค เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ SELinux เจจเฉ€เจคเฉ€ FTP เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ€ เจนเฉ‹เจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจ…เจคเฉ‡ เจฒเจฟเจ–เจฃ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฆเฉ€ เจนเฉˆเฅค เจธเจพเจจเฉ‚เฉฐ เจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ FTP เจธเจฐเจตเจฐ เจนเฉ‹เจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐ เจธเจ•เฉ‡เฅค เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ•เฉ€ เจ‡เจธ เจฒเจˆ เจ•เฉ‹เจˆ เจธเจตเจฟเฉฑเจš เจนเจจ

$ semanage boolean -l

เจ‡เจน เจ•เจฎเจพเจ‚เจก เจ‰เจชเจฒเจฌเจง เจธเจตเจฟเฉฑเจšเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ (เจšเจพเจฒเฉ‚ เจœเจพเจ‚ เจฌเฉฐเจฆ) เจ…เจคเฉ‡ เจตเจฐเจฃเจจ เจจเจพเจฒ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เจฐเฉ‡เจ—เฉ€เฅค เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซ ftp-เจจเจคเฉ€เจœเฉ‡ เจฒเฉฑเจญเจฃ เจฒเจˆ grep เจœเฉ‹เฉœ เจ•เฉ‡ เจ†เจชเจฃเฉ€ เจ–เฉ‹เจœ เจจเฉ‚เฉฐ เจธเฉเจงเจพเจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

$ semanage boolean -l | grep ftp

เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเฉ‡เจ—เจพ

ftp_home_dir        -> off       Allow ftp to read & write file in user home directory

เจ‡เจน เจธเจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เจธ เจจเจพเจฒ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจพเจ‚เจ—เฉ‡ setsebool $ setsebool ftp_home_dir on

เจนเฉเจฃ เจธเจพเจกเจพ ftp เจกเฉˆเจฎเจจ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ€ เจนเฉ‹เจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‡เจ—เจพเฅค
เจจเฉ‹เจŸ: เจคเฉเจธเฉ€เจ‚ เจ•เจฐ เจ•เฉ‡ เจตเจฐเจฃเจจ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ‰เจชเจฒเจฌเจง เจธเจตเจฟเฉฑเจšเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ getsebool -a

2. เจฒเฉ‡เจฌเจฒ เจ…เจคเฉ‡ เจธเฉฐเจฆเจฐเจญ

เจ‡เจน SELinux เจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจ†เจฎ เจคเจฐเฉ€เจ•เจพ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจซเจพเจˆเจฒ, เจซเฉ‹เจฒเจกเจฐ, เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ…เจคเฉ‡ เจชเฉ‹เจฐเจŸ เจจเฉ‚เฉฐ SELinux เจธเฉฐเจฆเจฐเจญ เจจเจพเจฒ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

  • เจซเจพเจˆเจฒเจพเจ‚ เจ…เจคเฉ‡ เจซเฉ‹เจฒเจกเจฐเจพเจ‚ เจฒเจˆ, เจฒเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจœเฉ‹เจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:
    $ ls -Z /etc/httpd
  • เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจ…เจคเฉ‡ เจชเฉ‹เจฐเจŸเจพเจ‚ เจฒเจˆ, เจฒเฉ‡เจฌเจฒเจฟเฉฐเจ— เจ•เจฐเจจเจฒ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจฒเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹:

เจ•เจพเจฐเจœ เจจเฉ‚เฉฐ

$ ps โ€“auxZ | grep httpd

เจฌเฉฐเจฆเจฐเจ—เจพเจน

$ netstat -anpZ | grep httpd

เจ‰เจฆเจพเจนเจฐเจจ:
เจนเฉเจฃ เจฒเฉ‡เจฌเจฒเจพเจ‚ เจ…เจคเฉ‡ เจธเฉฐเจฆเจฐเจญเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจธเจฎเจเจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจตเฉ‡เจ–เฉ€เจเฅค เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฆเฉ€ เจฌเจœเจพเจ /var/www/html/ ะธัะฟะพะปัŒะทัƒะตั‚ /home/dan/html/. SELinux เจ‡เจธ เจจเฉ‚เฉฐ เจจเฉ€เจคเฉ€ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจฎเฉฐเจจเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจตเฉˆเฉฑเจฌ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‹เจ—เฉ‡เฅค เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ HTML เจซเจพเจˆเจฒเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจฟเจค เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจธเฉˆเฉฑเจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจกเจฟเจซเจพเจฒเจŸ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡เจ–เจฃ เจฒเจˆ, เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹:

$ ls โ€“lz /var/www/html
 -rw-rโ€”rโ€”. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/

เจ‡เฉฑเจฅเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจฎเจฟเจฒเฉ€ httpd_sys_content_t html เจซเจพเจˆเจฒเจพเจ‚ เจฒเจˆ เจธเฉฐเจฆเจฐเจญ เจตเจœเฉ‹เจ‚. เจธเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฒเจˆ เจ‡เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจธเฉฐเจฆเจฐเจญ เจนเจจ:

-rw-rโ€”rโ€”. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/

เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจœเจพเจ‚ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฆเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจชเจ• เจ•เจฎเจพเจ‚เจก:

$ semanage fcontext -l | grep '/var/www'

เจ‡เฉฑเจ• เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ เจธเจพเจจเฉ‚เฉฐ เจธเจนเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจฎเจฟเจฒ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจธเฉ‡เจฎเจจเฉ‡เจœ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจตเฉ€ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค /home/dan/html เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ, เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจšเจฒเจพเจ“:

$ semanage fcontext -a -t httpd_sys_content_t โ€˜/home/dan/html(/.*)?โ€™
$ semanage fcontext -l | grep โ€˜/home/dan/htmlโ€™
/home/dan/html(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
$ restorecon -Rv /home/dan/html

เจธเฉ‡เจฎเฉˆเจจเฉ‡เจœ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจฐเฉ€เจธเจŸเฉ‹เจฐเจ•เฉ‹เจจ เจ•เจฎเจพเจ‚เจก เจซเจพเจˆเจฒเจพเจ‚ เจ…เจคเฉ‡ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ เจชเฉเจฐเจธเฉฐเจ— เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ•เจฐเฉ‡เจ—เฉ€เฅค เจธเจพเจกเจพ เจตเฉˆเจฌ เจธเจฐเจตเจฐ เจนเฉเจฃ เจซเฉ‹เจฒเจกเจฐ เจคเฉ‹เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‡เจ—เจพ /home/dan/htmlเจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธ เจซเฉ‹เจฒเจกเจฐ เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ† เจนเฉˆ httpd_sys_content_t.

3. เจธเจฅเจพเจจเจ• เจจเฉ€เจคเฉ€เจ†เจ‚ เจฌเจฃเจพเจ“

เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเฉฑเจฅเฉ‡ เจ‰เจชเจฐเฉ‹เจ•เจค เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเจพ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ•เฉ‹เจˆ เจฒเจพเจญ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ audit.log เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€เจ†เจ‚ (avc/denial) เจฎเจฟเจฒเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจœเจฆเฉ‹เจ‚ เจ…เจœเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจจเฉ€เจคเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ audit2why เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค

เจคเฉเจธเฉ€เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฅเจพเจจเจ• เจจเฉ€เจคเฉ€ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจพเจจเฉ‚เฉฐ httpd (apache) เจœเจพเจ‚ smbd (samba) เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจจเฉ€เจคเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚:

apache
$ grep httpd_t /var/log/audit/audit.log | audit2allow -M http_policy
samba
$ grep smbd_t /var/log/audit/audit.log | audit2allow -M smb_policy

เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ http_policy ะธ smb_policy เจ‰เจน เจธเจฅเจพเจจเจ• เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฎ เจนเจจ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจฌเจฃเจพเจˆเจ†เจ‚ เจนเจจเฅค เจนเฉเจฃ เจธเจพเจจเฉ‚เฉฐ เจ‡เจนเจจเจพเจ‚ เจฌเจฃเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจธเจฅเจพเจจเจ• เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ SELinux เจชเจพเจฒเจฟเจธเฉ€ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

$ semodule โ€“I http_policy.pp
$ semodule โ€“I smb_policy.pp

เจธเจพเจกเฉ€เจ†เจ‚ เจธเจฅเจพเจจเจ• เจจเฉ€เจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจนเฉเจฃ audit.log เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ avc เจœเจพเจ‚ denail เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ‡เจน SELinux เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเจจ เจฆเฉ€ เจฎเฉ‡เจฐเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจธเฉ€เฅค เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจฒเฉ‡เจ– เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจคเฉเจธเฉ€เจ‚ SELinux เจจเจพเจฒ เจตเจงเฉ‡เจฐเฉ‡ เจ†เจฐเจพเจฎเจฆเจพเจ‡เจ• เจฎเจนเจฟเจธเฉ‚เจธ เจ•เจฐเฉ‹เจ—เฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹