เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจฒเจˆ SELinux เจšเฉ€เจŸ เจธเจผเฉ€เจŸ: เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ 42 เจœเจตเจพเจฌ

เจฒเฉ‡เจ– เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เฉ‹เจฐเจธ เจฆเฉ‡ เจตเจฟเจฆเจฟเจ†เจฐเจฅเฉ€เจ†เจ‚ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ "เจฒเฉ€เจจเจ•เจธ เจชเฉเจฐเจธเจผเจพเจธเจ•".

เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจฒเจˆ SELinux เจšเฉ€เจŸ เจธเจผเฉ€เจŸ: เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ 42 เจœเจตเจพเจฌ

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

"เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉฑเจšเจพเจˆ เจ‡เจน เจนเฉˆ เจ•เจฟ เจšเฉ€เจœเจผเจพเจ‚ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจ‰เจน เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจœเฉ‹ เจ‰เจน เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ†เจฎ เจ—เจฟเจ†เจจ ..."

-เจกเฉเจ—เจฒเจธ เจเจกเจฎเจธ, เจ—เจฒเฉˆเจ•เจธเฉ€ เจฒเจˆ เจนเจฟเจšเจนเจพเจˆเจ•เจฐ เจฆเฉ€ เจ—เจพเจˆเจก

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

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

The Hitchhiker's Guide to the Galaxy เจฆเฉ€ เจญเจพเจตเจจเจพ เจตเจฟเฉฑเจš, เจ‡เฉฑเจฅเฉ‡ เจ•เฉฐเจŸเจฐเฉ‹เจฒ เจ…เจคเฉ‡ เจตเจฐเจคเฉ‹เจ‚ เจฌเจพเจฐเฉ‡ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ 42 เจœเจตเจพเจฌ เจนเจจเฅค SELinux เจคเฉเจนเจพเจกเฉ‡ เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡เฅค

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

2. เจฆเฉ‹ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจงเจพเจฐเจจเจพเจตเจพเจ‚ เจนเจจ: เจฒเฉ‡เจฌเจฒเจฟเฉฐเจ— - เจฎเจพเจฐเจ•เจฟเฉฐเจ— (เจซเจพเจ‡เจฒเจพเจ‚, เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚, เจชเฉ‹เจฐเจŸเจพเจ‚, เจ†เจฆเจฟ) เจ…เจคเฉ‡ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฆเฉ€ เจ•เจฟเจธเจฎ (เจœเฉ‹ เจ•เจฟ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจคเฉ‹เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจฒเฉฑเจ— เจ•เจฐเจฆเจพ เจนเฉˆ)เฅค

3. เจธเจนเฉ€ เจฒเฉ‡เจฌเจฒ เจซเจพเจฐเจฎเฉˆเจŸ user:role:type:level (เจตเจฟเจ•เจฒเจชเจฟเจ•)เฅค

4. เจฌเจนเฉ-เจชเฉฑเจงเจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจ เจฆเจพ เจ‰เจฆเฉ‡เจธเจผ (เจฌเจนเฉ-เจชเฉฑเจงเจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† - MLS) เจ‰เจนเจจเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉ‡ เจชเฉฑเจงเจฐ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ (เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚) เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจ—เฉเจชเจค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจšเฉ‹เจŸเฉ€ เจฆเฉ‡ เจ—เฉเจชเจค เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจชเฉœเฉเจน เจธเจ•เจฆเฉ€เฅค

5. เจฌเจนเฉ-เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ (เจฌเจนเฉ-เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† - MCS) เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจคเฉ‹เจ‚ เจธเจฎเจพเจจ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจฐเฉฑเจ–เจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚, เจ“เจชเจจเจธเจผเจฟเจซเจŸ เจ‡เฉฐเจœเจฃ, SELinux เจธเฉˆเจ‚เจกเจฌเฉŒเจ•เจธ, เจ•เฉฐเจŸเฉ‡เจจเจฐ, เจ†เจฆเจฟ)เฅค

6. เจฌเฉ‚เจŸ เจนเฉ‹เจฃ 'เจคเฉ‡ SELinux เจฎเฉ‹เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจ•เจฐเจจเจฒ เจตเจฟเจ•เจฒเจช:

  • autorelabel=1 โ†’ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจฐเฉ€เจฒเฉ‡เจฌเจฒเจฟเฉฐเจ— เจšเจฒเจพเจ‰เจฃ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเจฆเจพ เจนเฉˆ
  • selinux=0 โ†’ เจ•เจฐเจจเจฒ SELinux เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ
  • enforcing=0 โ†’ เจชเจฐเจฎเจฟเจธเจผเจจ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ

7. เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ‡ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจฐเฉ€เจฒเฉ‡เจฌเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

# touch /.autorelabel
#reboot

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

8. เจ‡เจน เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจ•เฉ€ SELinux เจฏเฉ‹เจ— เจนเฉˆ: # getenforce

9. SELinux เจจเฉ‚เฉฐ เจ…เจธเจฅเจพเจˆ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจฐเฉฑเจฅ/เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ: # setenforce [1|0]

10. SELinux เจธเจฅเจฟเจคเฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆ: # sestatus

11. เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจ‡เจฒ: /etc/selinux/config

12. SELinux เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ? เจ‡เฉฑเจฅเฉ‡ เจ…เจชเจพเจšเฉ‡ เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจฒเจˆ เจฎเจพเจฐเจ• เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจนเฉˆ:

  • เจฌเจพเจˆเจจเจฐเฉ€ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ: /usr/sbin/httpdโ†’httpd_exec_t
  • เจธเฉฐเจฐเจšเจจเจพ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€: /etc/httpdโ†’httpd_config_t
  • เจฒเฉŒเจ— เจซเจพเจˆเจฒ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€: /var/log/httpd โ†’ httpd_log_t
  • เจธเจฎเฉฑเจ—เจฐเฉ€ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€: /var/www/html โ†’ httpd_sys_content_t
  • เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจพเจ‚เจš เจ•เจฐเฉ‹: /usr/lib/systemd/system/httpd.service โ†’ httpd_unit_file_d
  • เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†: /usr/sbin/httpd -DFOREGROUND โ†’ httpd_t
  • เจฌเฉฐเจฆเจฐเจ—เจพเจนเจพเจ‚: 80/tcp, 443/tcp โ†’ httpd_t, http_port_t

เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจนเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† httpd_t, เจฒเฉ‡เจฌเจฒ เจ•เฉ€เจคเฉ€ เจตเจธเจคเฉ‚ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ httpd_something_t.

13. เจ•เจˆ เจนเฉเจ•เจฎ เจ‡เฉฑเจ• เจฆเจฒเฉ€เจฒ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ -Z เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡เจ–เจฃ, เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฌเจฆเจฒเจฃ เจฒเจˆ:

  • ls -Z
  • id -Z
  • ps -Z
  • netstat -Z
  • cp -Z
  • mkdir -Z

เจธเฉฐเจฆเจฐเจญ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเจฆเฉ‹เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเฉ‚เจฒ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฆเฉ‡ เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจฌเจฃเจพเจˆเจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ (เจ•เฉเจ เจ…เจชเจตเจพเจฆเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ)เฅค RPMs เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจฆเฉŒเจฐเจพเจจ เจชเฉเจฐเจธเฉฐเจ— เจธเจฅเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

14. SELinux เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจšเจพเจฐ เจฎเฉเฉฑเจ– เจ•เจพเจฐเจจ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‡เจ เจพเจ‚ เจฌเจฟเฉฐเจฆเฉ‚ 15-21 เจตเจฟเฉฑเจš เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ:

  • เจฒเฉ‡เจฌเจฒเจฟเฉฐเจ— เจฎเฉเฉฑเจฆเฉ‡
  • เจ•เจฟเจธเฉ‡ เจšเฉ€เจœเจผ เจฆเฉ‡ เจ•เจพเจฐเจจ เจœเฉ‹ SELinux เจจเฉ‚เฉฐ เจœเจพเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ
  • SELinux เจจเฉ€เจคเฉ€/เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€
  • เจคเฉเจนเจพเจกเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจพเจฒ เจธเจฎเจเฉŒเจคเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ

15. เจฒเฉ‡เจฌเจฒเจฟเฉฐเจ— เจธเจฎเฉฑเจธเจฟเจ†: เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจนเจจ /srv/myweb เจ—เจฒเจค เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ, เจชเจนเฉเฉฐเจš เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฆเฉ‡ เจ•เฉเจ เจคเจฐเฉ€เจ•เฉ‡ เจนเจจ:

  • เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฒเฉ‡เจฌเจฒ เจจเฉ‚เฉฐ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹:
    # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
  • เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฌเจฐเจพเจฌเจฐ เจจเจฟเจธเจผเจพเจจเจพเจ‚ เจตเจพเจฒเฉ€ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹:
    # semanage fcontext -a -e /srv/myweb /var/www
  • เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจฌเจนเจพเจฒ เจ•เจฐเจจเจพ (เจฆเฉ‹เจตเฉ‡เจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฒเจˆ):
    # restorecon -vR /srv/myweb

16. เจฒเฉ‡เจฌเจฒเจฟเฉฐเจ— เจธเจฎเฉฑเจธเจฟเจ†: เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจพเจชเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฎเฉ‚เจต เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจซเจพเจˆเจฒ เจ‡เจธเจฆเฉ‡ เจ…เจธเจฒเฉ€ เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจฌเจฐเจ•เจฐเจพเจฐ เจฐเฉฑเจ–เฉ‡เจ—เฉ€เฅค เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ:

  • เจฒเฉ‡เจฌเจฒ เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจธเฉฐเจ— เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‹:
    # chcon -t httpd_system_content_t /var/www/html/index.html
  • เจฒเจฟเฉฐเจ• เจฒเฉ‡เจฌเจฒ เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจธเฉฐเจ— เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‹:
    # chcon --reference /var/www/html/ /var/www/html/index.html
  • เจธเฉฐเจฆเจฐเจญ เจจเฉ‚เฉฐ เจฌเจนเจพเจฒ เจ•เจฐเฉ‹ (เจฆเฉ‹เจตเฉ‡เจ‚ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฒเจˆ): # restorecon -vR /var/www/html/

17. เจœเฉ‡ SELinux เจคเฉเจนเจพเจจเฉ‚เฉฐ เจœเจพเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเจ•เจฟ HTTPD เจชเฉ‹เจฐเจŸ 8585 'เจคเฉ‡ เจธเฉเจฃ เจฐเจฟเจนเจพ เจนเฉˆ, SELinux เจจเฉ‚เฉฐ เจฆเฉฑเจธเฉ‹:

# semanage port -a -t http_port_t -p tcp 8585

18. SELinux เจคเฉเจนเจพเจจเฉ‚เฉฐ เจœเจพเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจฌเฉเจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒ เจœเฉ‹ SELinux เจชเจพเจฒเจฟเจธเฉ€ เจฆเฉ‡ เจญเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ SELinux เจชเจพเจฒเจฟเจธเฉ€ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจฐเจจเจŸเจพเจˆเจฎ 'เจคเฉ‡ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ httpd เจจเฉ‚เฉฐ เจˆเจฎเฉ‡เจฒ เจญเฉ‡เจœเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจฆเจพเจ–เจฒ เจ•เจฐเฉ‹: # setsebool -P httpd_can_sendmail 1

19. SELinux เจคเฉเจนเจพเจจเฉ‚เฉฐ เจœเจพเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ SELinux เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ/เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ เจฒเจพเจœเจผเฉ€เจ•เจฒ เจฎเฉเฉฑเจฒ:

  • เจธเจพเจฐเฉ‡ เจฌเฉ‚เจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒ เจฆเฉ‡เจ–เจฃ เจฒเจˆ: # getsebool -a
  • เจนเจฐเฉ‡เจ• เจฆเจพ เจตเฉ‡เจฐเจตเจพ เจฆเฉ‡เจ–เจฃ เจฒเจˆ: # semanage boolean -l
  • เจฌเฉ‚เจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ: # setsebool [_boolean_] [1|0]
  • เจ‡เฉฑเจ• เจธเจฅเจพเจˆ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจฒเจˆ, เจธเจผเจพเจฎเจฟเจฒ เจ•เจฐเฉ‹ -P. เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ: # setsebool httpd_enable_ftp_server 1 -P

20. SELinux เจจเฉ€เจคเฉ€เจ†เจ‚/เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€เจ†เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเจจ:

  • เจ…เจธเจงเจพเจฐเจจ เจ•เฉ‹เจก เจฎเจพเจฐเจ—
  • เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚
  • stdout เจจเฉ‚เฉฐ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ
  • เจซเจพเจˆเจฒ เจกเจฟเจธเจ•เฉเจฐเจฟเจชเจŸเจฐ เจฒเฉ€เจ•
  • เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจฎเฉˆเจฎเฉ‹เจฐเฉ€
  • เจ–เจผเจฐเจพเจฌ เจฌเจฃเฉ€เจ†เจ‚ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚

เจ“เจชเจจ เจŸเจฟเจ•เจŸเจพเจ‚ (เจฌเจ—เจœเจผเฉ€เจฒเจพ เจจเฉ‚เฉฐ เจฐเจฟเจชเฉ‹เจฐเจŸ เจจเจพ เจฆเจฟเจ“; เจฌเฉฑเจ—เจœเจผเฉ€เจฒเจพ เจฆเจพ เจ•เฉ‹เจˆ SLA เจจเจนเฉ€เจ‚ เจนเฉˆ)เฅค

21. เจคเฉเจนเจพเจกเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจพเจฒ เจธเจฎเจเฉŒเจคเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเฉเจฐเจคเจฟเจฌเฉฐเจงเจฟเจค เจกเฉ‹เจฎเฉ‡เจจ เจนเจจ เจœเฉ‹ เจ‡เจน เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจ:

  • เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฒเฉ‹เจก เจ•เจฐเฉ‹
  • เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ SELinux เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจ…เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“
  • เจจเฉ‚เฉฐ เจฒเจฟเจ–เฉ‹ etc_t/shadow_t
  • iptables เจจเจฟเจฏเจฎ เจฌเจฆเจฒเฉ‹

22. เจจเฉ€เจคเฉ€ เจฎเจพเจกเจฟเจŠเจฒ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฒเจˆ SELinux เจŸเฉ‚เจฒ:

# yum -y install setroubleshoot setroubleshoot-server

เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเฉ‹ เจœเจพเจ‚ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจ•เจฐเฉ‹ auditd เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจฆเฉ‡ เจฌเจพเจ…เจฆ.

23. เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹

journalctl

เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจธเจพเจฐเฉ‡ เจฒเจพเจ—เจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจจ เจฒเจˆ setroubleshoot:

# journalctl -t setroubleshoot --since=14:20

24. เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ journalctl เจ‡เฉฑเจ• เจ–เจพเจธ SELinux เจŸเฉˆเจ— เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจธเจพเจฐเฉ‡ เจฒเจพเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เจฐเจจ เจฒเจˆเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ:

# journalctl _SELINUX_CONTEXT=system_u:system_r:policykit_t:s0

25. เจœเฉ‡เจ•เจฐ SELinux เจ—เจฒเจคเฉ€ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจฒเจพเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ setroubleshoot เจ•เจˆ เจธเฉฐเจญเจต เจนเฉฑเจฒ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ.
เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉ‹เจ‚ journalctl:

Jun 14 19:41:07 web1 setroubleshoot: SELinux is preventing httpd from getattr access on the file /var/www/html/index.html. For complete message run: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e

# sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
SELinux is preventing httpd from getattr access on the file /var/www/html/index.html.

***** Plugin restorecon (99.5 confidence) suggests ************************

If you want to fix the label,
/var/www/html/index.html default label should be httpd_syscontent_t.
Then you can restorecon.
Do
# /sbin/restorecon -v /var/www/html/index.html

26. เจฒเจพเจ—เจฟเฉฐเจ—: SELinux เจ•เจˆ เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจฆเจพ เจนเฉˆ:

  • / var / log / messages
  • /var/log/audit/audit.log
  • /var/lib/setroubleshoot/setroubleshoot_database.xml

27. เจฒเฉŒเจ—เจฟเฉฐเจ—: เจ†เจกเจฟเจŸ เจฒเฉŒเจ— เจตเจฟเฉฑเจš SELinux เจ—เจฒเจคเฉ€เจ†เจ‚ เจฒเจˆ เจ–เฉ‹เจœ:

# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today

28. เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจธเฉ‡เจตเจพ เจฒเจˆ SELinux เจเจ•เจธเฉˆเจธ เจตเฉˆเจ•เจŸเจฐ เจ•เฉˆเจธเจผ (AVC) เจธเฉเจจเฉ‡เจนเฉ‡ เจฒเฉฑเจญเจฃ เจฒเจˆ:

# ausearch -m avc -c httpd

29. เจ‰เจชเจฏเฉ‹เจ—เจคเจพ audit2allow เจตเจฐเจœเจฟเจค เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจฒเจพเจ—เจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ‡เจ•เฉฑเจ เฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจซเจฟเจฐ SELinux เจ…เจจเฉเจฎเจคเฉ€ เจจเฉ€เจคเฉ€ เจจเจฟเจฏเจฎ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ:

  • เจ‡เจธ เจ—เฉฑเจฒ เจฆเจพ เจฎเจจเฉเฉฑเจ–เฉ€-เจชเฉœเฉเจนเจจเจฏเฉ‹เจ— เจตเจฐเจฃเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจชเจนเฉเฉฐเจš เจ•เจฟเจ‰เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ: # audit2allow -w -a
  • เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจจเจฟเจฏเจฎ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฒเจˆ เจœเฉ‹ เจ…เจธเจตเฉ€เจ•เจพเจฐ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ: # audit2allow -a
  • เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ: # audit2allow -a -M mypolicy
  • เจตเจฟเจ•เจฒเจช -M เจจเจฟเจฐเจงเจพเจฐเจค เจจเจพเจฎ เจจเจพเจฒ เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเฉ€ เจ‡เจจเจซเฉ‹เจฐเจธเจฎเฉˆเจ‚เจŸ เจซเจพเจˆเจฒ (.te) เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจจเจฟเจฏเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเจพเจฒเจฟเจธเฉ€ เจชเฉˆเจ•เฉ‡เจœ (.pp) เจตเจฟเฉฑเจš เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเจพ เจนเฉˆ: mypolicy.pp mypolicy.te
  • เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฒเจˆ: # semodule -i mypolicy.pp

30. เจ‡เจœเจพเจœเจผเจค เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† (เจกเฉ‹เจฎเฉ‡เจจ) เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจจ เจฒเจˆ: # semanage permissive -a httpd_t

31. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจกเฉ‹เจฎเฉ‡เจจ เจจเฉ‚เฉฐ เจฎเจจเจœเจผเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹: # semanage permissive -d httpd_t

32. เจธเจพเจฐเฉ‡ เจ†เจ—เจฟเจ†เจ•เจพเจฐเฉ€ เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ: # semodule -d permissivedomains

33. MLS SELinux เจจเฉ€เจคเฉ€ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจเจพ: # yum install selinux-policy-mls
ะฒ /etc/selinux/config:

SELINUX=permissive
SELINUXTYPE=mls

เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ SELinux เจ…เจจเฉเจฎเจคเฉ€ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ: # setenforce 0
เจ‡เฉฑเจ• เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฐเจคเฉ‹ fixfilesเจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจ—เจฒเฉ‡ เจฐเฉ€เจฌเฉ‚เจŸ เจคเฉ‡ เจฐเฉ€เจฒเฉ‡เจฌเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

# fixfiles -F onboot # reboot

34. เจ‡เฉฑเจ• เจ–เจพเจธ MLS เจธเฉ€เจฎเจพ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจฃเจพเจ“: # useradd -Z staff_u john

เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ useradd, เจจเจตเฉ‡เจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ SELinux เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฒ เจฎเฉˆเจช เจ•เจฐเฉ‹ (เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, staff_u).

35. SELinux เจ…เจคเฉ‡ Linux เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจฎเฉˆเจชเจฟเฉฐเจ— เจฆเฉ‡เจ–เจฃ เจฒเจˆ: # semanage login -l

36. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ เจ‡เฉฑเจ• เจ–เจพเจธ เจฐเฉ‡เจ‚เจœ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเฉ‹: # semanage login --modify --range s2:c100 john

37. เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจนเฉ‹เจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฒเฉ‡เจฌเจฒ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฒเจˆ (เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡): # chcon -R -l s2:c100 /home/john

38. เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจฒเจˆ: # chcat -L

39. เจธเจผเฉเจฐเฉ‡เจฃเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจœเจพเจ‚ เจ†เจชเจฃเฉ€ เจ–เฉเจฆ เจฆเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจนเฉ‡เจ  เจฒเจฟเจ–เฉ‡ เจ…เจจเฉเจธเจพเจฐ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเฉ‹:

/etc/selinux/_<selinuxtype>_/setrans.conf

40. เจ‡เฉฑเจ• เจ–เจพเจธ เจซเจพเจˆเจฒ, เจฐเฉ‹เจฒ, เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉฐเจฆเจฐเจญ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจฎเจพเจ‚เจก เจœเจพเจ‚ เจธเจ•เฉเจฐเจฟเจชเจŸ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ:

# runcon -t initrc_t -r system_r -u user_u yourcommandhere

  • -t เจซเจพเจˆเจฒ เจชเฉเจฐเจธเฉฐเจ—
  • -r เจญเฉ‚เจฎเจฟเจ•เจพ เจธเฉฐเจฆเจฐเจญ
  • -u เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉฐเจฆเจฐเจญ

41. SELinux เจ…เจฏเฉ‹เจ— เจจเจพเจฒ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐ:

  • เจชเฉ‹เจกเจฎเฉˆเจจ: # podman run --security-opt label=disable โ€ฆ
  • เจกเฉŒเจ•เจฐ: # docker run --security-opt label=disable โ€ฆ

42. เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเฉ‚เฉฐ เจธเจฟเจธเจŸเจฎ เจคเฉฑเจ• เจชเฉ‚เจฐเฉ€ เจชเจนเฉเฉฐเจš เจฆเฉ‡เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

  • เจชเฉ‹เจกเจฎเฉˆเจจ: # podman run --privileged โ€ฆ
  • เจกเฉŒเจ•เจฐ: # docker run --privileged โ€ฆ

เจ…เจคเฉ‡ เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจœเจตเจพเจฌ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹. เจ‡เจธ เจฒเจˆ เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡: เจ˜เจฌเจฐเจพเจ“ เจจเจพ เจ…เจคเฉ‡ SELinux เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“เฅค

เจฒเจฟเฉฐเจ•:

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

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