เช†เช‚เชคเชฐเชฐเชพเชทเซเชŸเซเชฐเซ€เชฏ เชธเซเชชเชฐเซเชงเชพเช“เชจเชพ เชตเชฟเชœเซ‡เชคเชพเช“ SSH เช…เชจเซ‡ sudo เชซเชฐเซ€เชฅเซ€ เชธเซเชŸเซ‡เชœ เชชเชฐ เช›เซ‡. เชชเซเชฐเชคเชฟเชทเซเช เชฟเชค เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช•เช‚เชกเช•เซเชŸเชฐเชจเซ€ เช†เช—เซ‡เชตเชพเชจเซ€ เชนเซ‡เช เชณ

เชเชคเชฟเชนเชพเชธเชฟเช• เชฐเซ€เชคเซ‡, เชธเซเชกเซ‹ เชชเชฐเชตเชพเชจเช—เซ€เช“ เชฎเชพเช‚เชฅเซ€ เชซเชพเช‡เชฒเซ‹เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เช“ เชฆเซเชตเชพเชฐเชพ เชธเช‚เชšเชพเชฒเชฟเชค เชนเชคเซ€ /etc/sudoers.d ะธ เชตเชฟเชธเซเชกเซ‹, เช…เชจเซ‡ เช•เซ€ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ ~/.ssh/authorized_keys. เชœเซ‹ เช•เซ‡, เชœเซ‡เชฎ เชœเซ‡เชฎ เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชตเชงเชคเซเช‚ เชœเชพเชฏ เช›เซ‡ เชคเซ‡เชฎ เชคเซ‡เชฎ เช† เช…เชงเชฟเช•เชพเชฐเซ‹เชจเซเช‚ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ เชฐเซ€เชคเซ‡ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพเชจเซ€ เชˆเชšเซเช›เชพ เช›เซ‡. เช†เชœเซ‡ เช˜เชฃเชพ เช‰เช•เซ‡เชฒ เชตเชฟเช•เชฒเซเชชเซ‹ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡:

  • เช•เชจเซเชซเชฟเช—เชฐเซ‡เชถเชจ เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸ เชธเชฟเชธเซเชŸเชฎ - เชตเชกเชพ, เชชเชชเซ‡เชŸ, Ansible, เชธเซ‹เชฒเซเชŸ
  • เชธเช•เซเชฐเชฟเชฏ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ + เชเชธเชเชธเชกเซ€
  • เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธ เช…เชจเซ‡ เชฎเซ‡เชจเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชเชกเชฟเชŸเชฟเช‚เช—เชจเชพ เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชตเชฟเชตเชฟเชง เชตเชฟเช•เซƒเชคเชฟเช“

เชฎเชพเชฐเชพ เชตเซเชฏเช•เซเชคเชฟเชฒเช•เซเชทเซ€ เช…เชญเชฟเชชเซเชฐเชพเชฏเชฎเชพเช‚, เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชจ เชฎเชพเชŸเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชตเชฟเช•เชฒเซเชช เชนเชœเซ เชชเชฃ เชธเช‚เชฏเซ‹เชœเชจ เช›เซ‡ เชธเช•เซเชฐเชฟเชฏ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ + เชเชธเชเชธเชกเซ€. เช† เช…เชญเชฟเช—เชฎเชจเชพ เชซเชพเชฏเชฆเชพ เช›เซ‡:

  • เช–เชฐเซ‡เช–เชฐ เชเช• เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพ.
  • เช…เชงเชฟเช•เชพเชฐเซ‹เชจเซเช‚ เชตเชฟเชคเชฐเชฃ sudo เชšเซ‹เช•เซเช•เชธ เชธเซเชฐเช•เซเชทเชพ เชœเซ‚เชฅเชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เช‰เชฎเซ‡เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชจเซ€เชšเซ‡ เช†เชตเซ‡ เช›เซ‡.
  • เชตเชฟเชตเชฟเชง Linux เชธเชฟเชธเซเชŸเชฎเซ‹เชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเชฟเชธเซเชŸเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ OS เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เชคเชชเชพเชธเซ‹ เชฆเชพเช–เชฒ เช•เชฐเชตเซ€ เชœเชฐเซ‚เชฐเซ€ เชฌเชจเซ‡ เช›เซ‡.

เช†เชœเชจเชพ เชธเซเชฏเซเชŸเชจเซ‡ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ + เชเชธเชเชธเชกเซ€ เช…เชงเชฟเช•เชพเชฐ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชจ เชฎเชพเชŸเซ‡ sudo เช…เชจเซ‡ เชธเช‚เช—เซเชฐเชน ssh เชเช• เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช•เซ€เช“.
เชคเซ‡เชฅเซ€, เชนเซ‹เชฒ เชคเช‚เช— เชฎเซŒเชจเชฎเชพเช‚ เชฅเซ€เชœเซ€ เช—เชฏเซ‹, เช•เช‚เชกเช•เซเชŸเชฐเซ‡ เชคเซ‡เชจเซ‹ เชฆเช‚เชกเซ‹ เช‰เชญเซ‹ เช•เชฐเซเชฏเซ‹, เช…เชจเซ‡ เช“เชฐเซเช•เซ‡เชธเซเชŸเซเชฐเชพ เชคเซˆเชฏเชพเชฐ เชฅเชˆ เช—เชฏเซ‹.
เชœเชพเช“.

เช†เชชเซ‡เชฒ:
- เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชกเซ‹เชฎเซ‡เชจ testopf.local เชตเชฟเชจเซเชกเซ‹เช เชธเชฐเซเชตเชฐ 2012 R2 เชชเชฐ.
- เชธเซ‡เชจเซเชŸเซ‹เชธ 7 เชšเชฒเชพเชตเชคเชพ Linux เชนเซ‹เชธเซเชŸ
- เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช…เชงเชฟเช•เซƒเชคเชคเชพ เชเชธเชเชธเชกเซ€
เชฌเช‚เชจเซ‡ เช‰เช•เซ‡เชฒเซ‹ เชธเซเช•เซ€เชฎเชพเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‡ เช›เซ‡ เชธเช•เซเชฐเชฟเชฏ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชฌเชงเซเช‚ เชคเชชเชพเชธเซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเช›เซ€ เชœ เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€ เชฎเชพเชณเช–เชพเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ€เช เช›เซ€เช. เชนเซเช‚ เช เชจเซ‹เช‚เชงเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เชคเชฎเชพเชฎ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชฒเช•เซเชทเซเชฏเชพเช‚เช•เชฟเชค เช›เซ‡ เช…เชจเซ‡ เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชซเช•เซเชค เชœเชฐเซ‚เชฐเซ€ เชฒเช•เซเชทเชฃเซ‹ เช…เชจเซ‡ เชตเชฐเซเช—เซ‹ เช‰เชฎเซ‡เชฐเซ‹.

เช•เซเชฐเชฟเชฏเชพ 1: เชจเชฟเชฏเช‚เชคเซเชฐเชฃ sudo เชฆเซเชตเชพเชฐเชพ เชญเซ‚เชฎเชฟเช•เชพเช“ เชธเช•เซเชฐเชฟเชฏ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ.

เชธเชฐเซเช•เชฟเชŸ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชฐเชฟเชฏ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชจ เชคเชฎเชพเชฐเซ‡ เชจเชตเซ€เชจเชคเชฎ เชชเซเชฐเช•เชพเชถเชจ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ sudo - 1.8.27 เช†เชœเชฅเซ€. เชซเชพเช‡เชฒเชจเซ‡ เช…เชจเชชเซ…เช• เช•เชฐเซ‹ เช…เชจเซ‡ เช•เซ‰เชชเชฟ เช•เชฐเซ‹ schema.ActiveDirectory ./doc เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชกเซ‹เชฎเซ‡เชจ เชจเชฟเชฏเช‚เชคเซเชฐเช• เชธเซเชงเซ€. เชœเซเชฏเชพเช‚ เชซเชพเช‡เชฒ เช•เซ‰เชชเชฟ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชคเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เช…เชงเชฟเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€, เชšเชฒเชพเชตเซ‹:
ldifde -i -f schema.ActiveDirectory -c dc=X dc=testopf,dc=local
(เชคเชฎเชพเชฐเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชฌเชฆเชฒเชตเชพเชจเซเช‚ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚)
เช–เซ‹เชฒเซ‹ adsiedit.msc เช…เชจเซ‡ เชกเชฟเชซเซ‰เชฒเซเชŸ เชธเช‚เชฆเชฐเซเชญ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ‹:
เชกเซ‹เชฎเซ‡เชจเชจเชพ เชฐเซเชŸ เชชเชฐ เชเช• เชตเชฟเชญเชพเช— เชฌเชจเชพเชตเซ‹ เชธเซเชกเซ‹เชฐเซเชธ. (เชฌเซเชฐเซเชœเชฟเชฏเซ‹ เชนเช เซ€เชฒเชพเชชเชฃเซ‡ เชฆเชพเชตเซ‹ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡ เช† เชเช•เชฎเชฎเชพเช‚ เชฐเชพเช•เซเชทเชธ เช›เซ‡ เชเชธเชเชธเชกเซ€ เชตเชธเซเชคเซ เชถเซ‹เชงเซ‡ เช›เซ‡ sudoRole เชตเชธเซเชคเซเช“ เชœเซ‹ เช•เซ‡, เชตเชฟเช—เชคเชตเชพเชฐ เชกเซ€เชฌเช—เซ€เช‚เช— เชšเชพเชฒเซ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช…เชจเซ‡ เชฒเซ‹เช—เชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช•เซ‡ เชถเซ‹เชง เชธเชฎเช—เซเชฐ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชŸเซเชฐเซ€เชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€.)
เช…เชฎเซ‡ เชตเชฟเชญเชพเช—เชฎเชพเช‚ เชตเชฐเซเช— เชธเชพเชฅเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชชเซเชฐเชฅเชฎ เช‘เชฌเซเชœเซ‡เช•เซเชŸ เชฌเชจเชพเชตเซ€เช เช›เซ€เช sudoRole. เชจเชพเชฎ เชเช•เชฆเชฎ เชฎเชจเชธเซเชตเซ€ เชฐเซ€เชคเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชซเช•เซเชค เช…เชจเซเช•เซ‚เชณ เช“เชณเช– เชฎเชพเชŸเซ‡ เชœ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡.
เชธเซเช•เซ€เชฎเชพ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชฎเชพเช‚เชฅเซ€ เชธเช‚เชญเชตเชฟเชค เช‰เชชเชฒเชฌเซเชง เชฒเช•เซเชทเชฃเซ‹ เชชเซˆเช•เซ€, เชฎเซเช–เซเชฏ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เช›เซ‡:

  • sudoCommand โ€” เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เชฏเชœเชฎเชพเชจ เชชเชฐ เช•เชฏเชพ เช†เชฆเซ‡เชถเซ‹ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡.
  • sudoHost โ€” เชจเช•เซเช•เซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช† เชญเซ‚เชฎเชฟเช•เชพ เช•เชฏเชพ เชนเซ‹เชธเซเชŸเชจเซ‡ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡. เชคเชฐเซ€เช•เซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชฌเชงเชพ, เช…เชจเซ‡ เชจเชพเชฎ เชฆเซเชตเชพเชฐเชพ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชนเซ‹เชธเซเชŸ เชฎเชพเชŸเซ‡. เชฎเชพเชธเซเช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชชเชฃ เชถเช•เซเชฏ เช›เซ‡.
  • sudoUser - เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เชฏเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡ sudo.
    เชœเซ‹ เชคเชฎเซ‡ เชธเซเชฐเช•เซเชทเชพ เชœเซ‚เชฅเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชจเชพเชฎเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ โ€œ%โ€ เชšเชฟเชนเซเชจ เช‰เชฎเซ‡เชฐเซ‹. เชœเซ‹ เช—เซเชฐเซเชชเชจเชพ เชจเชพเชฎเชฎเชพเช‚ เชธเซเชชเซ‡เชธ เชนเซ‹เชฏ เชคเซ‹ เชšเชฟเช‚เชคเชพ เช•เชฐเชตเชพเชจเซ€ เช•เซ‹เชˆ เชตเชพเชค เชจเชฅเซ€. เชฒเซ‹เช— เชฆเซเชตเชพเชฐเชพ เช…เชญเชฟเชชเซเชฐเชพเชฏ เช†เชชเชคเชพ, เชœเช—เซเชฏเชพเช“เชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ เชฎเชฟเช•เซ‡เชจเชฟเชเชฎ เชฆเซเชตเชพเชฐเชพ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชเชธเชเชธเชกเซ€.

เช†เช‚เชคเชฐเชฐเชพเชทเซเชŸเซเชฐเซ€เชฏ เชธเซเชชเชฐเซเชงเชพเช“เชจเชพ เชตเชฟเชœเซ‡เชคเชพเช“ SSH เช…เชจเซ‡ sudo เชซเชฐเซ€เชฅเซ€ เชธเซเชŸเซ‡เชœ เชชเชฐ เช›เซ‡. เชชเซเชฐเชคเชฟเชทเซเช เชฟเชค เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช•เช‚เชกเช•เซเชŸเชฐเชจเซ€ เช†เช—เซ‡เชตเชพเชจเซ€ เชนเซ‡เช เชณ
เชซเชฟเช— 1. เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเชพ เชฐเซเชŸเชฎเชพเช‚ sudoers เชชเซ‡เชŸเชพเชตเชฟเชญเชพเช—เชฎเชพเช‚ sudoRole เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธ

เช†เช‚เชคเชฐเชฐเชพเชทเซเชŸเซเชฐเซ€เชฏ เชธเซเชชเชฐเซเชงเชพเช“เชจเชพ เชตเชฟเชœเซ‡เชคเชพเช“ SSH เช…เชจเซ‡ sudo เชซเชฐเซ€เชฅเซ€ เชธเซเชŸเซ‡เชœ เชชเชฐ เช›เซ‡. เชชเซเชฐเชคเชฟเชทเซเช เชฟเชค เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช•เช‚เชกเช•เซเชŸเชฐเชจเซ€ เช†เช—เซ‡เชตเชพเชจเซ€ เชนเซ‡เช เชณ
เช†เช•เซƒเชคเชฟ 2. เชธเซเชกเซ‹เชฐเซ‹เชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚ เช‰เชฒเซเชฒเซ‡เช–เชฟเชค เชธเซเชฐเช•เซเชทเชพ เชœเซ‚เชฅเซ‹เชฎเชพเช‚ เชธเชญเซเชฏเชชเชฆ.

เชจเซ€เชšเซ‡เชจเซเช‚ เชธเซ‡เชŸเช…เชช Linux เชฌเชพเชœเซ เชชเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.
เชซเชพเชˆเชฒเชฎเชพเช‚ /etc/nsswitch.conf เชซเชพเช‡เชฒเชจเชพ เช…เช‚เชคเชฎเชพเช‚ เชฒเซ€เชŸเซ€ เช‰เชฎเซ‡เชฐเซ‹:

sudoers: files sss

เชซเชพเชˆเชฒเชฎเชพเช‚ /etc/sssd/sssd.conf เชตเชฟเชญเชพเช—เชฎเชพเช‚ [sssd] เชธเซ‡เชตเชพเช“เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ‹ sudo

cat /etc/sssd/sssd.conf | grep services
services = nss, pam, sudo

เชคเชฎเชพเชฎ เช•เชพเชฎเช—เซ€เชฐเซ€ เชชเช›เซ€, เชคเชฎเชพเชฐเซ‡ sssd เชกเชฟเชฎเชจ เช•เซ‡เชถ เชธเชพเชซ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชธเซเชตเชšเชพเชฒเชฟเชค เช…เชชเชกเซ‡เชŸ เชฆเชฐ 6 เช•เชฒเชพเช•เซ‡ เชฅเชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชคเซ‡เชจเซ‡ เชนเชฎเชฃเชพเช‚ เชœเซ‹เชˆเช เชคเซเชฏเชพเชฐเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เช†เชŸเชฒเซ€ เชฒเชพเช‚เชฌเซ€ เชฐเชพเชน เชœเซ‹เชตเซ€ เชœเซ‹เชˆเช?

sss_cache -E

เชคเซ‡ เช˜เชฃเซ€เชตเชพเชฐ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เช•เซ‡เชถ เชธเชพเชซ เช•เชฐเชตเชพเชฅเซ€ เชฎเชฆเชฆ เชฎเชณเชคเซ€ เชจเชฅเซ€. เชชเช›เซ€ เช…เชฎเซ‡ เชธเซ‡เชตเชพ เชฌเช‚เชง เช•เชฐเซ€เช เช›เซ€เช, เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเชพเชซ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชธเซ‡เชตเชพ เชถเชฐเซ‚ เช•เชฐเซ€เช เช›เซ€เช.

service sssd stop
rm -rf /var/lib/sss/db/*
service sssd start

เช…เชฎเซ‡ เชชเซเชฐเชฅเชฎ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชคเชฐเซ€เช•เซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชธเซเชกเซ‹ เชนเซ‡เช เชณ เชคเซ‡เชจเซ€ เชฎเชพเชŸเซ‡ เชถเซเช‚ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เชคเซ‡ เชคเชชเชพเชธเซ‹:

su user1
[user1@testsshad log]$ id
uid=1109801141(user1) gid=1109800513(domain users) groups=1109800513(domain users),1109801132(admins_)
[user1@testsshad log]$ sudo -l
[sudo] password for user1:
Matching Defaults entries for user1 on testsshad:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User user1 may run the following commands on testsshad:
    (root) /usr/bin/ls, /usr/bin/cat

เช…เชฎเซ‡ เช…เชฎเชพเชฐเชพ เชฌเซ€เชœเชพ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชธเชพเชฅเซ‡ เชคเซ‡ เชœ เช•เชฐเซ€เช เช›เซ€เช:

su user2
[user2@testsshad log]$ id
uid=1109801142(user2) gid=1109800513(domain users) groups=1109800513(domain users),1109801138(sudo_root)
[user2@testsshad log]$ sudo -l
Matching Defaults entries for user2 on testsshad:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin:/bin:/usr/sbin:/usr/bin

User user2 may run the following commands on testsshad:
    (root) ALL

เช† เช…เชญเชฟเช—เชฎ เชคเชฎเชจเซ‡ เชตเชฟเชตเชฟเชง เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเซ‚เชฅเซ‹ เชฎเชพเชŸเซ‡ เชธเซเชกเซ‹ เชญเซ‚เชฎเชฟเช•เชพเช“เชจเซ‡ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ ssh เช•เซ€เชจเซ‹ เชธเช‚เช—เซเชฐเชน เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—

เชธเซเช•เซ€เชฎเชจเชพ เชฅเซ‹เชกเชพ เชตเชฟเชธเซเชคเชฐเชฃ เชธเชพเชฅเซ‡, ssh เช•เซ€เชจเซ‡ เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฏเซเชเชฐ เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซเชธเชฎเชพเช‚ เชธเซเชŸเซ‹เชฐ เช•เชฐเชตเซ€ เช…เชจเซ‡ Linux เชนเซ‹เชธเซเชŸ เชชเชฐ เช…เชงเชฟเช•เซƒเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เช›เซ‡.

sssd เชฆเซเชตเชพเชฐเชพ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชนเซ‹เชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡.
เชชเชพเชตเชฐเชถเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เชตเชฟเชถเซ‡เชทเชคเชพ เช‰เชฎเซ‡เชฐเซ‹.
AddsshPublicKeyAttribute.ps1เชซเช‚เช•เซเชถเชจ เชจเซเชฏเซ‚-เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเช†เชˆเชกเซ€ {
$Prefix="1.2.840.113556.1.8000.2554"
$GUID=[System.Guid]::NewGuid().ToString()
$Parts=@()
$Parts+=[UInt64]::Parse($guid.SubString(0,4),โ€œAllowHexSpecifierโ€)
$Parts+=[UInt64]::Parse($guid.SubString(4,4),โ€œAllowHexSpecifierโ€)
$Parts+=[UInt64]::Parse($guid.SubString(9,4),โ€œAllowHexSpecifierโ€)
$Parts+=[UInt64]::Parse($guid.SubString(14,4),โ€œAllowHexSpecifierโ€)
$Parts+=[UInt64]::Parse($guid.SubString(19,4),โ€œAllowHexSpecifierโ€)
$Parts+=[UInt64]::Parse($guid.SubString(24,6),โ€œAllowHexSpecifierโ€)
$Parts+=[UInt64]::Parse($guid.SubString(30,6),โ€œAllowHexSpecifierโ€)
$oid=[String]::Format(ยซ{0}.{1}.{2}.{3}.{4}.{5}.{6}.{7}ยป,$prefix,$Parts[0],
$Parts[1],$Parts[2],$Parts[3],$Parts[4],$Parts[5],$Parts[6])
$oid
}
$schemaPath = (Get-ADrootDSE).schemaNamingContext
$oid = เชจเซเชฏเซ‚-เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเช†เชˆเชกเซ€
$attributes = @{
lDAPDisplayName = 'sshPublicKey';
attributeId = $oid;
oMSyntax = 22;
attributeSyntax = "2.5.5.5";
isSingleValued = $true;
adminDescription = 'SSH เชฒเซ‹เช—เชฟเชจ เชฎเชพเชŸเซ‡ เชฏเซเชเชฐ เชชเชฌเซเชฒเชฟเช• เช•เซ€';
}

เชจเชตเซเช‚-ADObject -เชจเชพเชฎ sshPublicKey -Type attributeSchema -Path $schemapath -OtherAttributes $attributes
$userSchema = get-adobject -SearchBase $schemapath -Filter 'name -eq "user"'
$userSchema | เชธเซ‡เชŸ-ADObject - @{mayContain = 'sshPublicKey'} เช‰เชฎเซ‡เชฐเซ‹

เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸ เช‰เชฎเซ‡เชฐเซเชฏเชพ เชชเช›เซ€, เชคเชฎเชพเชฐเซ‡ เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชกเซ‹เชฎเซ‡เชจ เชธเชฐเซเชตเชฟเชธเชจเซ‡ เชฐเชฟเชธเซเชŸเชพเชฐเซเชŸ เช•เชฐเชตเซ€ เชชเชกเชถเซ‡.
เชšเชพเชฒเซ‹ เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เช. เช…เชฎเซ‡ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เช•เซ‹เชˆเชชเชฃ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ ssh เช•เชจเซ‡เช•เซเชถเชจ เชฎเชพเชŸเซ‡ เช•เซ€ เชœเซ‹เชกเซ€ เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ€เชถเซเช‚.
เช…เชฎเซ‡ เชชเซเชŸเซเชŸเซ€เชœเซ‡เชจ เชฒเซ‹เช‚เชš เช•เชฐเซ€เช เช›เซ€เช, "เชœเชจเชฐเซ‡เชŸ" เชฌเชŸเชจ เชฆเชฌเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชฎเชพเช‰เชธเชจเซ‡ เช–เชพเชฒเซ€ เชตเชฟเชธเซเชคเชพเชฐเชฎเชพเช‚ เช–เชธเซ‡เชกเซ€เช เช›เซ€เช.
เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชชเซ‚เชฐเซเชฃ เชฅเชฏเชพ เชชเช›เซ€, เช…เชฎเซ‡ เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช…เชจเซ‡ เช–เชพเชจเช—เซ€ เช•เซ€เชจเซ‡ เชธเชพเชšเชตเซ€ เชถเช•เซ€เช เช›เซ€เช, เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช•เซ€เชจเซ‡ เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฏเซเชเชฐ เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸ เชชเชฐ เช…เชชเชฒเซ‹เชก เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช…เชจเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เช†เชจเช‚เชฆ เชฒเชˆ เชถเช•เซ€เช เช›เซ€เช. เชœเซ‹ เช•เซ‡, เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— "OpenSSH authorized_keys เชซเชพเช‡เชฒเชฎเชพเช‚ เชชเซ‡เชธเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช•เซ€:".
เช†เช‚เชคเชฐเชฐเชพเชทเซเชŸเซเชฐเซ€เชฏ เชธเซเชชเชฐเซเชงเชพเช“เชจเชพ เชตเชฟเชœเซ‡เชคเชพเช“ SSH เช…เชจเซ‡ sudo เชซเชฐเซ€เชฅเซ€ เชธเซเชŸเซ‡เชœ เชชเชฐ เช›เซ‡. เชชเซเชฐเชคเชฟเชทเซเช เชฟเชค เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช•เช‚เชกเช•เซเชŸเชฐเชจเซ€ เช†เช—เซ‡เชตเชพเชจเซ€ เชนเซ‡เช เชณ
เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชตเชฟเชถเซ‡เชทเชคเชพเชฎเชพเช‚ เช•เซ€ เช‰เชฎเซ‡เชฐเซ‹.
เชตเชฟเช•เชฒเซเชช 1 - GUI:
เช†เช‚เชคเชฐเชฐเชพเชทเซเชŸเซเชฐเซ€เชฏ เชธเซเชชเชฐเซเชงเชพเช“เชจเชพ เชตเชฟเชœเซ‡เชคเชพเช“ SSH เช…เชจเซ‡ sudo เชซเชฐเซ€เชฅเซ€ เชธเซเชŸเซ‡เชœ เชชเชฐ เช›เซ‡. เชชเซเชฐเชคเชฟเชทเซเช เชฟเชค เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เช•เช‚เชกเช•เซเชŸเชฐเชจเซ€ เช†เช—เซ‡เชตเชพเชจเซ€ เชนเซ‡เช เชณ
เชตเชฟเช•เชฒเซเชช 2 - เชชเชพเชตเชฐเชถเซ‡เชฒ:
get-aduser user1 | set-aduser -add @{sshPublicKey = 'AAAAB...XAVnX9ZRJJ0p/Q=='}
เชคเซ‡เชฅเซ€, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชนเชพเชฒเชฎเชพเช‚ เช›เซ‡: sshPublicKey เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸ เชญเชฐเซ‡เชฒ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ, เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชฎเชพเชŸเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชชเซเชŸเซเชŸเซ€ เช•เซเชฒเชพเชฏเช‚เชŸ. เชคเซเชฏเชพเช‚ เชเช• เชจเชพเชจเซ‹ เชฎเซเชฆเซเชฆเซ‹ เชฐเชนเซ‡ เช›เซ‡: เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“เชฎเชพเช‚เชฅเซ€ เช†เชชเชฃเชจเซ‡ เชœเซ‹เชˆเชคเซ€ เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช•เซ€ เช•เชพเชขเชตเชพ เชฎเชพเชŸเซ‡ sshd เชกเชฟเชฎเชจเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฆเชฌเชพเชฃ เช•เชฐเชตเซเช‚. เชฌเซเชฐเซเชœเชฟเชฏเซ‹ เชˆเชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชฎเชณเซ‡เชฒเซ€ เชเช• เชจเชพเชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช†เชจเซ‹ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชธเชพเชฎเชจเซ‹ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

cat /usr/local/bin/fetchSSHKeysFromLDAP
#!/bin/sh
ldapsearch -h testmdt.testopf.local -xb "dc=testopf,dc=local" '(sAMAccountName='"${1%@*}"')' -D [email protected] -w superSecretPassword 'sshPublicKey' | sed -n '/^ /{H;d};/sshPublicKey:/x;$g;s/n *//g;s/sshPublicKey: //gp'

เช…เชฎเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชชเชฐเชตเชพเชจเช—เซ€เช“ เชฐเซเชŸ เชฎเชพเชŸเซ‡ 0500 เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ€เช เช›เซ€เช.

chmod 0500  /usr/local/bin/fetchSSHKeysFromLDAP

เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชเช•เชพเช‰เชจเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฒเชกเชพเช‡เชจเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ เช…เชงเชฟเช•เชพเชฐเซ‹เชจเชพ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเซ‡เชŸ เชธเชพเชฅเซ‡ เชเช• เช…เชฒเช— เช–เชพเชคเซเช‚ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.
เชฐเชพเช‡เชŸเซเชธ เชธเซ‡เชŸ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚ เชคเซ‡เชจเชพ เชถเซเชฆเซเชง เชธเซเชตเชฐเซ‚เชชเชฎเชพเช‚ เชชเชพเชธเชตเชฐเซเชกเชจเซ€ เช•เซเชทเชฃเชฅเซ€ เชนเซเช‚ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชฐเซ€เชคเซ‡ เช–เซ‚เชฌ เชœ เชฎเซ‚เช‚เชเชตเชฃเชฎเชพเช‚ เชนเชคเซ‹.
เช‰เช•เซ‡เชฒเซ‹ เชตเชฟเช•เชฒเซเชช:

  • เชนเซเช‚ เชชเชพเชธเชตเชฐเซเชกเชจเซ‡ เช…เชฒเช— เชซเชพเช‡เชฒเชฎเชพเช‚ เชธเชพเชšเชตเซเช‚ เช›เซเช‚:
    echo -n Supersecretpassword > /usr/local/etc/secretpass

  • เชฎเซ‡เช‚ เชฐเซเชŸ เชฎเชพเชŸเซ‡ เชซเชพเช‡เชฒ เชชเชฐเชตเชพเชจเช—เซ€เช“ 0500 เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ€ เช›เซ‡
    chmod 0500 /usr/local/etc/secretpass

  • ldapsearch เชฒเซ‹เชจเซเชš เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฌเชฆเชฒเชตเซเช‚: เชชเชฐเชฟเชฎเชพเชฃ -w superSecretPassword เชนเซเช‚ เชคเซ‡เชจเซ‡ เชฌเชฆเชฒเซเช‚ เช›เซเช‚ -y/usr/local/etc/secretpass

เช†เชœเชจเชพ เชธเซเชฏเซเชŸเชฎเชพเช‚ เช…เช‚เชคเชฟเชฎ เชคเชพเชฐ sshd_config เชธเช‚เชชเชพเชฆเชจ เช›เซ‡

cat /etc/ssh/sshd_config | egrep -v -E "#|^$" | grep -E "AuthorizedKeysCommand|PubkeyAuthe"
PubkeyAuthentication yes
AuthorizedKeysCommand /usr/local/bin/fetchSSHKeysFromLDAP
AuthorizedKeysCommandUser root

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เช…เชฎเชจเซ‡ ssh เช•เซเชฒเชพเชฏเช‚เชŸเชฎเชพเช‚ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เซ€ เช…เชงเชฟเช•เซƒเชคเชคเชพ เชธเชพเชฅเซ‡ เชจเซ€เชšเซ‡เชจเซ‹ เช•เซเชฐเชฎ เชฎเชณเซ‡ เช›เซ‡:

  1. เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชคเซ‡เชจเชพ เชฒเซ‹เช—เชฟเชจเชจเซ‡ เชธเซ‚เชšเชตเซ€เชจเซ‡ เชธเชฐเซเชตเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏ เช›เซ‡.
  2. sshd เชกเชฟเชฎเชจ, เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฆเซเชตเชพเชฐเชพ, เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชตเชฟเชถเซ‡เชทเชคเชพเชฎเชพเช‚เชฅเซ€ เชธเชพเชฐเซเชตเชœเชจเชฟเช• เช•เซ€ เชฎเซ‚เชฒเซเชฏ เช•เชพเชขเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช…เชงเชฟเช•เซƒเชคเชคเชพ เช•เชฐเซ‡ เช›เซ‡.
  3. sssd เชกเชฟเชฎเชจ เชœเซ‚เชฅ เชธเชญเซเชฏเชชเชฆ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชตเชงเซ เชชเซเชฐเชฎเชพเชฃเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชงเซเชฏเชพเชจ เช†เชชเซ‹! เชœเซ‹ เช† เช—เซ‹เช เชตเซ‡เชฒ เชจเชฅเซ€, เชคเซ‹ เช•เซ‹เชˆเชชเชฃ เชกเซ‹เชฎเซ‡เชจ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ‡ เชนเซ‹เชธเซเชŸเชจเซ€ เชเช•เซเชธเซ‡เชธ เชนเชถเซ‡.
  4. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ sudo เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‹ เช›เซ‹, เชคเซเชฏเชพเชฐเซ‡ sssd เชกเชฟเชฎเชจ เชญเซ‚เชฎเชฟเช•เชพเช“ เชฎเชพเชŸเซ‡ เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชถเซ‹เชงเซ‡ เช›เซ‡. เชœเซ‹ เชญเซ‚เชฎเชฟเช•เชพเช“ เชนเชพเชœเชฐ เชนเซ‹เชฏ, เชคเซ‹ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“ เช…เชจเซ‡ เชœเซ‚เชฅ เชธเชญเซเชฏเชชเชฆ เชคเชชเชพเชธเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชœเซ‹ sudoRoles เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเซ‚เชฅเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช—เซ‹เช เชตเซ‡เชฒ เชนเซ‹เชฏ)

เช•เซเชฒ.

เช†เชฎ, เช•เซ€เช“ เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฏเซเชเชฐ เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซเชธ, เชธเซเชกเซ‹ เชชเชฐเชตเชพเชจเช—เซ€เช“เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฅเชพเชฏ เช›เซ‡ - เชคเซ‡เชตเซ€ เชœ เชฐเซ€เชคเซ‡, เชกเซ‹เชฎเซ‡เชจ เชเช•เชพเช‰เชจเซเชŸเซเชธ เชฆเซเชตเชพเชฐเชพ เชฒเชฟเชจเช•เซเชธ เชนเซ‹เชธเซเชŸเชจเซ€ เชเช•เซเชธเซ‡เชธ เชเช•เซเชŸเชฟเชต เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชœเซ‚เชฅเชฎเชพเช‚ เชธเชญเซเชฏเชชเชฆ เชคเชชเชพเชธเซ€เชจเซ‡ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
เช•เช‚เชกเช•เซเชŸเชฐเชจเชพ เชฆเช‚เชกเชพเชจเซ‹ เช…เช‚เชคเชฟเชฎ เชคเชฐเช‚เช— - เช…เชจเซ‡ เชนเซ‹เชฒ เช†เชฆเชฐเชฃเซ€เชฏ เชฎเซŒเชจเชฎเชพเช‚ เชฅเซ€เชœเซ€ เชœเชพเชฏ เช›เซ‡.

เชฒเซ‡เช–เชฟเชคเชฎเชพเช‚ เชตเชชเชฐเชพเชคเชพ เชธเช‚เชธเชพเชงเชจเซ‹:

เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฆเซเชตเชพเชฐเชพ เชธเซเชกเซ‹
เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฆเซเชตเชพเชฐเชพ Ssh เช•เซ€
เชชเชพเชตเชฐเชถเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸ, เชธเช•เซเชฐเชฟเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชธเซเช•เซ€เชฎเชพเชฎเชพเช‚ เชเช• เชตเชฟเชถเซ‡เชทเชคเชพ เช‰เชฎเซ‡เชฐเซ€เชจเซ‡
sudo เชธเซเชฅเชฟเชฐ เชชเซเชฐเช•เชพเชถเชจ

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹