Журнал қосылады, бірақ қайта құрылмайды: каталогтің 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 рұқсат ететін операцияны қабылдамауы мүмкін.
Бірліктің файлдық жүйе шектеулерін және жолдың монтилеу опцияларын тексеріңіз, содан кейін сәтсіз болған дәл операцияны қайталаңыз. Ешқашан сұралмаған рұқсатты кеңейту қай шектеудің шынайы болғанын ғана жасырады. Бір реттік бірлікте шектеулерді бір-бірлеп алып тастаңыз және тұрақты нәрсені өзгерту алдында оны қайтарыңыз.