MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тЖТ

рдЧрдгрдирд╛ рджрд░реНрдЬ рдХрд░реЗрдВ

рд╕реВрддреНрд░ (рдлреЙрд░реНрдореВрд▓рд╛)

рд╡рд┐рдЬреНрдЮрд╛рдкрди

рдкрд░рд┐рдгрд╛рдо

chmod рдСрдХреНрдЯрд▓ рдореЛрдб
000
---------
рдУрдирд░ рдЕрдВрдХ 0
рдЧреНрд░реБрдк рдЕрдВрдХ 0
рдЕрдиреНрдп рдЕрдВрдХ 0
рдХрдорд╛рдВрдб chmod 000 file

Chmod рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреНрдпрд╛ рд╣реИ?

Chmod рдХреИрд▓рдХреБрд▓реЗрдЯрд░ Unix/Linux рдлрд╝рд╛рдЗрд▓ рдкрд░рдорд┐рд╢рди рдХреЛ рдЙрд╕ рдиреНрдпреВрдореЗрд░рд┐рдХ (рдСрдХреНрдЯрд▓) рдиреЛрдЯреЗрд╢рди рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ chmod рдХрдорд╛рдВрдб рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд┐рдВрдмреЙрд▓рд┐рдХ rwxrwxrwx рд╕реНрдЯреНрд░рд┐рдВрдЧ рднреА рджреЗрддрд╛ рд╣реИред Unix рдЬреИрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╣рд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рддреАрди рдкрд░рдорд┐рд╢рди рдЧреНрд░реБрдк рд╣реЛрддреЗ рд╣реИрдВ тАФ рдУрдирд░ (рдорд╛рд▓рд┐рдХ), рдЧреНрд░реБрдк рдФрд░ рдЕрдиреНрдп тАФ рдФрд░ рд╣рд░ рдЧреНрд░реБрдк рдХреЛ read, write рд╡ execute рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдЯреВрд▓ рдХрд┐рд╕реА рднреА POSIX рд╕рд┐рд╕реНрдЯрдо (Linux, macOS, BSD) рдкрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╣рд░ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЬреЛ рдкрд░рдорд┐рд╢рди рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдмреЙрдХреНрд╕ рдкрд░ рдЯрд┐рдХ рдХрд░реЗрдВред рдУрдирд░ рдкрдВрдХреНрддрд┐ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреА рд╣реИ, рдЧреНрд░реБрдк рдкрдВрдХреНрддрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЧреНрд░реБрдк рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЛ, рдФрд░ рдЕрдиреНрдп рдкрдВрдХреНрддрд┐ рдмрд╛рдХреА рд╕рднреА рдХреЛред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рддреБрд░рдВрдд 3-рдЕрдВрдХреАрдп рдСрдХреНрдЯрд▓ рдореЛрдб рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк chmod 755 file рдЬреИрд╕реА рдХрдорд╛рдВрдб рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╕рд┐рдВрдмреЙрд▓рд┐рдХ рд░реВрдк рднреАред

рдлрд╝реЙрд░реНрдореВрд▓рд╛ рд╕рдордЭреЗрдВ

рд╣рд░ рдкрд░рдорд┐рд╢рди рдХрд╛ рдПрдХ рдорд╛рди рд╣реЛрддрд╛ рд╣реИ: read = 4, write = 2, execute = 1. рд╣рд░ рдЧреНрд░реБрдк рдХреЗ рд▓рд┐рдП рджреА рдЧрдИ рдкрд░рдорд┐рд╢рди рдХреЗ рдорд╛рди рдЬреЛрдбрд╝рдХрд░ 0 рд╕реЗ 7 рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрдХ рдорд┐рд▓рддрд╛ рд╣реИ:

$$\text{Chmod} = \underbrace{\left(4\,\text{r} + 2\,\text{w} + \text{x}\right)}_{\text{Owner}} \;\underbrace{\left(4\,\text{r} + 2\,\text{w} + \text{x}\right)}_{\text{Group}} \;\underbrace{\left(4\,\text{r} + 2\,\text{w} + \text{x}\right)}_{\text{Other}}$$

\(\text{рдЕрдВрдХ} = 4 \cdot r + 2 \cdot w + 1 \cdot x\)

рддреАрдиреЛрдВ рдЕрдВрдХ рдУрдирд░-рдЧреНрд░реБрдк-рдЕрдиреНрдп рдХреЗ рдХреНрд░рдо рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЕрдВрддрд┐рдо рдореЛрдб рдмрдирддрд╛ рд╣реИред

рдЕрдиреБрдорддрд┐ рдЧреНрд░рд┐рдб рдЬреЛ рдорд╛рд▓рд┐рдХ, рд╕рдореВрд╣ рдФрд░ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП read, write, execute рдмрд┐рдЯ рдФрд░ рдЙрдирдХреЗ рдСрдХреНрдЯрд▓ рдорд╛рди рджрд┐рдЦрд╛рддреА рд╣реИ
рдорд╛рд▓рд┐рдХ, рд╕рдореВрд╣ рдФрд░ рдЕрдиреНрдп рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ read (4), write (2) рдФрд░ execute (1) рдмрд┐рдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдЬреБрдбрд╝рдХрд░ рдПрдХ рдСрдХреНрдЯрд▓ рдЕрдВрдХ рдмрдирддреЗ рд╣реИрдВред

рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрджрд╛рд╣рд░рдг

рдорд╛рди рд▓реАрдЬрд┐рдП рдУрдирд░ read, write рдФрд░ execute рдХрд░ рд╕рдХрддрд╛ рд╣реИ (\(4+2+1 = 7\)), рдЧреНрд░реБрдк read рдФрд░ execute рдХрд░ рд╕рдХрддрд╛ рд╣реИ (\(4+0+1 = 5\)), рдФрд░ рдЕрдиреНрдп рднреА read рдФрд░ execute рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (\(4+0+1 = 5\))ред рдирддреАрдЬрд╛ рд╣реИ 755, рд╕рд┐рдВрдмреЙрд▓рд┐рдХ рд░реВрдк rwxr-xr-x тАФ рдХрд┐рд╕реА рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрдЯреЗрдмрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ рдореЛрдб рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдЬреЛ rwxr-xr-- рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдСрдХреНрдЯрд▓ рдорд╛рди 754 рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИ
рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ rwxr-xr-- рдСрдХреНрдЯрд▓ рдореЛрдб 754 рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╡рд╛рд▓

644 рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдУрдирд░ read+write (6), рдЧреНрд░реБрдк read (4), рдЕрдиреНрдп read (4) тАФ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдЬреИрд╕реА рдиреЙрди-рдПрдХреНрдЬрд╝рд┐рдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рд╣реИред

777 рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рд╣рд░ рдХреЛрдИ read, write рдФрд░ execute рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддреЛ рд╣реИ рдкрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдо рддреМрд░ рдкрд░ рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред

рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ execute рдХреНрдпреЛрдВ рдЬрд╝рд░реВрд░реА рд╣реИ? рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ execute рдмрд┐рдЯ рдЖрдкрдХреЛ рдЙрд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдФрд░ рдЕрдВрджрд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд╣рд╛рдБ read рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣рд╛рдБ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЖрдорддреМрд░ рдкрд░ execute рдХреА рднреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИред

рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ: