Найти Π² Π”Π·Π΅Π½Π΅

πŸ” ΠŸΡ€Π°Π²Π° Π² Linux

πŸ“ŒΒ 1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²Π° доступа   ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ дирСктория Π² Linux ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°, Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈ ΠΏΡ€Π°Π²Π° доступа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ трСмя Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π±ΠΈΡ‚ΠΎΠ²:Β Β  r (4) Π§Ρ‚Π΅Π½ΠΈΠ΅ (read) w (2) Π—Π°ΠΏΠΈΡΡŒ (write) x (1) ИсполнСниС (execute) Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€Π°Π²: -rwxr-xr--Β Β 1 user group 1234 Feb 27 10:00 file.txt Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°:Β Β  - - β€” Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° (d β€” дирСктория, - β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», l β€” ссылка ΠΈ Ρ‚. Π΄.)Β Β  - rwx β€” ΠΏΡ€Π°Π²Π° Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°Β Β  - r-x β€” ΠΏΡ€Π°Π²Π° Π³Ρ€ΡƒΠΏΠΏΡ‹Β Β  - r-- β€” ΠΏΡ€Π°Π²Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉΒ Β  βš™οΈΒ 2. ИзмСнСниС ΠΏΡ€Π°Π²:Β chmod Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Β πŸ“Β Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ способ (+,Β -,Β =)Β Β  chmod u+x file.txtΒ Β Β # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ chmod g-w file.txtΒ Β Β # Π£Π±Ρ€Π°Ρ‚ΡŒ Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€Π°Π²ΠΎ Π½Π° запись chmod o=r file.txtΒ Β Β # Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅" для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… chmod a+x script.shΒ Β # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ исполняСмым для всСх Β πŸ“Β Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ способ (Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Π°Ρ нотация)Β Β  КаТдоС ΠΏΡ€Π°Π²ΠΎ обозначаСтся числом:Β Β  - r = 4 - w = 2 - x = 1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€: chmod 755 script.shΒ Β # Π’Π»Π°Π΄Π΅Π»Π΅Ρ† (7) - rwx, Π³Ρ€ΡƒΠΏΠΏΠ° (5) - r-x, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ (5)

πŸ“ŒΒ 1. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²Π° доступа  

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ дирСктория Π² Linux ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°, Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈ ΠΏΡ€Π°Π²Π° доступа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ трСмя Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π±ΠΈΡ‚ΠΎΠ²:Β Β 

r (4) Π§Ρ‚Π΅Π½ΠΈΠ΅ (read)

w (2) Π—Π°ΠΏΠΈΡΡŒ (write)

x (1) ИсполнСниС (execute)

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡ€Π°Π²:

-rwxr-xr--Β Β 1 user group 1234 Feb 27 10:00 file.txt

Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ°:Β Β 

- - β€” Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π° (d β€” дирСктория, - β€” ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», l β€” ссылка ΠΈ Ρ‚. Π΄.)Β Β 

- rwx β€” ΠΏΡ€Π°Π²Π° Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°Β Β 

- r-x β€” ΠΏΡ€Π°Π²Π° Π³Ρ€ΡƒΠΏΠΏΡ‹Β Β 

- r-- β€” ΠΏΡ€Π°Π²Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉΒ Β 

βš™οΈΒ 2. ИзмСнСниС ΠΏΡ€Π°Π²:Β chmod

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Β πŸ“Β Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ способ (+,Β -,Β =)Β Β 

chmod u+x file.txtΒ Β Β # Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

chmod g-w file.txtΒ Β Β # Π£Π±Ρ€Π°Ρ‚ΡŒ Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΡ€Π°Π²ΠΎ Π½Π° запись

chmod o=r file.txtΒ Β Β # Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° "Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅" для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…

chmod a+x script.shΒ Β # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ исполняСмым для всСх

Β πŸ“Β Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ способ (Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Π°Ρ нотация)Β Β 

КаТдоС ΠΏΡ€Π°Π²ΠΎ обозначаСтся числом:Β Β 

- r = 4

- w = 2

- x = 1

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

chmod 755 script.shΒ Β # Π’Π»Π°Π΄Π΅Π»Π΅Ρ† (7) - rwx, Π³Ρ€ΡƒΠΏΠΏΠ° (5) - r-x, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ (5) - r-x

chmod 644 file.txtΒ Β Β # Π’Π»Π°Π΄Π΅Π»Π΅Ρ† (6) - rw-, Π³Ρ€ΡƒΠΏΠΏΠ° (4) - r--, ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ (4) - r--

🏷 3. ИзмСнСниС Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°:Β chown

Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ„Π°ΠΉΠ»Π°.Β Β 

Β πŸ“Β ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

chown user file.txtΒ Β Β Β Β Β # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°

chown user:group file.txtΒ Β Β # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ

chown :group file.txtΒ Β Β Β Β # Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Ρ€ΡƒΠΏΠΏΡƒ

chown -R user:group dir/Β Β Β # РСкурсивно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°/Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅

 🎭 4. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ (SUID, GUID, Sticky Bit)Β Β 

Β πŸ†Β SUID (Set User ID)Β Β 

Если установлСн Π½Π° исполняСмом Ρ„Π°ΠΉΠ»Π΅, процСсс выполняСтся ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°, Π° Π½Π΅ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ запустил.Β Β 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β Β 

chmod u+s /usr/bin/passwdΒ Β # Установка SUID

ls -l /usr/bin/passwdΒ Β Β Β 

-rwsr-xr-x 1 root root 53232 Feb 27 10:00 /usr/bin/passwd

(s вмСсто x) Ρƒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ SUID.

Β πŸ…Β GUID (Set Group ID)Β Β 

Если установлСн Π½Π° исполняСмом Ρ„Π°ΠΉΠ»Π΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполняСтся с ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ„Π°ΠΉΠ»Π°.Β Β 

Если установлСн Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, всС созданныС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β Β 

chmod g+s directory/Β Β Β Β Β # Установка SGID Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ

chmod 2755 script.shΒ Β Β Β Β # Установка SGID Ρ‡Π΅Ρ€Π΅Π· числовой ΠΊΠΎΠ΄

ls -ld directory/

drwxr-sr-x 2 user group 4096 Feb 27 10:00 directory/

(s вмСсто x) Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ SGID.

Β πŸ“ŒΒ Sticky BitΒ Β 

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ ΠΊ дирСкториям, запрСщая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ‡ΡƒΠΆΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /tmp).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β Β 

chmod +t /tmpΒ Β Β Β # Установка Sticky Bit

chmod 1777 /tmpΒ # ЭквивалСнтная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² числовом Π²ΠΈΠ΄Π΅

ls -ld /tmp

drwxrwxrwt 10 root root 4096 Feb 27 10:00 /tmp

(t вмСсто x) Ρƒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Sticky Bit.

πŸ”Β 5. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ACL (Access Control List)Β Β 

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²Π°, Ρ‡Π΅ΠΌ стандартная систСма rwx.

πŸ“Β ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ACLΒ Β 

getfacl file.txt

πŸ“Β Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽΒ Β 

setfacl -m u:username:rw file.txt

(ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ username ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΏΡ€Π°Π²Π° rw Π½Π° Ρ„Π°ΠΉΠ».)

Β πŸ“Β Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ Β 

setfacl -x u:username file.txt

Β πŸ“Β ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ACL Π² дирСкториях  

setfacl -m d:u:username:rw directory/

βš™οΈΒ 6. Маска umaskΒ (маска ΠΏΡ€Π°Π²)Β Β 

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²Π°Β Π½Π΅ будут установлСны ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ.

Β πŸ“Β ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎΠ΅Ρ€ΠΊΠ° ACLΒ Β 

umask

Β πŸ“Β Π—Π°Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ControlΒ Β 

umask 022Β Β Β # НовыС Ρ„Π°ΠΉΠ»Ρ‹ 644 (rw-r--r--), Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ 755 (rwxr-xr-x)

umask 077Β Β Β # НовыС Ρ„Π°ΠΉΠ»Ρ‹ 600 (rw-------), Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ 700 (rwx------)

πŸ“ŒΒ Π€ΠΎΡ€ΠΌΡƒΠ»Π°:Β Β 

ΠŸΡ€Π°Π²Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – umask = Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²Π°

Π€Π°ΠΉΠ»Ρ‹: 666 – umask

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ: 777 – umask

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:Β Β 

- umask 022 β†’Β Β 666 - 022 = 644 (rw-r--r--)Β Β 

- umask 077 β†’Β Β 666 - 077 = 600 (rw-------)

πŸ› Β Π‘Ρ‹ΡΡ‚Ρ€Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ настройки ΠΏΡ€Π°Π²

ls -lΒ Β Β Β Β Β # ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΡ€Π°Π² Ρ„Π°ΠΉΠ»ΠΎΠ²

stat file.txtΒ Β # Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π°Ρ информация ΠΎ Ρ„Π°ΠΉΠ»Π΅

chmod 750 file # ИзмСнСниС ΠΏΡ€Π°Π² Ρ„Π°ΠΉΠ»Π°

chown user:group fileΒ Β # ИзмСнСниС Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°

setfacl -m u:username:rw fileΒ Β # Установка ACL

πŸ’‘Β ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:Β Β 

- man chmod

- man chown

- man setfacl

- man umask