рд▓рд┐рдирдХреНрд╕ рдорд┐рдВрдЯ рдЖрдгрд┐ рдПрд▓рд┐рдореЗрдВрдЯрд░реА рдУрдПрд╕рд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рдгрд╛рд░реА sudo рд░реВрдЯ рднреЗрджреНрдпрддрд╛

рдЙрдкрдпреБрдХреНрддрддрд╛ рдордзреНрдпреЗ рд╕реБрдбреЛ, рдЗрддрд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рддреАрдиреЗ рдЖрджреЗрд╢рд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдУрд│рдЦрд▓реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ (рд╕реАрд╡реНрд╣реАрдИ- 2019-18634), рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рддреБрдордЪреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд░реВрдЯ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдкрд░реНрдпрдВрдд рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. /etc/sudoers рдлрд╛рдИрд▓рдордзреАрд▓ "pwfeedback" рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░рддрд╛рдирд╛ sudo 1.7.1 рд░рд┐рд▓реАрдЭ рдЭрд╛рд▓реНрдпрд╛рдкрд╛рд╕реВрдирдЪ рд╕рдорд╕реНрдпрд╛ рджрд┐рд╕реВрди рдпреЗрддреЗ, рдЬреА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдЕрдХреНрд╖рдо рдХреЗрд▓реА рдЬрд╛рддреЗ рдкрд░рдВрддреБ Linux Mint рдЖрдгрд┐ Elementary OS рд╕рд╛рд░рдЦреНрдпрд╛ рдХрд╛рд╣реА рд╡рд┐рддрд░рдгрд╛рдВрд╡рд░ рд╕рдХреНрд╖рдо рдХреЗрд▓реА рдЬрд╛рддреЗ. рд░рд┐рд▓реАрдЭрдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реА рдЖрд╣реЗ рд╕реБрдбреЛ 1.8.31, рдХрд╛рд╣реА рддрд╛рд╕рд╛рдВрдкреВрд░реНрд╡реА рдкреНрд░рдХрд╛рд╢рд┐рдд. рд╡рд┐рддрд░рдг рдХрд┐рдЯрдордзреНрдпреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рдХрд╛рдпрдо рдЖрд╣реЗ.

тАЬpwfeedbackтАЭ рдкрд░реНрдпрд╛рдп рдкрд╛рд╕рд╡рд░реНрдб рдЯрд╛рдХрддрд╛рдирд╛ рдкреНрд░рддреНрдпреЗрдХ рдПрдВрдЯрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд░реНрдгрд╛рдирдВрддрд░ тАЬ*тАЭ рд╡рд░реНрдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдХрд░рддреЛ. рдХрд╛рд░рдг рдЪреБрдХрд╛ tgetpass.c рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ getln() рдлрдВрдХреНрд╢рдирдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ, рдорд╛рдирдХ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо (stdin) рджреНрд╡рд╛рд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рдкрд╛рд╕ рдХреЗрд▓реЗрд▓реА рдЦреВрдк рдореЛрдареА рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдЯрдк рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрдлрд░рдордзреНрдпреЗ рдмрд╕реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рд╕реНрдЯреЕрдХрд╡рд░реАрд▓ рдЗрддрд░ рдбреЗрдЯрд╛ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдЯ рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рд╕реБрдбреЛ рдХреЛрдб рд░реВрдЯ рдореНрд╣рдгреВрди рдЪрд╛рд▓рд╡рддрд╛рдирд╛ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рд╣реЛрддреЛ.

рд╕рдорд╕реНрдпреЗрдЪреЗ рд╕рд╛рд░ рд╣реЗ рдЖрд╣реЗ рдХреА рдЗрдирдкреБрдЯ рджрд░рдореНрдпрд╛рди рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг ^U (рд▓рд╛рдЗрди рдХреНрд▓рд┐рдЕрд░рд┐рдВрдЧ) рд╡рд╛рдкрд░рддрд╛рдирд╛ рдЖрдгрд┐ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рди рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рдЖрдЙрдЯрдкреБрдЯ "*" рд╡рд░реНрдг рд╕рд╛рдл рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдХреЛрдб рдЙрдкрд▓рдмреНрдз рдмрдлрд░ рдЖрдХрд╛рд░рд╛рд╡рд░реАрд▓ рдбреЗрдЯрд╛ рд░реАрд╕реЗрдЯ рдХрд░рддреЛ, рдкрд░рдВрддреБ рдЕрд╕реЗ рд╣реЛрдд рдирд╛рд╣реА. рдкреЙрдЗрдВрдЯрд░рд▓рд╛ рдмрдлрд░рдордзреАрд▓ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреАрдХрдбреЗ рдкрд░рдд рдХрд░рд╛. рд╢реЛрд╖рдгрд╛рд▓рд╛ рд╣рд╛рддрднрд╛рд░ рд▓рд╛рд╡рдгрд╛рд░рд╛ рдЖрдгрдЦреА рдПрдХ рдШрдЯрдХ рдореНрд╣рдгрдЬреЗ рдЬреЗрд╡реНрд╣рд╛ рдЯрд░реНрдорд┐рдирд▓рд╡рд░реВрди рдбреЗрдЯрд╛ рдпреЗрдд рдирд╛рд╣реА, рддрд░ рдЗрдирдкреБрдЯ рдкреНрд░рд╡рд╛рд╣рд╛рджреНрд╡рд╛рд░реЗ рдпреЗрддреЛ рддреЗрд╡реНрд╣рд╛ "рдкреАрдбрдмреНрд▓реНрдпреВрдлреАрдбрдмреЕрдХ" рдореЛрдб рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдЕрдХреНрд╖рдо рди рдХрд░рдгреЗ (рд╣реА рддреНрд░реБрдЯреА рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рддреНрд░реБрдЯреАрд╕рд╛рдареА рдкрд░рд┐рд╕реНрдерд┐рддреА рдирд┐рд░реНрдорд╛рдг рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд┐рд╕реНрдЯрдорд╡рд░ рджрд┐рд╢рд╛рд╣реАрди рдЕрдирд╛рдорд┐рдд рдЪреЕрдиреЗрд▓ рд╡рд╛рдЪрд▓реЗрд▓реНрдпрд╛ рдЪреЕрдиреЗрд▓рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛рдирд╛ рддреНрд░реБрдЯреА рдпреЗрддреЗ).

рд╕реНрдЯреЕрдХрд╡рд░реАрд▓ рдбреЗрдЯрд╛ рдУрд╡реНрд╣рд░рд░рд╛рдпрдЯрд┐рдВрдЧрд╡рд░ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рдЪреЗ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреНрдпрд╛рд▓рд╛ рд░реВрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдЪреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдгрд╛рд░реЗ рд╢реЛрд╖рдг рддрдпрд╛рд░ рдХрд░рдгреЗ рдХрдареАрдг рдирд╛рд╣реА. sudoers рдордзреАрд▓ sudo рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░реВрди, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕рдорд╕реНрдпреЗрдЪреЗ рд╢реЛрд╖рдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╕рдорд╕реНрдпрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдЦрд╛рддреНрд░реА рдХрд░рд╛ рдХреА /etc/sudoers рдордзреНрдпреЗ "pwfeedback" рд╕реЗрдЯрд┐рдВрдЧ рдирд╛рд╣реА рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреЗ рдЕрдХреНрд╖рдо рдХрд░рд╛ (тАЬDefault !pwfeedbackтАЭ). рдХрд╛рд╣реА рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ рдХрд╛ рддреЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдХреЛрдб рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛:

$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S рдЖрдпрдбреА
рдкрд╛рд╕рд╡рд░реНрдб: рд╕реЗрдЧрдореЗрдВрдЯреЗрд╢рди рдлреЙрд▓реНрдЯ

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛