Право претраге у сваком директоријуму пре кључа
Кључ може бити 0600 и ипак одбити да се отвори када надређени директоријум блокира пролаз. Прођите целу путању као сервисни налог пре него што промените било који режим.
Режим 0600 и исправан власник не гарантују да сервис може да отвори кључ. Дозвола која недостаје обично је на директоријуму изнад. Linux разлаже путању једну компоненту по једну, а сваки корак захтева право претраге пре него што се покуша следећи. Читајте целу путању, а не последњи ред списка.
Право читања је последњи корак, а не једини
Отварање датотеке захтева да језгро прође од корена или радног директоријума кроз сваку компоненту путање. Директоријум без права претраге зауставља тај пролаз грешком дозволе. Режим саме датотеке се никада не проверава, па потпуно читљив кључ изгледа нечитљиво. Грешка често долази при отварању без именовања директоријума, и зато се окривљује последња датотека.
За директоријум, бит извршавања значи претрагу, а не извршавање садржаја. Кључ остаје податак, и ниједан део ове поправке не захтева да се означи као извршни.
Прођите путању као сервисни налог
Наведите сваку компоненту са њеним власником и режимом, затим поновите читање као стварни идентитет сервиса. Разлика између ваше љуске и демона често је цео одговор. Пратите симболичке везе до правог циља, јер се проверава решена путања.
namei -l /etc/openvpn/client/office.key
sudo -u vpn-reader stat -c '%A %U:%G %n' /etc/openvpn/client/office.key
Сервис може да отвара датотеке и у више од једне фазе. Део материјала се чита током привилегованог подешавања, док се друге датотеке отварају након одбацивања привилегија. Root љуска која чита датотеку не репродукује приступ каснијег радника. Простор имена за монтирање може да прикаже другачији поглед на исту путању, посебно у контејнеру, па упоредите поглед на датотечки систем демона са својим.
Промените најтешњу дозволу која одговара
Изаберите најмање уређење које процесу даје приступ: контролисана група са претрагом на потребним директоријумима, управљано место које сервис већ поседује, или други документовани механизам. Читање датотеке не захтева дозволу за писање на њеном директоријуму. Широка дозвола за писање групе на привилегованој конфигурацији није уобичајена поправка пролаза. Ни рекурзивни 0777 није решење.
Забележите коју компоненту сте променили и зашто. Промену дозволе без забележеног разлога тешко је прегледати и лако заборавити.
Иза режима гледајте тек после пролаза
Ако битови режима изгледају довољни, преостале провере су ACL, безбедносна политика и ограничења sandbox-а. ACL може дати приступ који битови режима означавају као одсутан, или одбити приступ који изгледа да дозвољавају. Те поставке припадају постојећем власнику конфигурације, и треба их подесити уско уместо искључити. Разлика у корену или радном директоријуму такође може објаснити апсолутну путању која ради у једном контексту, а не успева у другом.
Не губите из вида шта је датотека док поправљате приступ. CA сертификат је јаван по дизајну, приватни кључ није. Датотеке које клијент преписује такође захтевају другачија права писања од кључа идентитета који је само за читање. Прегледајте метаподатке без штампања тајни, затим потврдите да сам сервис ради после промене. Кратка белешка у документацији сервиса штеди следећој особи исти пролаз.