🐧 Как ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Linux

ΠŸΡ€ΠΈ использовании Linux Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов управлСния доступом ΠΊ рСсурсам: самый основной – это установка ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π² UGO/RWX Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ setuid, setgid ΠΈ sticky bit.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ACL (список контроля доступа) для достиТСния Π±ΠΎΠ»Π΅Π΅ высокого уровня Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° основС SELinux ΠΈΠ»ΠΈ AppArmor.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹ΠΌ стратСгиям, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ΠΎΠΌ β€œΠ°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²β€, Ρ‡Ρ‚ΠΎΠ±Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» нСизмСняСмым.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Linux, ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρƒ, ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ.

Π’Ρ‹Π²ΠΎΠ΄ списка Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ²

Для составлСния списка Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Linux ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ lsattr, которая Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ e2fsprogs Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных дистрибутивов Linux (нСсмотря Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ ext2/3/4, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, xfs).

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ряд ΠΎΠΏΡ†ΠΈΠΉ для измСнСния своСго повСдСния.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π΅ использования.

Когда lsattr вызываСтся Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠΏΡ†ΠΈΠΉ, ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², связанных с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ, содСрТащимися Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° ls:

lsattr
--------------e------- ./Templates
--------------e------- ./Downloads
--------------e------- ./Projects
--------------e------- ./Documents
--------------e------- ./Desktop
--------------e------- ./Music
--------------e------- ./Public
--------------e------- ./Videos
--------------e------- ./Pictures

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ я Π²Ρ‹Π·Π²Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ HOME.

Из Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ присвоСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ thee: это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ β€œΡΠΊΡΡ‚Π΅Π½Ρ‚Ρ‹β€ для отобраТСния Π±Π»ΠΎΠΊΠΎΠ² Π½Π° дискС (это связано с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ файловая систСма ext4).

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, скрытыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Π²Ρ‹Π²ΠΎΠ΄; Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -a.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° рСкурсивно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ -R, ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° вмСсто Π΅Π³ΠΎ содСрТимого, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ -d.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΎΠΏΡ†ΠΈΠ΅ΠΉ являСтся -l, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², связанных с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, вмСсто ΠΎΠ΄Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ…:

lsattr -l
./Templates Extents
./Downloads Extents
./Projects Extents
./Documents Extents
./Desktop Extents
./Music Extents
./Public Extents
./Videos Extents
./Pictures Extents

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² руководствС ΠΊ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ chattr, которая, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π² блиТайшСС врСмя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установки ΠΈΠ»ΠΈ удалСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… (Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах – β€œj”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ext2, которая Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ логирования):

ΠΡ‚Ρ€ΠΈΠ±ΡƒΡ‚Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
aЕсли Ρ„Π°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ a, содСрТимоС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΊ Π½Π΅ΠΌΡƒ.
cΠ€Π°ΠΉΠ» с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ c ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ сТимаСтся ядром ΠΏΡ€ΠΈ записи ΠΈ распаковываСтся ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ.
iΠ€Π°ΠΉΠ» с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ i Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ (нСизмСняСмый).
sΠ€Π°ΠΉΠ» с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ s автоматичСски обнуляСтся ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ.
jΠ€Π°ΠΉΠ» с установлСнным Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ j записываСт Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΆΡƒΡ€Π½Π°Π» Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Π΄ΠΎ фактичСской записи.

Установка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для назначСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², – это chattr; Π΅Π΅ синтаксис довольно прост: Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Ρ„Π°ΠΉΠ»Ρƒ, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π·Π½Π°ΠΊ +, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π±ΡƒΠΊΠ²Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ (Ρ„Π°ΠΉΠ»Π°ΠΌ), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» (допустим, ΠΎΠ½ называСтся example.txt), ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΌΡƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ a, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ пСрСзаписи Π΅Π³ΠΎ содСрТимого. Π’ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:

sudo chattr +a example.txt

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ приписали ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ sudo, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ root.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π±Ρ‹Π» присвоСн Ρ„Π°ΠΉΠ»Ρƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ lsattr:

lsattr -l example.txt
example.it Append_Only, Extents

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ попытаСмся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСнаправлСния > Π½Π° shell, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

echo "line" > example.txt
bash: example.txt: Operation not permitted

Если вмСсто этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ пСрСнаправлСния >>, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ содСрТимоС добавляСтся Π² Ρ„Π°ΠΉΠ», ошибок Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚:

echo "line" >> example.txt

Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Атрибут i ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» нСизмСняСмым ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ для удалСния ΠΈΠ»ΠΈ пСрСмСщСния Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ root (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅):

sudo chattr +i example.txt
sudo rm example.txt
rm: cannot remove 'example.txt': Operation not permitted

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², достаточно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ β€œΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€β€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² chattr.

ВмСсто + ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ -.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° β€œexample.txt” Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ i ΠΈ a, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π·Π°Π΄Π°Π»ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

sudo chattr -ai example.txt

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ β€œΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽβ€ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ, ΠΏΠΎ сути, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: β€œΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΡ€ΠΎΠΌΠ΅ указанных”: для примСнСния этой стратСгии ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ =.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом руководствС ΠΌΡ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ список ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ β€œlsattr” ΠΈ β€œchattr”, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ β€œi” (нСизмСняСмый) ΠΈΠ»ΠΈ β€œa” (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для добавлСния).

НСкоторыС Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²: ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ руководствам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… Π² Ρ†Π΅Π»ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚.

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!