рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдмрд╕ рдЕрдкрдиреЗ рдкреИрд░ рдХреА рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рдкрд╛рдиреА рдореЗрдВ рдбреБрдмреЛ рджрд┐рдпрд╛ рдФрд░ рдЙрд╕реА рд╕рдордп рджреЗрдЦрд╛ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рдпреВрдЯреАрдПрд╕ рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рдерд╛ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдВрдЧреЗред
рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрдмрдВрдзреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рдмреАрдЪ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдЖрдИрдбреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА, рдХреНрд░рдорд╢рдГ) рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдФрд░ рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд╛-рд╕рдВрдмрдВрдзреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдПрдХ рдореМрд▓рд┐рдХ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВред
рд▓рд┐рдирдХреНрд╕ рдкрд░, рдпреЗ рдЖрдИрдбреА рдХреЗрд╡рд▓ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд / рд╕рдВрд╕рд╛рдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЖрдИрдбреА рд╕реЗ рдЬреБрдбрд╝реА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди
рд╣рдо рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╡рд╣реА рдХрд╛рд░реНрдп рд╕рдореВрд╣ рдЖрдИрдбреА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐ рд╣реИред рдлрд┐рд░ рдЕрд▓рдЧрд╛рд╡ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдИрдбреА рдХреЗ рдПрдХ рдФрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, $pid
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди P рдореЗрдВ root
(UID 0) рд╕реЗ рдЪрд▓ рд╕рдХрддреА рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди Q рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдЪрд╛рдирдХ proxy
(UID 13) рд╕реЗ рдЪрд▓рддреА рд░рд╣рддреА рд╣реИ ред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ! рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдХрд╕реНрдЯрдо рдиреЗрдорд╕реНрдкреЗрд╕ (рдорд╛рддрд╛-рдкрд┐рддрд╛) рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╢реВрдиреНрдп рдпрд╛ рдЕрдзрд┐рдХ рдЪрд╛рдЗрд▓реНрдб рдиреЗрдорд╕реНрдкреЗрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмрдЪреНрдЪреЗ рдХреЗ рдирд╛рдорд╕реНрдерд╛рди, рдЕрдкрдиреЗ рдмрдЪреНрдЪреЗ рдХреЗ рдирд╛рдорд╕реНрдерд╛рди рдФрд░ рдЗрддрдиреЗ рдкрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ... (32 рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╕реНрддрд░ рдХреА рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рддрдХ)ред рдЬрдм рдПрдХ рдирдпрд╛ рдирд╛рдо рд╕реНрдерд╛рди C рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ Linux рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ P рдХреЗ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди C рдХреЛ C рдХреЗ рд▓рд┐рдП рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреА рдПрдХ рдкреЗрдбрд╝ рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред рдФрд░, рдкреЗрдбрд╝реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдирд┐рдпрдо рдХрд╛ рдПрдХ рдЕрдкрд╡рд╛рдж рд╕рдмрд╕реЗ рдКрдкрд░ рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореВрд▓ (рдпрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдирд╛рдо рд╕реНрдерд╛рди рд╣реИред рдпрд╣, рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдВрдЯреЗрдирд░ рдореИрдЬрд┐рдХ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗрдорд╕реНрдкреЗрд╕, рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреА рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рд╕реНрдЯрдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рд╣реИред
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо рдЙрд╕ рд╢реЗрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдкреНрд░реЙрдореНрдкреНрдЯ P $ рдФрд░ C $ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореВрд▓ P рдФрд░ рдЪрд╛рдЗрд▓реНрдб C рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдЗрди рдЖрдИрдбреА рдХреЛ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ - рдпрд╣ рдпреБрдЧрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЖрдИрдбреА рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
P$ whoami iffy P$ id uid=1000(iffy) gid=1000(iffy)
рдПрдХ рдЕрдиреНрдп рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдЖрдЗрдП рдЦреЛрд▓ рдХреЛ unshare
рд╢реБрд░реВ unshare
( -U
рдзреНрд╡рдЬ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рддрд╛ рд╣реИ):
P$ whoami iffy P$ unshare -U bash
рдПрдХ рдорд┐рдирдЯ рд░реБрдХрд┐рдП, рдХреМрди? рдЕрдм рдЬрдм рд╣рдо C рдореЗрдВ рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рд╢реЗрд▓ рдореЗрдВ рд╣реИрдВ, рддреЛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдИ рдирд╣реАрдВ рд╣реИ? рд╣рдордиреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЪреВрдВрдХрд┐ рд╕реА рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рддрд░рд╣ рдХреА рдЖрдИрдбреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╢рд╛рдпрдж рдЙрд╕рд╕реЗ iffy
рд░рд╣рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ, рд▓реЗрдХрд┐рди nobody
рдордЬрд╛рдХрд┐рдпрд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╡рд╣ рдЕрд▓рдЧрд╛рд╡ рдорд┐рд▓рд╛ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рдереЗред рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдм рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдЕрд▓рдЧ (рдпрджреНрдпрдкрд┐ рдЯреВрдЯрд╛ рд╣реБрдЖ) рдЖрдИрдбреА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ - рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдореВрд╣ рдХреЛ nogroup
рд░реВрдк рдореЗрдВ nogroup
ред
рдпреВрдЖрдИрдбреА рдХреЛ рдПрдХ рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдпреВрдЬрд░ рдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЕрдиреНрдп рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЖрдИрдбреА рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдЖрдИрдбреА рдХреЗ рдорд┐рд▓рд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реБрдХрдЕрдк рддрд╛рд▓рд┐рдХрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рдпреВрдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ (рдЧреНрд░реБрдк рдЖрдИрдбреА рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдореИрдкрд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред
рдпрд╣ рдореИрдкрд┐рдВрдЧ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ unshare
рд╢реЗрд▓ рдореЗрдВ рдЯреВрдЯреА рд╣реБрдИ рд╣реИред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рд░рд┐рдХреНрдд рдорд╛рдирдЪрд┐рддреНрд░рдг рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд▓рд┐рдирдХреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рднрдпрд╛рдирдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдирдП рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (рдЬреИрд╕реЗ рдХрд┐ setuid
) рдЬреЛ рдХрд┐ рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдбрд░реЛ рдордд! рдСрд▓- рдЯреВ -рдлрд╛рдЗрд▓ рдкрд░рдВрдкрд░рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓рд┐рдирдХреНрд╕ рдЗрд╕ рдореИрдкрд┐рдВрдЧ рдХреЛ /proc
рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо /proc/$pid/uid_map
(GID рдХреЗ рд▓рд┐рдП /proc/$pid/gid_map
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ $pid
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдИрдбреА рд╣реИред рд╣рдо рдЗрди рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдореИрдк рдлрд╛рдЗрд▓ рдХрд╣реЗрдВрдЧреЗ ред
рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ
рдореИрдк рдлрд╛рдЗрд▓реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдХреНрдпрд╛ рд╣реИрдВ рдЦрд╛рд╕? рдЦреИрд░, рд╣рд░ рдмрд╛рд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реА рдЧрдИ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдХреЗ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреНрдпрд╛ рдкрдврд╝ рд░рд╣реА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдк рдлрд╝рд╛рдЗрд▓ /proc/$pid/uid_maps
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рд╕реЗ /proc/$pid/uid_maps
рд╕реЗ рдореИрдкрд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд░реАрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ /proc/$pid/uid_maps
рд▓рд┐рдП $pid
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИред рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, X рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд▓реМрдЯрд╛рдИ рдЧрдИ рд╕рд╛рдордЧреНрд░реА Y рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреА рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдПрдХ рд╣реА рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рддреЗ рд╣реЛрдВред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ X , рдЬреЛ UID рдореИрдк рдлрд╝рд╛рдЗрд▓ /proc/$pid/uid_map
, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ $pid
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди C рдХреА UIDs рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдирдХреНрд╢рд╛ рдмрдирд╛рддреА рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ UIDs рдХреА рд╢реНрд░реЗрдгреА рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред
рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ $fromID $toID $length
рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реИ, рдЬрд╣рд╛рдВ:
$fromID
$pid
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рдХрд╛ рд╢реБрд░реБрдЖрддреА рдпреВрдЖрдИрдбреА рд╣реИ$lenght
рд╕реАрдорд╛ рдХреА рд▓рдВрдмрд╛рдИ рд╣реИред$toID
рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкрдврд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ X рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ X рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди U рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ , рддреЛ $toID
, U рд╕реЗ рдЙрд╕ рд╢реНрд░реЗрдгреА рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ UID рд╣реИ, рдЬреЛ $fromID
рд╕реЗ $fromID
ред рдЕрдиреНрдпрдерд╛, $toID
, P рдХреА рд╢реНрд░реЗрдгреА рдХрд╛ рдкреНрд░рд╛рд░рдВрдн UID рд╣реИ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ C рдХреЗ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХреЛрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓ /proc/1409/uid_map
рдФрд░ рдкреНрд░рд╛рдкреНрдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЖрдк 15 22 5
рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди 1409
UIDs рд╕реЗ 1409
рд░реАрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреА UID 22-26 рдкрд░ рдореИрдк рдХреА рдЬрд╛рддреА рд╣реИрдВред
рджреВрд╕рд░реА рдУрд░, рдпрджрд┐ рдХреЛрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓ /proc/$$/uid_map
(рдпрд╛ рдкрдврд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдорд╛рди рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдирдХреНрд╢рд╛ рдлрд╝рд╛рдЗрд▓) рдФрд░ 15 22 5
рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ 15 рд╕реЗ 19 рддрдХ рдпреВрдЖрдИрдбреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди C рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдЬрдирдХ рдХреЗ 22 рд╕реЗ 26 рддрдХ UIDs рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИред
рдЖрдЗрдП рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдБ:
P$ echo $$ 1442
рдЦреИрд░, рдпрд╣ рдмрд╣реБрдд рд░реЛрдорд╛рдВрдЪрдХ рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рджреЛ рдЪрд░рдо рдорд╛рдорд▓реЗ рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдмрд╛рддреЗрдВ рдХрд╣рддреА рд╣реИрдВ:
- рдирдП рдмрдирд╛рдП рдЧрдП рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд╛рд▓реА рдореИрдк рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреАред
- рдпреВрдЖрдИрдбреА 4294967295
root
рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рдФрд░ рдЕрдиреБрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдЗрд╕ рдпреВрдЖрдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред
рдпреВрдЖрдИрдбреА рдореИрдк рдлрд╛рдЗрд▓ рд▓рд┐рдЦрдирд╛
рд╣рдорд╛рд░реЗ рдирдП рдмрдирд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди C рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдмрд╕ C рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓рд┐рдЦрдХрд░ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХ рдореИрдкрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рдиреА рд╣реЛрдЧреА (рд╣рдо рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦрдирд╛ рд▓рд┐рдирдХреНрд╕ рдХреЛ рджреЛ рдмрд╛рддреЗрдВ рдмрддрд╛рддрд╛ рд╣реИ:
- UIDs рдЙрди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдЬреЛ рд▓рдХреНрд╖реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди C рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ ред
- рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдХреМрди рд╕рд╛ рдпреВрдЖрдИрдбреА рд╕реА рдореЗрдВ рдпреВрдЖрдИрдбреА рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдмрдЪреНрдЪреЗ C рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдореИрдк рдлрд╛рдЗрд▓ рдореЗрдВ рдкреЗрд░реЗрдВрдЯ рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ P рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
0 1000 1 3 0 1
рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐:
- рд╕реА рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореМрдЬреВрдж рдПрдХрдорд╛рддреНрд░ рдпреВрдЖрдИрдбреА, рдпреВрдЖрдИрдбреА
0
рдФрд░ 3
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, setuid(9)
рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╣рдореЗрд╢рд╛ рдЕрдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдЧреАред - рдкреА рдореЗрдВ рдпреВрдЖрдИрдбреА
1000
рдФрд░ 0
рдкреА рдореЗрдВ рдпреВрдЖрдИрдбреА 0
рдФрд░ 3
рдЕрдиреБрд░реВрдк рд╣реИрдВ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ P рдХреЗ C рдореЗрдВ UID 1000
рд╕рд╛рде рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ , рддреЛ рдпрд╣ рдкрд╛рдПрдЧрд╛ рдХрд┐ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХрд╛ UID root
0
рд╣реЛ рдЧрдпрд╛ root
ред
рдирд╛рдо рд╕реНрдерд╛рди рдФрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдорд╛рд▓рд┐рдХ
рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдордиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдХрд┐ рдирдП рдирд╛рдорд╕реНрдерд╛рди рдмрдирд╛рддреЗ рд╕рдордп, рд╕реБрдкрд░рдпреБрд╕рд░ рд▓реЗрд╡рд▓ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдЗрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдиреНрдп рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ред
рдЬрдм рднреА рдПрдХ рдЧреИрд░-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди N рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рддреЛ Linux рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо P рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ N рдХреЛ рдирд╛рдо рд╕реНрдерд╛рди N рдХрд╛ рд╕реНрд╡рд╛рдореА рдмрдирд╛рддрд╛ рд╣реИ ред рдпрджрд┐ рдкреА рдПрдХ рд╣реА clone
рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рдЕрдиреНрдп рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рд▓рд┐рдирдХреНрд╕ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреА рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЕрдиреНрдп рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рдорд╛рд▓рд┐рдХ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдореА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдЬреЛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдпреВрдЖрдИрдбреА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдорд╛рд▓рд┐рдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рдВрдЪреЗ рд╣реЛрдВрдЧреЗ, рди рдХрд┐ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рдиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ P , рдмрдЪреНрдЪреЗ C рдХрд╛ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рд╣реИ , рдФрд░ P рдФрд░ C рдХрд╛ рдЕрдкрдирд╛ рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕ M рдФрд░ N рд╣реИред рдПрдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрди рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рдорд╛рд▓рд┐рдХ рд╣реЛрдиреЗ рдХрд╛ рдирддреАрдЬрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдХрд┐рд╕реА рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдпрд╛ isolate
рдХрд░рддреЗ рд╕рдордп рд╣рдо sudo
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, unshare -u bash
рдХреЛ sudo
рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди unshare -Uu bash
рдЕрдм рдирд╣реАрдВ рд╣реЛрдЧрд╛:
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдо рдЕрдЧрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рд╕реБрдкрд░рдпреБрдЬрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЙрдВрдЯ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ root
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ root
ред рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдХрд┐ рдЯреАрдо рдХреЗ рдкрд╛рд╕ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред
рдЖрдИрдбреА рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╣рдордиреЗ рдмрд╕ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1000
рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рджреЗрдЦрд╛ рдЬреЛ рдЕрдЪрд╛рдирдХ root
рдмрджрд▓ рдЧрдпрд╛ред рдЪрд┐рдВрддрд╛ рдордд рдХрд░реЛ, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╕реНрддрд╛рд░ рдирд╣реАрдВ рдерд╛ред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдореИрдкрд┐рдВрдЧ рдЖрдИрдбреА рд╣реИ: рдЬрдмрдХрд┐ рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЛрдЪрддреА рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкрд░ root
рд╣реИ, рд▓рд┐рдирдХреНрд╕ рдЙрд╕ root
рдЬрд╛рдирддрд╛ рд╣реИ - рдЗрд╕рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рд╛рдорд╛рдиреНрдп рдпреВрдЖрдИрдбреА 1000
(рд╣рдорд╛рд░реЗ рдореИрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)ред рдРрд╕реЗ рд╕рдордп рдореЗрдВ рдЬрдм рдЙрдирдХреЗ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди (рдЬреИрд╕реЗ C рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдирд╛рдорд╕реНрдерд╛рди) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рдорд╕реНрдерд╛рди рдЙрдирдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ root
рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ, рдЕрдиреНрдп (рдЬреИрд╕реЗ P рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдирд╛рдорд╕реНрдерд╛рди) рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреБрдЫ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1000
рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЬрдм рднреА рдХрд┐рд╕реА рдиреЗрд╕реНрдЯреЗрдб рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдСрдкрд░реЗрд╢рди рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдЬрд╛рдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реБрдП - рдЗрд╕ рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдЗрд╕рдХреЗ рдпреВрдЖрдИрдбреА рдХреА рддреБрд▓рдирд╛ рд░реВрдЯ рдпреВрдЬрд╝рд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рд╕рдордХрдХреНрд╖ рдпреВрдЬрд░ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдиреЗрдорд╕реНрдкреЗрд╕ рдЯреНрд░реА рдореЗрдВ рдореИрдкрд┐рдВрдЧ рдХреЛ рд░реВрдЯ рдХрд░рдХреЗ рд░реВрдЯ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдЖрдВрджреЛрд▓рди рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдкрдврд╝рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо ls -l my_file
рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред рдорд╛рд▓рд┐рдХ my_file
UID рдХреЛ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди рд╕реЗ рд╡рд░реНрддрдорд╛рди рдПрдХ рдФрд░ рдЕрдВрддрд┐рдо рд╕рдВрдмрдВрдзрд┐рдд ID (рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдореИрдкрд┐рдВрдЧ рдЕрдиреБрдкрд╕реНрдерд┐рдд рдереА, рддреЛ рдкреВрд░реЗ рд╡реГрдХреНрд╖ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ) рд╕реЗ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдореВрд╣ рдЖрдИрдбреА
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕реА рдореЗрдВ рдЬрдбрд╝ рдереЗ, рддрдм рднреА рд╣рдо рдЕрдкрдиреЗ рд╕рдореВрд╣ рдЖрдИрдбреА рдХреЗ рд░реВрдк рдореЗрдВ рднрдпрд╛рдирдХ nogroup
рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рд╣рдореЗрдВ рдмрд╕ рдЗрд╕реА /proc/$pid/gid_map
рд▓рд┐рдП рд╕рдорд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░ рд╕рдХреЗрдВ, рд╣рдореЗрдВ setgroups
рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА P рдореЗрдВ CAP_SETGID
рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдирд╣реАрдВ рдорд╛рдиреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ CAP_SETGID
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ) рдЗрд╕ рдЗрдирдХрд╛рд░ рдХреЛ рд▓рд┐рдЦрдХрд░ред "рдлрд╝рд╛рдЗрд▓ рдХреА рдЦрд░реАрдж proc/$pid/setgroups
:
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рд╕реЗ рдЬреБрдбрд╝реА рдХрдИ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИ - рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХрд╣рд╛рдБ рд▓рд┐рдЦрдирд╛ рд╣реИред рдЖрдЧреЗ рдХреА рд╣рд▓рдЪрд▓ рдХреЗ рдмрд┐рдирд╛, рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рд▓рдХреНрд╖реНрдп рд╣реИрдВ:
- рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдПрдХ рдЯреАрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВред
- рдЯреАрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдорд╛рдирдЪрд┐рддреНрд░-рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
- рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рд╕реБрдкрд░рд╕реБрд╕рд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВред
1
рд╣рдорд╛рд░реЗ clone
рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рдХреЗрд╡рд▓ CLONE_NEWUSER
рдзреНрд╡рдЬ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
int clone_flags = SIGCHLD | CLONE_NEWUTS | CLONE_NEWUSER;
2
рд╣рдо prepare_user_ns
рдлрд╝рдВрдХреНрд╢рди рдХреЛ prepare_user_ns
рд╣реИрдВ, рдЬреЛ root
рд░реВрдк рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдПрдХ рдирд┐рдпрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1000
рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ root
ред
static void prepare_userns(int pid) { char path[100]; char line[100]; int uid = 1000; sprintf(path, "/proc/%d/uid_map", pid); sprintf(line, "0 %d 1\n", uid); write_file(path, line); sprintf(path, "/proc/%d/setgroups", pid); sprintf(line, "deny"); write_file(path, line); sprintf(path, "/proc/%d/gid_map", pid); sprintf(line, "0 %d 1\n", uid); write_file(path, line); }
рдФрд░ рд╣рдо рдЗрд╕реЗ рдХрдорд╛рдВрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдореБрдЦреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдХрд╣реЗрдВрдЧреЗред
...
рдЪрд░рдг 3
рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП cmd_exec
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдорд╛рдВрдб рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЕрдкреНрд░рднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1000
рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдореИрдкрд┐рдВрдЧ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИ (рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЯреАрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 0
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 1000
):
...
рдФрд░ рд╡рд╣ рд╕рдм рд╣реИ! isolate
рдЕрдм рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
$ ./isolate sh ===========sh============ $ id uid=0(root) gid=0(root)
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдереЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рджрд░реНрдж рд░рд╣рд┐рдд рдереАред рдЕрдЧрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ, рд╣рдо isolate
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдорд╛рдЙрдВрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ ( Dockerfile
рд╕реЗ FROM
рдмрдпрд╛рди рдХреЗ рдкреАрдЫреЗ рдХреЗ рд░рд╣рд╕реНрдп рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреЗ Dockerfile
)ред рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХреА рдереЛрдбрд╝реА рдФрд░ рдорджрдж рдХрд░рдиреА рд╣реЛрдЧреАред