Рэжым 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 публічны па задуме, а прыватны ключ — не. Файлы, якія кліент перапісвае, таксама патрабуюць іншых правоў запісу, чым ключ ідэнтычнасці, які толькі чытаецца. Праверце метаданыя, не друкуючы сакрэты, затым пераканайцеся, што сама служба працуе пасля змены. Кароткая нататка ў дакументацыі службы зэканоміць наступнаму чалавеку той жа шлях.

Падобныя артыкулы