sudo เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจœเฉ‹ เจตเจฟเจธเจผเฉ‡เจธเจผ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ เจตเจงเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ

เจธเจนเฉ‚เจฒเจค เจตเจฟเฉฑเจš เจธเฉเจกเฉ‹, เจฆเฉ‚เจœเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจคเจฐเจซเฉ‹เจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ‡ เจ…เจฎเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ (CVE-2019-14287), เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจธเฉ‚เจกเฉ‹เจฐ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจจเจฟเจฏเจฎ เจนเจจ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ†เจ—เจฟเจ† เจฆเฉ‡เจฃ เจตเจพเจฒเฉ‡ เจ•เฉ€เจตเจฐเจก "ALL" เจฆเฉ‡ เจฌเจพเจ…เจฆ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ†เจˆเจกเฉ€ เจšเฉˆเฉฑเจ• เจธเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจจเจพเจฒ เจšเฉฑเจฒเจฃ เจฆเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจฎเจจเจพเจนเฉ€ เจนเฉˆ ("... (เจธเจญ, ! เจฐเฉ‚เจŸ) ...")เฅค เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจกเจฟเจซเฉŒเจฒเจŸ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ€เฅค

เจœเฉ‡เจ•เจฐ sudoers เจ•เฉ‹เจฒ เจตเฉˆเจง เจนเฉˆ, เจชเจฐ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจนเฉ€ เจฆเฉเจฐเจฒเฉฑเจญ, เจจเจฟเจฏเจฎ เจœเฉ‹ เจฐเฉ‚เจŸ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ UID เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจ‡เฉฑเจ• เจนเจฎเจฒเจพเจตเจฐ เจœเจฟเจธ เจ•เฉ‹เจฒ เจ‡เจธ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจนเฉˆ, เจธเจฅเจพเจชเจค เจชเจพเจฌเฉฐเจฆเฉ€ เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจšเจฒเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐ. เจธเฉ€เจฎเจพ เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจจ เจฒเจˆ, เจธเจฟเจฐเจซเจผ UID โ€œ-1โ€ เจœเจพเจ‚ โ€œ4294967295โ€ เจจเจพเจฒ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจจเจฟเจฐเจฆเจฟเจธเจผเจŸ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹, เจœเจฟเจธ เจจเจพเจฒ เจ‡เจธเจจเฉ‚เฉฐ UID 0 เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเฉ‡เจ•เจฐ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจจเจฟเจฏเจฎ เจนเฉˆ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจฏเฉ‚เจœเจผเจฐ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ UID เจ…เจงเฉ€เจจ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ /usr/bin/id เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

myhost ALL = (ALL, !root) /usr/bin/id

เจœเจพเจ‚ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจช เจœเฉ‹ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ–เจพเจธ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเฉŒเจฌ เจฒเจˆ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

myhost bob = (ALL, !root) /usr/bin/id

เจ‰เจชเจญเฉ‹เจ—เจคเจพ "sudo -u '#-1' id" เจจเฉ‚เฉฐ เจšเจฒเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจธเจชเฉฑเจธเจผเจŸ เจฎเจจเจพเจนเฉ€ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, /usr/bin/id เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฐเฉ‚เจŸ เจตเจœเฉ‹เจ‚ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจธเจฎเฉฑเจธเจฟเจ† "-1" เจœเจพเจ‚ "4294967295" เจตเจฟเจธเจผเฉ‡เจธเจผ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจจเจœเจผเจฐเจ…เฉฐเจฆเจพเจœเจผ เจ•เจฐเจจ เจ•เจพเจฐเจจ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ UID เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡, เจชเจฐ เจ•เจฟเจ‰เจ‚เจ•เจฟ sudo เจ–เฉเจฆ เจนเฉ€ เจฐเฉ‚เจŸ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ, UID เจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‡ เจฌเจฟเจจเจพเจ‚, เจŸเจพเจฐเจ—เฉ‡เจŸ เจ•เจฎเจพเจ‚เจก เจตเฉ€ เจนเฉˆ เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจจเจพเจฒ เจฒเจพเจ‚เจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

SUSE เจ…เจคเฉ‡ openSUSE เจตเฉฐเจกเจพเจ‚ เจตเจฟเฉฑเจš, เจจเจฟเจฏเจฎ เจตเจฟเฉฑเจš "NOPASSWD" เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚, เจ‡เฉฑเจ• เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจนเฉˆ เจธเจผเฉ‹เจธเจผเจฃเจฏเฉ‹เจ— เจจเจนเฉ€เจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ sudoers เจตเจฟเฉฑเจš "เจกเจฟเจซเจพเจฒเจŸ เจŸเจพเจฐเจ—เจฟเจŸเจชเฉ€เจกเจฌเจฒเจฏเฉ‚" เจฎเฉ‹เจก เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจชเจพเจธเจตเจฐเจก เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง UID เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจฟเจธเจผเจพเจจเจพ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเจพ เจชเจพเจธเจตเจฐเจก เจฆเจฐเจœ เจ•เจฐเจจ เจฒเจˆ เจชเฉเฉฑเจ›เจฆเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ, เจนเจฎเจฒเจพ เจคเจพเจ‚ เจนเฉ€ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจซเจพเจฐเจฎ เจฆเฉ‡ เจจเจฟเจฏเจฎ เจนเจจ:

myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id

เจฐเจฟเจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจฎเฉเฉฑเจฆเจพ เจธเฉเจกเฉ‹ 1.8.28. เจซเจฟเจ•เจธ เจซเจพเจฐเจฎ เจตเจฟเจš เจตเฉ€ เจ‰เจชเจฒเจฌเจง เจนเฉˆ เจชเฉˆเจš. เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจ•เจฟเฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจคเฉˆเจ… เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจกเฉ‡เจฌเฉ€เจ…เจจ, Arch เจฒเฉ€เจจเจ•เจธ, เจธเฉ‚เจธเฉ‡/เจ“เจชเจจเจธเฉ‚เจธเฉ‡, เจ‰เจฌเจคเฉ‚เฉฐ, เจœเฉˆเจจเจคเฉ‚ ะธ เจซเฉเจฐเฉ€เจธเจฌเฉˆเจก. เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจธเจฎเฉฑเจธเจฟเจ† เจ…เจœเฉ‡ เจตเฉ€ เจธเจฅเจฟเจฐ เจฐเจนเจฟเฉฐเจฆเฉ€ เจนเฉˆ RHEL ะธ เจซเฉ‡เจกเฉ‹เจฐเจพ. เจเจชเจฒ เจฆเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค

เจธเจฐเฉ‹เจค: opennet.ru

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