Журнал кошулат, бирок кайра түзүлбөйт: каталогдун ACL'ин текшериңиз
Файлга кошуу анын каталогунда жаңы атты талап кылбайт; түзүү талап кылат. Бир нерсени кеңейтүүдөн мурун кирүү ACL'ин мурасталган демейки маанилер менен салыштырыңыз.
Туруктуу өсүп жаткан журнал бир нерсе аны кайра түзгөн учурда өсүүнү токтотот, жана ката укук берилген жок деп айтат. Кызыктырар тыянак — журнал файлынын өзүнө көбүрөөк укук керек, бирок файл ошол эле аккаунт үчүн мурунтан эле жазылуучу болушу мүмкүн. Бар атка кошуу жана жаңы ат түзүү эки башка текшерүү, жана экинчиси гана каталогго кайрылат.
Кошуу жана түзүү — ар башка текшерүүлөр
Бар файлды кошуу үчүн ачуу ошол файлга жазуу укугун жана анын жолундагы ар бир каталогго издоо укугун талап кылат. Файл түзүү аны камтыган каталогго жазуу жана издоону талап кылат, анткени операция ага ат кошот. Файлды кайра атоо аркылуу алмаштыруу эки каталогго жана алардын sticky-bit эрежелерине да тиет.
| Operation | What must permit it | Typical failure message |
|---|---|---|
| Append to an existing log | File write access, path traversal | Permission denied on the file |
| Create a missing log | Directory write and search access | Permission denied on the path |
| Rename a replacement into place | Both directories, plus sticky restrictions | Permission denied or operation not permitted |
Мурунтан ачык дескриптор төртүнчү учурду кошот. Процесс артыкчылыктардан баш тартканга чейин ачылган жазуу туткасын кармап, кийинки инсандыгы менен ошол эле жолду кайра ача албашы мүмкүн. Ийгиликтүү кошуулар жана ийгиликсиз түзүү бир эле учурда, бир эле процесс үчүн экөө тең чын болушу мүмкүн.
Демейки ACL'дер мураска өтөт, алар бербейт
Демейки префикс менен башталган жазуу жаңы объектилер каталогдон эмнени мураска аларын сүрөттөйт. Ал каталогдун өзүнө эч нерсе бербейт жана мурунтан бар файлдын ACL'ин оңдобойт.
namei -l /var/log/openvpn/server.log
getfacl -p /var/log/openvpn
getfacl -p /var/log/openvpn/server.log
Кирүү жазууларын демейкилерден өзүнчө окуңуз, жана масканы окуңуз. Толук укуктарды тизген аттуу жазуу да маска менен чектелиши мүмкүн, ошондуктан effective комментарий биринчи саптагы тамгалардан маанилүүрөөк.
Конфигурациядагы жолдун ордуна чечилген жолду колдонуңуз. Символдук шилтеме, монтилөө чекити же айландырылган каталог чыныгы файлды сиз берген укук эч качан жетпеген жерге коюшу мүмкүн. Адегенде ат куралы менен жолду басып өтүңүз, анан ар бир деңгээлди каралып жаткан аккаунт менен салыштырыңыз. Жогорку деңгээлдеги каталогду болжолдоо — оңдоонун бир деңгээл өтө бийик түшүшүнүн жолу.
Ошол учурда ким жазарын аныктаңыз
Бир нерсени өзгөртүүдөн мурун кызмат бирдигин, анын drop-in'дерин жана демондун өзүнүн аккаунт жөндөөлөрүн текшериңиз. Кошуучу процесс менен кайра түзүүчү процесс башка болушу мүмкүн: айландыруу жардамчысы, статус жазуучусу жана веб-окуучу сейрек бирдей инсандыкты бөлүшөт.
root кабыгында жүргүзүлгөн сыноо чектелген кызматты кайталабайт, жана кызмат ийгиликсиз болуп турганда ал ийгиликтүү болот. Ийгиликсиз операцияны ошол эле бирдиктин астында, ошол эле аккаунт жана ошол эле sandbox жөндөөлөрү менен кайталаңыз. Эгер муну кыла албасаңыз, бирдикти убактылуу кабык менен баштаңыз жана ал билдирген инсандыкты текшериңиз. Калгандын баары кызматты эмес, сиздин терминалды өлчөйт.
Эгер түзүү чындап эле керек болсо, жазуучуга атайын журнал каталогуна кирүү укугун бериңиз, ал эми керектөөчүлөр үчүн окуу кирүүсүн өзүнчө кармаңыз. Бир logging чакырыгын канааттандыруу үчүн жалпы аккаунтту же бүт колдонмо дарагын жазылуучу кылуу кичине маселени чоңго алмаштырат.
Кайра киргизбей айландырыңыз
Файлды кайра түзгөн адам кийинки цикл үчүн анын ээсин жана режимин чечет, ошондуктан оңдоону айландыруу конфигурациясы менен шайкештештириңиз. Башка аккаунттун астында же жаңы ACL менен түзүлгөн алмаштыргыч ийгиликтүү оңдоодон кийин бузулушту кайтарат.
Режимди жана топту түзүү учурунда коюңуз, кийин эмес, жана кийинки кошууну эмес, кийинки айландырууну текшериңиз. Кошуу мурун өткөн сыноону гана кайталайт. Эгер айландыруу куралы түзүү режиминин жөндөөсүн сунуштаса, аны түзүүдөн кийинки chmod ордуна колдонуңуз. Түзүү менен chmod ортосундагы ажырым — кийинки жазуу ийгиликсиз болушу мүмкүн болгон так ошол учур.
Кесүү баары бир ийгиликсиз болсо, укуктарды кошууну токтотуңуз
Сиз жаза алган файлды кесүүнүн ийгиликсиздиги каталог укуктары менен түшүндүрүлбөйт, жана аларды көбүрөөк кошуу жардам бербейт. Анын ордуна атрибуттарга жана чектөөгө көз чаптырыңыз: append-only атрибуту жазууга кошуу режиминде гана уруксат берет, ал эми окууга гана арналган монтилөө же кызматтын sandbox'ы ACL уруксат берген операцияны четке кагышы мүмкүн.
Бирдиктин файлдык система чектөөлөрүн жана жолдун монтилөө опцияларын текшериңиз, анан ийгиликсиз болгон так операцияны кайталаңыз. Эч качан суралбаган укукту кеңейтүү кайсы чектөө чыныгы болгонун гана жашырат. Бир жолу колдонулуучу бирдикте чектөөлөрдү бир-бирден алып салыңыз, жана туруктуу нерсени өзгөртүүдөн мурун аны кайтарыңыз.